@hztxi/cesium-engine 25.0.2 → 25.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Build/ThirdParty/Workers/zip-web-worker.js +761 -520
- package/Build/Workers/chunk-2KZP32NE.js +3201 -0
- package/Build/Workers/chunk-2P5SGQUU.js +44 -0
- package/Build/Workers/chunk-2PFSIZOR.js +959 -0
- package/Build/Workers/chunk-2RC5GQMH.js +82 -0
- package/Build/Workers/chunk-2TM5FET3.js +241 -0
- package/Build/Workers/chunk-2ZYMQXBB.js +519 -0
- package/Build/Workers/chunk-37IVAHRF.js +3201 -0
- package/Build/Workers/chunk-3B2TIEWW.js +73 -0
- package/Build/Workers/chunk-3CSWK42O.js +3648 -0
- package/Build/Workers/chunk-3GDVUAIX.js +1287 -0
- package/Build/Workers/chunk-3HOOLJ6E.js +1483 -0
- package/Build/Workers/chunk-3L5NZHVW.js +288 -0
- package/Build/Workers/chunk-3LQDIJFX.js +2719 -0
- package/Build/Workers/chunk-3MWOYCFC.js +511 -0
- package/Build/Workers/chunk-3Q52BERF.js +476 -0
- package/Build/Workers/chunk-3WIDW5QO.js +1800 -0
- package/Build/Workers/chunk-4L4ZXXL7.js +57 -0
- package/Build/Workers/chunk-4MHUA5ZK.js +163 -0
- package/Build/Workers/chunk-4QK5RZ5I.js +171 -0
- package/Build/Workers/chunk-4RWSLDVO.js +198 -0
- package/Build/Workers/chunk-53HFLKT5.js +76 -0
- package/Build/Workers/chunk-5BVKUNRB.js +368 -0
- package/Build/Workers/chunk-5DJBLQEH.js +56 -0
- package/Build/Workers/chunk-5FNZGB4U.js +368 -0
- package/Build/Workers/chunk-5KOCUIKQ.js +476 -0
- package/Build/Workers/chunk-5PK42ITB.js +219 -0
- package/Build/Workers/chunk-5SGB3BKM.js +73 -0
- package/Build/Workers/chunk-5ZWRS2E6.js +280 -0
- package/Build/Workers/chunk-642GMGGP.js +162 -0
- package/Build/Workers/chunk-65LZTCWG.js +1344 -0
- package/Build/Workers/chunk-6FU5LWYG.js +352 -0
- package/Build/Workers/chunk-6IYEGXEW.js +1344 -0
- package/Build/Workers/chunk-6KWWDFT4.js +278 -0
- package/Build/Workers/chunk-6PYOAYJD.js +1046 -0
- package/Build/Workers/chunk-73DJHI53.js +398 -0
- package/Build/Workers/chunk-73OT3YBQ.js +1054 -0
- package/Build/Workers/chunk-73T2E2OA.js +454 -0
- package/Build/Workers/chunk-752QDGCS.js +778 -0
- package/Build/Workers/chunk-76HD3HYN.js +2342 -0
- package/Build/Workers/chunk-7I4AKIEV.js +58 -0
- package/Build/Workers/chunk-7ZYD7GL6.js +414 -0
- package/Build/Workers/chunk-AH6GJ5MT.js +754 -0
- package/Build/Workers/chunk-ALJYMECF.js +973 -0
- package/Build/Workers/chunk-AM56LGEB.js +352 -0
- package/Build/Workers/chunk-ANGZAKVP.js +257 -0
- package/Build/Workers/chunk-ATT5UEK6.js +97 -0
- package/Build/Workers/chunk-AW3UT5RP.js +97 -0
- package/Build/Workers/chunk-AZGPL6BR.js +38 -0
- package/Build/Workers/chunk-B7SMDRPA.js +476 -0
- package/Build/Workers/chunk-BADQ2G5E.js +837 -0
- package/Build/Workers/chunk-BAPOWX62.js +368 -0
- package/Build/Workers/chunk-BE5ULV4I.js +1800 -0
- package/Build/Workers/chunk-BII4UB3C.js +476 -0
- package/Build/Workers/chunk-BPL3HT2R.js +837 -0
- package/Build/Workers/chunk-BVAMP4M3.js +101 -0
- package/Build/Workers/chunk-BVFS5LSK.js +1067 -0
- package/Build/Workers/chunk-CADDH6MK.js +140 -0
- package/Build/Workers/chunk-CEIY3YH2.js +57 -0
- package/Build/Workers/chunk-CJT3FTZK.js +58 -0
- package/Build/Workers/chunk-CKWUU4JK.js +138 -0
- package/Build/Workers/chunk-CMMHWVUF.js +2719 -0
- package/Build/Workers/chunk-CQNFIAZU.js +56 -0
- package/Build/Workers/chunk-CSUBL77L.js +140 -0
- package/Build/Workers/chunk-CV7K25H3.js +138 -0
- package/Build/Workers/chunk-DHCQSFRN.js +301 -0
- package/Build/Workers/chunk-DKFSOFKR.js +241 -0
- package/Build/Workers/chunk-DLHFYNG6.js +52 -0
- package/Build/Workers/chunk-DNEERCHO.js +171 -0
- package/Build/Workers/chunk-EHXAKTME.js +147 -0
- package/Build/Workers/chunk-ETABYWY4.js +973 -0
- package/Build/Workers/chunk-EYVCQUVQ.js +1067 -0
- package/Build/Workers/chunk-FE7VHPNW.js +102 -0
- package/Build/Workers/chunk-FF6JKPLF.js +454 -0
- package/Build/Workers/chunk-FFEVCOBU.js +387 -0
- package/Build/Workers/chunk-FTRHXHI5.js +3794 -0
- package/Build/Workers/chunk-FWABE4BL.js +305 -0
- package/Build/Workers/chunk-GC24BPCQ.js +305 -0
- package/Build/Workers/chunk-GCTHMF35.js +387 -0
- package/Build/Workers/chunk-GDHSPLWC.js +9237 -0
- package/Build/Workers/chunk-GGK7SA4Y.js +414 -0
- package/Build/Workers/chunk-GGVG7G5Z.js +1483 -0
- package/Build/Workers/chunk-GH2D6MPO.js +497 -0
- package/Build/Workers/chunk-GHVEEVR7.js +778 -0
- package/Build/Workers/chunk-GL7W3I3A.js +959 -0
- package/Build/Workers/chunk-H52M4HMP.js +9230 -0
- package/Build/Workers/chunk-H7QGY7HB.js +1054 -0
- package/Build/Workers/chunk-H7ZXQIV2.js +398 -0
- package/Build/Workers/chunk-HBJKIDKK.js +76 -0
- package/Build/Workers/chunk-HERVRBJW.js +76 -0
- package/Build/Workers/chunk-HFMS7MXO.js +511 -0
- package/Build/Workers/chunk-HH6PJ22V.js +455 -0
- package/Build/Workers/chunk-HQ2PXPP7.js +102 -0
- package/Build/Workers/chunk-HTO45L3X.js +454 -0
- package/Build/Workers/chunk-HUNCRVVV.js +1067 -0
- package/Build/Workers/chunk-HW5TLMPQ.js +57 -0
- package/Build/Workers/chunk-IC3HVJBG.js +301 -0
- package/Build/Workers/chunk-IEKP7CEH.js +387 -0
- package/Build/Workers/chunk-IFSGYIDE.js +257 -0
- package/Build/Workers/chunk-ILUFUAF3.js +1992 -0
- package/Build/Workers/chunk-ILX5N5QR.js +2342 -0
- package/Build/Workers/chunk-IRSD4EJW.js +630 -0
- package/Build/Workers/chunk-ISRYZ3F4.js +414 -0
- package/Build/Workers/chunk-J3A3XMTG.js +672 -0
- package/Build/Workers/chunk-JBJ5PC2D.js +102 -0
- package/Build/Workers/chunk-JFPBQCDB.js +398 -0
- package/Build/Workers/chunk-JK54NBBO.js +778 -0
- package/Build/Workers/chunk-JKPELBSI.js +682 -0
- package/Build/Workers/chunk-JLLWLD6O.js +973 -0
- package/Build/Workers/chunk-JSFKPEFK.js +352 -0
- package/Build/Workers/chunk-JTSSQ3RH.js +147 -0
- package/Build/Workers/chunk-JZVZDHC2.js +288 -0
- package/Build/Workers/chunk-K724BR5O.js +455 -0
- package/Build/Workers/chunk-KCUS7QEU.js +387 -0
- package/Build/Workers/chunk-KFRKYG4B.js +288 -0
- package/Build/Workers/chunk-KJOVSN7J.js +56 -0
- package/Build/Workers/chunk-KKEMKV5G.js +44 -0
- package/Build/Workers/chunk-KXNXQXP5.js +682 -0
- package/Build/Workers/chunk-KYXZ3XTC.js +497 -0
- package/Build/Workers/chunk-L65LWRUE.js +3648 -0
- package/Build/Workers/chunk-LAN4XQR6.js +162 -0
- package/Build/Workers/chunk-LERIK6IA.js +219 -0
- package/Build/Workers/chunk-LOVXQI64.js +2719 -0
- package/Build/Workers/chunk-LVO4J36T.js +1800 -0
- package/Build/Workers/chunk-LY5KUQ2L.js +57 -0
- package/Build/Workers/chunk-M2XWG5VC.js +124 -0
- package/Build/Workers/chunk-MD7CEJO5.js +2342 -0
- package/Build/Workers/chunk-MUPWJMPP.js +44 -0
- package/Build/Workers/chunk-MVBEMXN4.js +163 -0
- package/Build/Workers/chunk-MVQYVX6D.js +511 -0
- package/Build/Workers/chunk-N4RF6TUL.js +301 -0
- package/Build/Workers/chunk-NCH4P66E.js +219 -0
- package/Build/Workers/chunk-NCL22ZUX.js +56 -0
- package/Build/Workers/chunk-NNJDVVEG.js +3794 -0
- package/Build/Workers/chunk-NYQSZLRF.js +78 -0
- package/Build/Workers/chunk-O2V4I3I5.js +682 -0
- package/Build/Workers/chunk-O453S45W.js +1483 -0
- package/Build/Workers/chunk-O5CYW2IR.js +1046 -0
- package/Build/Workers/chunk-OJ7O7DKV.js +973 -0
- package/Build/Workers/chunk-OJK33YVT.js +171 -0
- package/Build/Workers/chunk-OKFC4PDV.js +1344 -0
- package/Build/Workers/chunk-OKPQ3QBG.js +124 -0
- package/Build/Workers/chunk-OKUXJIW3.js +124 -0
- package/Build/Workers/chunk-OWDZ5BX4.js +280 -0
- package/Build/Workers/chunk-PC7533X2.js +1800 -0
- package/Build/Workers/chunk-PCERHV4S.js +198 -0
- package/Build/Workers/chunk-PCXE4XMI.js +82 -0
- package/Build/Workers/chunk-PJT22BD4.js +352 -0
- package/Build/Workers/chunk-PKV3R77E.js +672 -0
- package/Build/Workers/chunk-PQ2MGY7X.js +162 -0
- package/Build/Workers/chunk-PR62UBKE.js +693 -0
- package/Build/Workers/chunk-PXPUYOFJ.js +1287 -0
- package/Build/Workers/chunk-QJJ3GXSH.js +140 -0
- package/Build/Workers/chunk-QM4HZZYW.js +219 -0
- package/Build/Workers/chunk-QQ2BBL7Z.js +162 -0
- package/Build/Workers/chunk-QX6AYJX2.js +455 -0
- package/Build/Workers/chunk-QYC6Y25A.js +124 -0
- package/Build/Workers/chunk-RBAZR7R2.js +280 -0
- package/Build/Workers/chunk-REZJEC6F.js +241 -0
- package/Build/Workers/chunk-RS3LRHOK.js +73 -0
- package/Build/Workers/chunk-RSJUCJPN.js +241 -0
- package/Build/Workers/chunk-S2WTOFGB.js +102 -0
- package/Build/Workers/chunk-SGLJWWWY.js +352 -0
- package/Build/Workers/chunk-SJZMU3OS.js +2342 -0
- package/Build/Workers/chunk-SMZXVFCA.js +1344 -0
- package/Build/Workers/chunk-SND4KNB6.js +754 -0
- package/Build/Workers/chunk-SPTT255E.js +301 -0
- package/Build/Workers/chunk-SRH2XIWS.js +1067 -0
- package/Build/Workers/chunk-STXWAEVD.js +101 -0
- package/Build/Workers/chunk-SUG6ECWR.js +76 -0
- package/Build/Workers/chunk-SXSP3JHS.js +38 -0
- package/Build/Workers/chunk-T6SVKD76.js +511 -0
- package/Build/Workers/chunk-TA3PH4Q7.js +519 -0
- package/Build/Workers/chunk-TDJ2NSYJ.js +171 -0
- package/Build/Workers/chunk-TJCD5NV5.js +837 -0
- package/Build/Workers/chunk-TPT5IM72.js +280 -0
- package/Build/Workers/chunk-TTG2JNFN.js +198 -0
- package/Build/Workers/chunk-TXBADNRA.js +9237 -0
- package/Build/Workers/chunk-TYW2D7VU.js +2719 -0
- package/Build/Workers/chunk-U3KB4HMG.js +1054 -0
- package/Build/Workers/chunk-U6OMVSBY.js +368 -0
- package/Build/Workers/chunk-UAVMVBMC.js +754 -0
- package/Build/Workers/chunk-UCOZLNHF.js +1284 -0
- package/Build/Workers/chunk-UDKEO3UF.js +163 -0
- package/Build/Workers/chunk-UDXUBVNR.js +1992 -0
- package/Build/Workers/chunk-UIQUUY4A.js +73 -0
- package/Build/Workers/chunk-ULY2FDDP.js +454 -0
- package/Build/Workers/chunk-UNXJWCXV.js +9230 -0
- package/Build/Workers/chunk-UT7YX565.js +1992 -0
- package/Build/Workers/chunk-UTKCX3AS.js +352 -0
- package/Build/Workers/chunk-UTOYFI3Q.js +1992 -0
- package/Build/Workers/chunk-UUXWWJI7.js +101 -0
- package/Build/Workers/chunk-V5AWAGL2.js +97 -0
- package/Build/Workers/chunk-V5AXOGPW.js +682 -0
- package/Build/Workers/chunk-VAUX2Q2X.js +138 -0
- package/Build/Workers/chunk-VDX4SJKV.js +58 -0
- package/Build/Workers/chunk-VL2WHGQI.js +305 -0
- package/Build/Workers/chunk-W37YFRTG.js +38 -0
- package/Build/Workers/chunk-W5AGSDWX.js +44 -0
- package/Build/Workers/chunk-W7WEPLZL.js +414 -0
- package/Build/Workers/chunk-WBQDTVCN.js +97 -0
- package/Build/Workers/chunk-WDSHSR57.js +837 -0
- package/Build/Workers/chunk-WNAG4FHY.js +305 -0
- package/Build/Workers/chunk-WNQX2CP3.js +455 -0
- package/Build/Workers/chunk-XCASHPVG.js +778 -0
- package/Build/Workers/chunk-XJUIVTHG.js +1483 -0
- package/Build/Workers/chunk-XPIDT6UT.js +1054 -0
- package/Build/Workers/chunk-XQETP7YD.js +3201 -0
- package/Build/Workers/chunk-XQVSSVT2.js +140 -0
- package/Build/Workers/chunk-Y5E2LVSX.js +138 -0
- package/Build/Workers/chunk-YEMKJOOG.js +352 -0
- package/Build/Workers/chunk-YGFVAGYF.js +630 -0
- package/Build/Workers/chunk-YNWTO2WN.js +147 -0
- package/Build/Workers/chunk-YZAMLSIA.js +352 -0
- package/Build/Workers/chunk-Z3KHKVNA.js +56 -0
- package/Build/Workers/chunk-Z6LUW5FN.js +198 -0
- package/Build/Workers/chunk-Z7XRKD6H.js +693 -0
- package/Build/Workers/chunk-ZDUCDVKX.js +288 -0
- package/Build/Workers/chunk-ZEEPTE4R.js +147 -0
- package/Build/Workers/chunk-ZIBW2BFB.js +1284 -0
- package/Build/Workers/chunk-ZOYVNCFZ.js +754 -0
- package/Build/Workers/chunk-ZQUSI7YK.js +630 -0
- package/Build/Workers/chunk-ZSWY7UNG.js +3201 -0
- package/Build/Workers/chunk-ZXRWKKJP.js +398 -0
- package/Build/Workers/chunk-ZY4DTNR2.js +56 -0
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +16 -16
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
- package/Build/Workers/createCorridorGeometry.js +29 -29
- package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
- package/Build/Workers/createEllipseGeometry.js +26 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
- package/Build/Workers/createEllipsoidGeometry.js +19 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
- package/Build/Workers/createFrustumGeometry.js +18 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
- package/Build/Workers/createGeometry.js +24 -24
- package/Build/Workers/createGroundPolylineGeometry.js +23 -23
- package/Build/Workers/createMvtTile.js +1815 -0
- package/Build/Workers/createPlaneGeometry.js +16 -16
- package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
- package/Build/Workers/createPolygonGeometry.js +32 -32
- package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
- package/Build/Workers/createPolylineGeometry.js +25 -25
- package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
- package/Build/Workers/createRectangleGeometry.js +27 -27
- package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
- package/Build/Workers/createSimplePolylineGeometry.js +23 -23
- package/Build/Workers/createSphereGeometry.js +19 -19
- package/Build/Workers/createSphereOutlineGeometry.js +18 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
- package/Build/Workers/createVectorTileGeometries.js +24 -24
- package/Build/Workers/createVectorTilePoints.js +13 -13
- package/Build/Workers/createVectorTilePolygons.js +22 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -14
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +26 -26
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +23 -23
- package/Build/Workers/createVerticesFromHeightmap.js +25 -25
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +21 -21
- package/Build/Workers/createWallGeometry.js +24 -24
- package/Build/Workers/createWallOutlineGeometry.js +23 -23
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +58 -44
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/gaussianSplatSorter.js +4 -4
- package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
- package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
- package/Build/Workers/transcodeKTX2.js +7 -7
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +23 -23
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +26 -26
- package/Source/Core/ScreenSpaceEventHandler.js +19 -0
- package/Source/Scene/Globe.js +55 -0
- package/Source/Scene/GlobeSurfaceShaderSet.js +132 -1
- package/Source/Scene/GlobeSurfaceTileProvider.js +378 -2
- package/Source/Scene/ImageryLayer.js +244 -10
- package/Source/Scene/QuadtreePrimitive.js +256 -2
- package/Source/Shaders/GlobeFS.glsl +43 -0
- package/Source/Shaders/GlobeFS.js +43 -0
- package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
- package/Source/ThirdParty/zip-module.wasm +0 -0
- package/index.d.ts +48305 -0
- package/index.js +184 -184
- package/package.json +1 -1
|
@@ -1756,6 +1756,36 @@ function createTileUniformMap(frameState, globeSurfaceTileProvider) {
|
|
|
1756
1756
|
u_dayTextureOneOverGamma: function () {
|
|
1757
1757
|
return this.properties.dayTextureOneOverGamma;
|
|
1758
1758
|
},
|
|
1759
|
+
u_dayTextureToneGain: function () {
|
|
1760
|
+
return this.properties.dayTextureToneGain;
|
|
1761
|
+
},
|
|
1762
|
+
u_dayTextureToneBias: function () {
|
|
1763
|
+
return this.properties.dayTextureToneBias;
|
|
1764
|
+
},
|
|
1765
|
+
u_dayTextureToneEdgeGain: function () {
|
|
1766
|
+
return this.properties.dayTextureToneEdgeGain;
|
|
1767
|
+
},
|
|
1768
|
+
u_dayTextureToneEdgeBias: function () {
|
|
1769
|
+
return this.properties.dayTextureToneEdgeBias;
|
|
1770
|
+
},
|
|
1771
|
+
u_dayTextureToneEdgeBlend: function () {
|
|
1772
|
+
return this.properties.dayTextureToneEdgeBlend;
|
|
1773
|
+
},
|
|
1774
|
+
u_dayTextureCrossTexture: function () {
|
|
1775
|
+
return this.properties.dayTextureCrossTexture;
|
|
1776
|
+
},
|
|
1777
|
+
u_dayTextureCrossTranslationAndScale: function () {
|
|
1778
|
+
return this.properties.dayTextureCrossTranslationAndScale;
|
|
1779
|
+
},
|
|
1780
|
+
u_dayTextureCrossGain: function () {
|
|
1781
|
+
return this.properties.dayTextureCrossGain;
|
|
1782
|
+
},
|
|
1783
|
+
u_dayTextureCrossBias: function () {
|
|
1784
|
+
return this.properties.dayTextureCrossBias;
|
|
1785
|
+
},
|
|
1786
|
+
u_dayTextureCrossBlend: function () {
|
|
1787
|
+
return this.properties.dayTextureCrossBlend;
|
|
1788
|
+
},
|
|
1759
1789
|
u_dayIntensity: function () {
|
|
1760
1790
|
return this.properties.dayIntensity;
|
|
1761
1791
|
},
|
|
@@ -1896,6 +1926,16 @@ function createTileUniformMap(frameState, globeSurfaceTileProvider) {
|
|
|
1896
1926
|
dayTextureHue: [],
|
|
1897
1927
|
dayTextureSaturation: [],
|
|
1898
1928
|
dayTextureOneOverGamma: [],
|
|
1929
|
+
dayTextureToneGain: [],
|
|
1930
|
+
dayTextureToneBias: [],
|
|
1931
|
+
dayTextureToneEdgeGain: [],
|
|
1932
|
+
dayTextureToneEdgeBias: [],
|
|
1933
|
+
dayTextureToneEdgeBlend: [],
|
|
1934
|
+
dayTextureCrossTexture: [],
|
|
1935
|
+
dayTextureCrossTranslationAndScale: [],
|
|
1936
|
+
dayTextureCrossGain: [],
|
|
1937
|
+
dayTextureCrossBias: [],
|
|
1938
|
+
dayTextureCrossBlend: [],
|
|
1899
1939
|
dayTextureSplit: [],
|
|
1900
1940
|
dayTextureCutoutRectangles: [],
|
|
1901
1941
|
dayIntensity: 0.0,
|
|
@@ -2124,6 +2164,110 @@ const surfaceShaderSetOptionsScratch = {
|
|
|
2124
2164
|
const defaultUndergroundColor = Color.TRANSPARENT;
|
|
2125
2165
|
const defaultUndergroundColorAlphaByDistance = new NearFarScalar();
|
|
2126
2166
|
|
|
2167
|
+
// Flattens the per-texture-count render buckets into one array, rebuilt at
|
|
2168
|
+
// most once per frame. Shared by every levelColorEdgeBlend neighbor lookup.
|
|
2169
|
+
function getRenderedTilesFlat(tileProvider, frameNumber) {
|
|
2170
|
+
let flat = tileProvider._edgeBlendTiles;
|
|
2171
|
+
if (!defined(flat) || tileProvider._edgeBlendTilesFrame !== frameNumber) {
|
|
2172
|
+
flat = [];
|
|
2173
|
+
const buckets = tileProvider._tilesToRenderByTextureCount;
|
|
2174
|
+
for (let bucketIndex = 0; bucketIndex < buckets.length; ++bucketIndex) {
|
|
2175
|
+
const bucket = buckets[bucketIndex];
|
|
2176
|
+
if (!defined(bucket)) {
|
|
2177
|
+
continue;
|
|
2178
|
+
}
|
|
2179
|
+
for (let tileIndex = 0; tileIndex < bucket.length; ++tileIndex) {
|
|
2180
|
+
flat.push(bucket[tileIndex]);
|
|
2181
|
+
}
|
|
2182
|
+
}
|
|
2183
|
+
tileProvider._edgeBlendTiles = flat;
|
|
2184
|
+
tileProvider._edgeBlendTilesFrame = frameNumber;
|
|
2185
|
+
}
|
|
2186
|
+
return flat;
|
|
2187
|
+
}
|
|
2188
|
+
|
|
2189
|
+
// Finds the rendered tile sharing the given geographic edge of `rectangle`.
|
|
2190
|
+
// Edge order matches the shader uniforms: 0 = south, 1 = east, 2 = north,
|
|
2191
|
+
// 3 = west. When several tiles share the edge (finer neighbors), the one
|
|
2192
|
+
// with the longest shared extent wins. Tiles straddling the antimeridian do
|
|
2193
|
+
// not test as adjacent, so no fade is applied across it.
|
|
2194
|
+
const edgeAdjacencyEpsilon = CesiumMath.EPSILON12;
|
|
2195
|
+
|
|
2196
|
+
// Reused by findAdjacentRenderedTile callers that need the shared-edge length
|
|
2197
|
+
// (dominant coarser-neighbor selection for the content cross-fade).
|
|
2198
|
+
const adjacentRenderedTileScratch = { tile: undefined, overlap: 0.0 };
|
|
2199
|
+
|
|
2200
|
+
function findAdjacentRenderedTile(renderedTiles, rectangle, edge, result) {
|
|
2201
|
+
result = defined(result) ? result : adjacentRenderedTileScratch;
|
|
2202
|
+
let best;
|
|
2203
|
+
let bestOverlap = 0.0;
|
|
2204
|
+
for (let tileIndex = 0; tileIndex < renderedTiles.length; ++tileIndex) {
|
|
2205
|
+
const other = renderedTiles[tileIndex];
|
|
2206
|
+
const otherRectangle = other.rectangle;
|
|
2207
|
+
let overlapStart;
|
|
2208
|
+
let overlapEnd;
|
|
2209
|
+
if (edge === 0) {
|
|
2210
|
+
if (
|
|
2211
|
+
Math.abs(otherRectangle.north - rectangle.south) > edgeAdjacencyEpsilon
|
|
2212
|
+
) {
|
|
2213
|
+
continue;
|
|
2214
|
+
}
|
|
2215
|
+
overlapStart = Math.max(otherRectangle.west, rectangle.west);
|
|
2216
|
+
overlapEnd = Math.min(otherRectangle.east, rectangle.east);
|
|
2217
|
+
} else if (edge === 1) {
|
|
2218
|
+
if (
|
|
2219
|
+
Math.abs(otherRectangle.west - rectangle.east) > edgeAdjacencyEpsilon
|
|
2220
|
+
) {
|
|
2221
|
+
continue;
|
|
2222
|
+
}
|
|
2223
|
+
overlapStart = Math.max(otherRectangle.south, rectangle.south);
|
|
2224
|
+
overlapEnd = Math.min(otherRectangle.north, rectangle.north);
|
|
2225
|
+
} else if (edge === 2) {
|
|
2226
|
+
if (
|
|
2227
|
+
Math.abs(otherRectangle.south - rectangle.north) > edgeAdjacencyEpsilon
|
|
2228
|
+
) {
|
|
2229
|
+
continue;
|
|
2230
|
+
}
|
|
2231
|
+
overlapStart = Math.max(otherRectangle.west, rectangle.west);
|
|
2232
|
+
overlapEnd = Math.min(otherRectangle.east, rectangle.east);
|
|
2233
|
+
} else {
|
|
2234
|
+
if (
|
|
2235
|
+
Math.abs(otherRectangle.east - rectangle.west) > edgeAdjacencyEpsilon
|
|
2236
|
+
) {
|
|
2237
|
+
continue;
|
|
2238
|
+
}
|
|
2239
|
+
overlapStart = Math.max(otherRectangle.south, rectangle.south);
|
|
2240
|
+
overlapEnd = Math.min(otherRectangle.north, rectangle.north);
|
|
2241
|
+
}
|
|
2242
|
+
const overlap = overlapEnd - overlapStart;
|
|
2243
|
+
if (overlap > bestOverlap) {
|
|
2244
|
+
bestOverlap = overlap;
|
|
2245
|
+
best = other;
|
|
2246
|
+
}
|
|
2247
|
+
}
|
|
2248
|
+
result.tile = best;
|
|
2249
|
+
result.overlap = bestOverlap;
|
|
2250
|
+
return result;
|
|
2251
|
+
}
|
|
2252
|
+
|
|
2253
|
+
function getNeighborImageryLevel(neighborTile, imageryLayer) {
|
|
2254
|
+
const imageryList = neighborTile.data.imagery;
|
|
2255
|
+
if (!defined(imageryList)) {
|
|
2256
|
+
return undefined;
|
|
2257
|
+
}
|
|
2258
|
+
for (let tileIndex = 0; tileIndex < imageryList.length; ++tileIndex) {
|
|
2259
|
+
const readyImagery = imageryList[tileIndex].readyImagery;
|
|
2260
|
+
if (defined(readyImagery) && readyImagery.imageryLayer === imageryLayer) {
|
|
2261
|
+
return readyImagery.level;
|
|
2262
|
+
}
|
|
2263
|
+
}
|
|
2264
|
+
return undefined;
|
|
2265
|
+
}
|
|
2266
|
+
|
|
2267
|
+
// Per-edge neighbor imagery levels for the texture unit currently being
|
|
2268
|
+
// filled; reused across units and tiles every frame.
|
|
2269
|
+
const edgeNeighborLevelsScratch = new Array(4);
|
|
2270
|
+
|
|
2127
2271
|
function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
2128
2272
|
const surfaceTile = tile.data;
|
|
2129
2273
|
|
|
@@ -2601,6 +2745,10 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2601
2745
|
let applyGamma = false;
|
|
2602
2746
|
let applyAlpha = false;
|
|
2603
2747
|
let applyDayNightAlpha = false;
|
|
2748
|
+
let applyToneMatch = false;
|
|
2749
|
+
let applyToneMatchEdge = false;
|
|
2750
|
+
let applyToneMatchCross = false;
|
|
2751
|
+
let crossUnits = 0;
|
|
2604
2752
|
let applySplit = false;
|
|
2605
2753
|
let applyCutout = false;
|
|
2606
2754
|
let applyColorToAlpha = false;
|
|
@@ -2702,6 +2850,217 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2702
2850
|
uniformMapProperties.dayTextureOneOverGamma[numberOfDayTextures] !==
|
|
2703
2851
|
1.0 / ImageryLayer.DEFAULT_GAMMA;
|
|
2704
2852
|
|
|
2853
|
+
const levelCorrection = imageryLayer._getLevelColorCorrection(
|
|
2854
|
+
imagery.level,
|
|
2855
|
+
);
|
|
2856
|
+
applyToneMatch = applyToneMatch || defined(levelCorrection);
|
|
2857
|
+
|
|
2858
|
+
let toneGain =
|
|
2859
|
+
uniformMapProperties.dayTextureToneGain[numberOfDayTextures];
|
|
2860
|
+
if (!defined(toneGain)) {
|
|
2861
|
+
toneGain = new Cartesian3(1.0, 1.0, 1.0);
|
|
2862
|
+
uniformMapProperties.dayTextureToneGain[numberOfDayTextures] = toneGain;
|
|
2863
|
+
}
|
|
2864
|
+
if (defined(levelCorrection)) {
|
|
2865
|
+
Cartesian3.clone(levelCorrection.gain, toneGain);
|
|
2866
|
+
} else {
|
|
2867
|
+
toneGain.x = 1.0;
|
|
2868
|
+
toneGain.y = 1.0;
|
|
2869
|
+
toneGain.z = 1.0;
|
|
2870
|
+
}
|
|
2871
|
+
|
|
2872
|
+
let toneBias =
|
|
2873
|
+
uniformMapProperties.dayTextureToneBias[numberOfDayTextures];
|
|
2874
|
+
if (!defined(toneBias)) {
|
|
2875
|
+
toneBias = new Cartesian3(0.0, 0.0, 0.0);
|
|
2876
|
+
uniformMapProperties.dayTextureToneBias[numberOfDayTextures] = toneBias;
|
|
2877
|
+
}
|
|
2878
|
+
if (defined(levelCorrection)) {
|
|
2879
|
+
Cartesian3.clone(levelCorrection.bias, toneBias);
|
|
2880
|
+
} else {
|
|
2881
|
+
toneBias.x = 0.0;
|
|
2882
|
+
toneBias.y = 0.0;
|
|
2883
|
+
toneBias.z = 0.0;
|
|
2884
|
+
}
|
|
2885
|
+
|
|
2886
|
+
// Edge-band fade of this texture's correction toward the adjacent
|
|
2887
|
+
// coarser tile's correction. Only the finer side of a LOD boundary
|
|
2888
|
+
// fades; same-level and finer neighbors leave the edge at this
|
|
2889
|
+
// texture's own correction, so the fade is a no-op there.
|
|
2890
|
+
const levelEdgeBlend = imageryLayer.levelColorEdgeBlend;
|
|
2891
|
+
if (defined(levelCorrection) && levelEdgeBlend > 0.0) {
|
|
2892
|
+
applyToneMatchEdge = true;
|
|
2893
|
+
}
|
|
2894
|
+
const edgeBaseIndex = numberOfDayTextures * 4;
|
|
2895
|
+
// Cross-fade bookkeeping: imagery level of each edge's neighbor, plus
|
|
2896
|
+
// the dominant (longest shared edge) coarser neighbor whose ancestor
|
|
2897
|
+
// texture will be bound for content cross-fading below.
|
|
2898
|
+
let dominantCrossLevel;
|
|
2899
|
+
let dominantCrossOverlap = 0.0;
|
|
2900
|
+
for (let edgeIndex = 0; edgeIndex < 4; ++edgeIndex) {
|
|
2901
|
+
let edgeGain =
|
|
2902
|
+
uniformMapProperties.dayTextureToneEdgeGain[
|
|
2903
|
+
edgeBaseIndex + edgeIndex
|
|
2904
|
+
];
|
|
2905
|
+
if (!defined(edgeGain)) {
|
|
2906
|
+
edgeGain = new Cartesian3();
|
|
2907
|
+
uniformMapProperties.dayTextureToneEdgeGain[
|
|
2908
|
+
edgeBaseIndex + edgeIndex
|
|
2909
|
+
] = edgeGain;
|
|
2910
|
+
}
|
|
2911
|
+
let edgeBias =
|
|
2912
|
+
uniformMapProperties.dayTextureToneEdgeBias[
|
|
2913
|
+
edgeBaseIndex + edgeIndex
|
|
2914
|
+
];
|
|
2915
|
+
if (!defined(edgeBias)) {
|
|
2916
|
+
edgeBias = new Cartesian3();
|
|
2917
|
+
uniformMapProperties.dayTextureToneEdgeBias[
|
|
2918
|
+
edgeBaseIndex + edgeIndex
|
|
2919
|
+
] = edgeBias;
|
|
2920
|
+
}
|
|
2921
|
+
|
|
2922
|
+
edgeNeighborLevelsScratch[edgeIndex] = undefined;
|
|
2923
|
+
uniformMapProperties.dayTextureToneEdgeBlend[
|
|
2924
|
+
edgeBaseIndex + edgeIndex
|
|
2925
|
+
] = 0.0;
|
|
2926
|
+
if (defined(levelCorrection) && levelEdgeBlend > 0.0) {
|
|
2927
|
+
const neighbor = findAdjacentRenderedTile(
|
|
2928
|
+
getRenderedTilesFlat(tileProvider, frameState.frameNumber),
|
|
2929
|
+
tile.rectangle,
|
|
2930
|
+
edgeIndex,
|
|
2931
|
+
);
|
|
2932
|
+
const neighborLevel = defined(neighbor.tile)
|
|
2933
|
+
? getNeighborImageryLevel(neighbor.tile, imageryLayer)
|
|
2934
|
+
: undefined;
|
|
2935
|
+
edgeNeighborLevelsScratch[edgeIndex] = neighborLevel;
|
|
2936
|
+
if (defined(neighborLevel) && neighborLevel < imagery.level) {
|
|
2937
|
+
if (neighbor.overlap > dominantCrossOverlap) {
|
|
2938
|
+
dominantCrossOverlap = neighbor.overlap;
|
|
2939
|
+
dominantCrossLevel = neighborLevel;
|
|
2940
|
+
}
|
|
2941
|
+
const neighborCorrection =
|
|
2942
|
+
imageryLayer._getLevelColorCorrection(neighborLevel);
|
|
2943
|
+
if (defined(neighborCorrection)) {
|
|
2944
|
+
Cartesian3.clone(neighborCorrection.gain, edgeGain);
|
|
2945
|
+
Cartesian3.clone(neighborCorrection.bias, edgeBias);
|
|
2946
|
+
uniformMapProperties.dayTextureToneEdgeBlend[
|
|
2947
|
+
edgeBaseIndex + edgeIndex
|
|
2948
|
+
] = levelEdgeBlend;
|
|
2949
|
+
continue;
|
|
2950
|
+
}
|
|
2951
|
+
}
|
|
2952
|
+
}
|
|
2953
|
+
Cartesian3.clone(toneGain, edgeGain);
|
|
2954
|
+
Cartesian3.clone(toneBias, edgeBias);
|
|
2955
|
+
}
|
|
2956
|
+
|
|
2957
|
+
// Content cross-fade: bind the ancestor imagery at the dominant coarser
|
|
2958
|
+
// neighbor's level (the very source texture the coarser side renders).
|
|
2959
|
+
// Near edges facing that neighbor, the shader blends the tile's full
|
|
2960
|
+
// rendered result with the ancestor's rendering, making both sides of
|
|
2961
|
+
// the boundary pixel-identical at the shared edge regardless of whether
|
|
2962
|
+
// the residual step came from correction limits or content differences.
|
|
2963
|
+
// Falls back to the correction fade above when the ancestor texture is
|
|
2964
|
+
// not resident, the level gap is too large (the ancestor would be
|
|
2965
|
+
// minified beyond recognition), the sampler budget is exhausted, or the
|
|
2966
|
+
// layer opts out. Edges whose coarser neighbor is at a different level
|
|
2967
|
+
// keep the correction fade (single bound ancestor per texture).
|
|
2968
|
+
// Every unit gets valid values (identity when unbound): a command's
|
|
2969
|
+
// shader is the CROSS variant if ANY unit bound, and the pooled uniform
|
|
2970
|
+
// arrays must not contain holes or stale entries for the others.
|
|
2971
|
+
let crossGain =
|
|
2972
|
+
uniformMapProperties.dayTextureCrossGain[numberOfDayTextures];
|
|
2973
|
+
if (!defined(crossGain)) {
|
|
2974
|
+
crossGain = new Cartesian3(1.0, 1.0, 1.0);
|
|
2975
|
+
uniformMapProperties.dayTextureCrossGain[numberOfDayTextures] =
|
|
2976
|
+
crossGain;
|
|
2977
|
+
}
|
|
2978
|
+
let crossBias =
|
|
2979
|
+
uniformMapProperties.dayTextureCrossBias[numberOfDayTextures];
|
|
2980
|
+
if (!defined(crossBias)) {
|
|
2981
|
+
crossBias = new Cartesian3(0.0, 0.0, 0.0);
|
|
2982
|
+
uniformMapProperties.dayTextureCrossBias[numberOfDayTextures] =
|
|
2983
|
+
crossBias;
|
|
2984
|
+
}
|
|
2985
|
+
let crossTranslationAndScale =
|
|
2986
|
+
uniformMapProperties.dayTextureCrossTranslationAndScale[
|
|
2987
|
+
numberOfDayTextures
|
|
2988
|
+
];
|
|
2989
|
+
if (!defined(crossTranslationAndScale)) {
|
|
2990
|
+
crossTranslationAndScale = new Cartesian4(0.0, 0.0, 1.0, 1.0);
|
|
2991
|
+
uniformMapProperties.dayTextureCrossTranslationAndScale[
|
|
2992
|
+
numberOfDayTextures
|
|
2993
|
+
] = crossTranslationAndScale;
|
|
2994
|
+
}
|
|
2995
|
+
|
|
2996
|
+
let crossTexture = texture;
|
|
2997
|
+
if (
|
|
2998
|
+
defined(levelCorrection) &&
|
|
2999
|
+
levelEdgeBlend > 0.0 &&
|
|
3000
|
+
imageryLayer.levelColorEdgeCrossFade &&
|
|
3001
|
+
defined(dominantCrossLevel) &&
|
|
3002
|
+
imagery.level - dominantCrossLevel <= 4 &&
|
|
3003
|
+
numberOfDayTextures + crossUnits + 1 <= maxTextures
|
|
3004
|
+
) {
|
|
3005
|
+
let ancestor = imagery.parent;
|
|
3006
|
+
while (defined(ancestor) && ancestor.level > dominantCrossLevel) {
|
|
3007
|
+
ancestor = ancestor.parent;
|
|
3008
|
+
}
|
|
3009
|
+
const ancestorTexture =
|
|
3010
|
+
defined(ancestor) &&
|
|
3011
|
+
ancestor.level === dominantCrossLevel &&
|
|
3012
|
+
ancestor.state === ImageryState.READY
|
|
3013
|
+
? tileImagery.useWebMercatorT
|
|
3014
|
+
? ancestor.textureWebMercator
|
|
3015
|
+
: ancestor.texture
|
|
3016
|
+
: undefined;
|
|
3017
|
+
if (defined(ancestorTexture)) {
|
|
3018
|
+
crossTexture = ancestorTexture;
|
|
3019
|
+
++crossUnits;
|
|
3020
|
+
applyToneMatchCross = true;
|
|
3021
|
+
|
|
3022
|
+
const crossCorrection =
|
|
3023
|
+
imageryLayer._getLevelColorCorrection(dominantCrossLevel);
|
|
3024
|
+
if (defined(crossCorrection)) {
|
|
3025
|
+
Cartesian3.clone(crossCorrection.gain, crossGain);
|
|
3026
|
+
Cartesian3.clone(crossCorrection.bias, crossBias);
|
|
3027
|
+
}
|
|
3028
|
+
imageryLayer._calculateImageryTranslationAndScale(
|
|
3029
|
+
tile,
|
|
3030
|
+
ancestor,
|
|
3031
|
+
tileImagery.useWebMercatorT,
|
|
3032
|
+
crossTranslationAndScale,
|
|
3033
|
+
);
|
|
3034
|
+
|
|
3035
|
+
for (let edgeIndex = 0; edgeIndex < 4; ++edgeIndex) {
|
|
3036
|
+
uniformMapProperties.dayTextureCrossBlend[
|
|
3037
|
+
edgeBaseIndex + edgeIndex
|
|
3038
|
+
] =
|
|
3039
|
+
edgeNeighborLevelsScratch[edgeIndex] === dominantCrossLevel
|
|
3040
|
+
? levelEdgeBlend
|
|
3041
|
+
: 0.0;
|
|
3042
|
+
}
|
|
3043
|
+
}
|
|
3044
|
+
}
|
|
3045
|
+
if (crossTexture === texture) {
|
|
3046
|
+
crossGain.x = 1.0;
|
|
3047
|
+
crossGain.y = 1.0;
|
|
3048
|
+
crossGain.z = 1.0;
|
|
3049
|
+
crossBias.x = 0.0;
|
|
3050
|
+
crossBias.y = 0.0;
|
|
3051
|
+
crossBias.z = 0.0;
|
|
3052
|
+
crossTranslationAndScale.x = 0.0;
|
|
3053
|
+
crossTranslationAndScale.y = 0.0;
|
|
3054
|
+
crossTranslationAndScale.z = 1.0;
|
|
3055
|
+
crossTranslationAndScale.w = 1.0;
|
|
3056
|
+
for (let edgeIndex = 0; edgeIndex < 4; ++edgeIndex) {
|
|
3057
|
+
uniformMapProperties.dayTextureCrossBlend[edgeBaseIndex + edgeIndex] =
|
|
3058
|
+
0.0;
|
|
3059
|
+
}
|
|
3060
|
+
}
|
|
3061
|
+
uniformMapProperties.dayTextureCrossTexture[numberOfDayTextures] =
|
|
3062
|
+
crossTexture;
|
|
3063
|
+
|
|
2705
3064
|
uniformMapProperties.dayTextureSplit[numberOfDayTextures] =
|
|
2706
3065
|
imageryLayer.splitDirection;
|
|
2707
3066
|
applySplit =
|
|
@@ -2784,6 +3143,18 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2784
3143
|
// trim texture array to the used length so we don't end up using old textures
|
|
2785
3144
|
// which might get destroyed eventually
|
|
2786
3145
|
uniformMapProperties.dayTextures.length = numberOfDayTextures;
|
|
3146
|
+
uniformMapProperties.dayTextureToneEdgeGain.length =
|
|
3147
|
+
numberOfDayTextures * 4;
|
|
3148
|
+
uniformMapProperties.dayTextureToneEdgeBias.length =
|
|
3149
|
+
numberOfDayTextures * 4;
|
|
3150
|
+
uniformMapProperties.dayTextureToneEdgeBlend.length =
|
|
3151
|
+
numberOfDayTextures * 4;
|
|
3152
|
+
uniformMapProperties.dayTextureCrossTexture.length = numberOfDayTextures;
|
|
3153
|
+
uniformMapProperties.dayTextureCrossTranslationAndScale.length =
|
|
3154
|
+
numberOfDayTextures;
|
|
3155
|
+
uniformMapProperties.dayTextureCrossGain.length = numberOfDayTextures;
|
|
3156
|
+
uniformMapProperties.dayTextureCrossBias.length = numberOfDayTextures;
|
|
3157
|
+
uniformMapProperties.dayTextureCrossBlend.length = numberOfDayTextures * 4;
|
|
2787
3158
|
uniformMapProperties.waterMask = waterMaskTexture;
|
|
2788
3159
|
Cartesian4.clone(
|
|
2789
3160
|
waterMaskTranslationAndScale,
|
|
@@ -2817,6 +3188,9 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2817
3188
|
surfaceShaderSetOptions.applyHue = applyHue;
|
|
2818
3189
|
surfaceShaderSetOptions.applySaturation = applySaturation;
|
|
2819
3190
|
surfaceShaderSetOptions.applyGamma = applyGamma;
|
|
3191
|
+
surfaceShaderSetOptions.applyToneMatch = applyToneMatch;
|
|
3192
|
+
surfaceShaderSetOptions.applyToneMatchEdge = applyToneMatchEdge;
|
|
3193
|
+
surfaceShaderSetOptions.applyToneMatchCross = applyToneMatchCross;
|
|
2820
3194
|
surfaceShaderSetOptions.applyAlpha = applyAlpha;
|
|
2821
3195
|
surfaceShaderSetOptions.applyDayNightAlpha = applyDayNightAlpha;
|
|
2822
3196
|
surfaceShaderSetOptions.applySplit = applySplit;
|
|
@@ -2859,7 +3233,7 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2859
3233
|
}
|
|
2860
3234
|
}
|
|
2861
3235
|
|
|
2862
|
-
|
|
3236
|
+
const boundingVolume = command.boundingVolume;
|
|
2863
3237
|
const orientedBoundingBox = command.orientedBoundingBox;
|
|
2864
3238
|
|
|
2865
3239
|
if (frameState.mode !== SceneMode.SCENE3D) {
|
|
@@ -2878,7 +3252,9 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2878
3252
|
);
|
|
2879
3253
|
|
|
2880
3254
|
if (frameState.mode === SceneMode.MORPHING) {
|
|
2881
|
-
boundingVolume
|
|
3255
|
+
// The result is written into boundingVolume in place (the same object
|
|
3256
|
+
// referenced by command.boundingVolume), so the return value is unused.
|
|
3257
|
+
BoundingSphere.union(
|
|
2882
3258
|
tileBoundingRegion.boundingSphere,
|
|
2883
3259
|
boundingVolume,
|
|
2884
3260
|
boundingVolume,
|