diff --git a/CHANGES.md b/CHANGES.md index 0858720bc028..103278c573ee 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,6 +6,7 @@ - Removed individual image-based lighting parameters from `Model` and `Cesium3DTileset`. [#10388](https://github.com/CesiumGS/cesium/pull/10388) - Models and tilesets rendered with `ModelExperimental` must set `enableDebugWireframe` to true in order for `debugWireframe` to work in WebGL1. [#10344](https://github.com/CesiumGS/cesium/pull/10344) +- Removed restriction on enabling `Scene.orderIndependentTranslucency` on iPad and iOS. [#10417](https://github.com/CesiumGS/cesium/pull/10417) ##### Additions :tada: @@ -18,6 +19,7 @@ ##### Fixes :wrench: +- Fixed the rendering issues related to order-independent translucency on iOS devices. [#10417](https://github.com/CesiumGS/cesium/pull/10417) - Fixed the inaccurate computation of bounding spheres for models not centered at (0,0,0) in their local space. [#10395](https://github.com/CesiumGS/cesium/pull/10395) - Fixed the inaccurate computation of bounding spheres for `ModelExperimental`. [#10339](https://github.com/CesiumGS/cesium/pull/10339/) - Fixed error when destroying a 3D tileset before it has finished loading. [#10363](Fixes https://github.com/CesiumGS/cesium/issues/10363) diff --git a/Source/Scene/OIT.js b/Source/Scene/OIT.js index 819b0af44f44..5cbe1ee52cab 100644 --- a/Source/Scene/OIT.js +++ b/Source/Scene/OIT.js @@ -25,7 +25,8 @@ function OIT(context) { this._translucentMultipassSupport = false; this._translucentMRTSupport = false; - const extensionsSupported = context.colorBufferFloat && context.depthTexture; + const extensionsSupported = + context.colorBufferFloat && context.depthTexture && context.floatBlend; this._translucentMRTSupport = context.drawBuffers && extensionsSupported; this._translucentMultipassSupport = !this._translucentMRTSupport && extensionsSupported; diff --git a/Source/Scene/Scene.js b/Source/Scene/Scene.js index 8a3b9a8bfdec..70d57cb90d85 100644 --- a/Source/Scene/Scene.js +++ b/Source/Scene/Scene.js @@ -15,7 +15,6 @@ import destroyObject from "../Core/destroyObject.js"; import DeveloperError from "../Core/DeveloperError.js"; import EllipsoidGeometry from "../Core/EllipsoidGeometry.js"; import Event from "../Core/Event.js"; -import FeatureDetection from "../Core/FeatureDetection.js"; import GeographicProjection from "../Core/GeographicProjection.js"; import GeometryInstance from "../Core/GeometryInstance.js"; import GeometryPipeline from "../Core/GeometryPipeline.js"; @@ -226,9 +225,7 @@ function Scene(options) { this._computeCommandList = []; this._overlayCommandList = []; - // OIT is temporally disabled by default on iPad and iOS mobile due to https://github.com/CesiumGS/cesium/issues/9827 - const defaultOIT = !FeatureDetection.isIPadOrIOS(); - this._useOIT = defaultValue(options.orderIndependentTranslucency, defaultOIT); + this._useOIT = defaultValue(options.orderIndependentTranslucency, true); this._executeOITFunction = undefined; this._depthPlane = new DepthPlane(options.depthPlaneEllipsoidOffset);