Skip to content

Commit 8e4375e

Browse files
authored
Merge pull request #13067 from CesiumGS/chore/deprecation-billboard-legacy-webgl-fallbacks
chore(Billboards): Add deprecation notice for legacy WebGL fallbacks
2 parents 432b993 + 02fe5b5 commit 8e4375e

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

CHANGES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
- Fixes label positioning in workflows that delete and recreate clamped labels [#12949](https://github.com/CesiumGS/cesium/issues/12949)
1010
- Fixes texture coordinates in large billboard collections [#13042](https://github.com/CesiumGS/cesium/pull/13042)
1111

12+
#### Deprecated :hourglass_flowing_sand:
13+
14+
- Beginning in CesiumJS 1.140, billboards and labels will require device support for WebGL 2, or WebGL 1 with ANGLE_instanced_arrays and MAX_VERTEX_TEXTURE_IMAGE_UNITS > 0. For more information or to share feedback, please see [#13053](https://github.com/CesiumGS/cesium/issues/13053). [#13067](https://github.com/CesiumGS/cesium/issues/13067)
15+
1216
## 1.136 - 2025-12-01
1317

1418
### @cesium/engine

packages/engine/Source/Scene/BillboardCollection.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import TextureAtlas from "../Renderer/TextureAtlas.js";
3535
import VerticalOrigin from "./VerticalOrigin.js";
3636
import Ellipsoid from "../Core/Ellipsoid.js";
3737
import WebGLConstants from "../Core/WebGLConstants.js";
38+
import deprecationWarning from "../Core/deprecationWarning.js";
3839

3940
const SHOW_INDEX = Billboard.SHOW_INDEX;
4041
const POSITION_INDEX = Billboard.POSITION_INDEX;
@@ -1784,6 +1785,19 @@ BillboardCollection.prototype.update = function (frameState) {
17841785
}
17851786

17861787
const context = frameState.context;
1788+
1789+
if (
1790+
!context.instancedArrays ||
1791+
!(ContextLimits.maximumVertexTextureImageUnits > 0)
1792+
) {
1793+
deprecationWarning(
1794+
"Billboard-unsupported-ANGLE_instanced_arrays",
1795+
"Beginning in CesiumJS 1.140, billboards and labels will require device support for WebGL 2, " +
1796+
"or WebGL 1 with ANGLE_instanced_arrays and MAX_VERTEX_TEXTURE_IMAGE_UNITS > 0. For more " +
1797+
"information or to share feedback, see: https://github.com/CesiumGS/cesium/issues/13053",
1798+
);
1799+
}
1800+
17871801
this._instanced = context.instancedArrays;
17881802
attributeLocations = this._instanced
17891803
? attributeLocationsInstanced

0 commit comments

Comments
 (0)