deeptwins-cesium-engine 0.0.3
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 +640 -0
- package/Build/Workers/chunk-2363JE27.js +163 -0
- package/Build/Workers/chunk-23T2IPHV.js +55 -0
- package/Build/Workers/chunk-27SAH2Q2.js +55 -0
- package/Build/Workers/chunk-2AM4E2WD.js +101 -0
- package/Build/Workers/chunk-2H4D4HBM.js +101 -0
- package/Build/Workers/chunk-2KBLMCYQ.js +198 -0
- package/Build/Workers/chunk-2MWF4IES.js +398 -0
- package/Build/Workers/chunk-2O7PRNCW.js +288 -0
- package/Build/Workers/chunk-2RCIRXNI.js +75 -0
- package/Build/Workers/chunk-3JIEAYRM.js +940 -0
- package/Build/Workers/chunk-3VNQVXD6.js +837 -0
- package/Build/Workers/chunk-3XR54LVR.js +75 -0
- package/Build/Workers/chunk-3YTMGEXW.js +1443 -0
- package/Build/Workers/chunk-3ZP3VA4L.js +171 -0
- package/Build/Workers/chunk-4AKOLNCZ.js +139 -0
- package/Build/Workers/chunk-4BHWJWS3.js +171 -0
- package/Build/Workers/chunk-4QSCEADX.js +1800 -0
- package/Build/Workers/chunk-4ZKQXB7T.js +1460 -0
- package/Build/Workers/chunk-4ZX6BO6C.js +476 -0
- package/Build/Workers/chunk-55NHNEI7.js +163 -0
- package/Build/Workers/chunk-5F3SUA6W.js +8366 -0
- package/Build/Workers/chunk-5FBLADWD.js +692 -0
- package/Build/Workers/chunk-5H7FXJTE.js +2719 -0
- package/Build/Workers/chunk-5JKH4AMT.js +58 -0
- package/Build/Workers/chunk-5MTUN2SE.js +642 -0
- package/Build/Workers/chunk-5PWCXSID.js +256 -0
- package/Build/Workers/chunk-5RL7XAZS.js +256 -0
- package/Build/Workers/chunk-5TZVQOFD.js +305 -0
- package/Build/Workers/chunk-67FTKXPJ.js +352 -0
- package/Build/Workers/chunk-6AIBN5NQ.js +1054 -0
- package/Build/Workers/chunk-6D6BOTSA.js +414 -0
- package/Build/Workers/chunk-6FGAWC5J.js +44 -0
- package/Build/Workers/chunk-6HKAPCSO.js +280 -0
- package/Build/Workers/chunk-6UJDVUJ4.js +8366 -0
- package/Build/Workers/chunk-73Q77JO7.js +138 -0
- package/Build/Workers/chunk-7A6QUBKY.js +58 -0
- package/Build/Workers/chunk-7APZZMCL.js +73 -0
- package/Build/Workers/chunk-7BHC3VOI.js +511 -0
- package/Build/Workers/chunk-7GQHESFY.js +368 -0
- package/Build/Workers/chunk-7MVC3OLP.js +58 -0
- package/Build/Workers/chunk-7UNMLR74.js +1800 -0
- package/Build/Workers/chunk-A2QTGP5S.js +55 -0
- package/Build/Workers/chunk-A3FZIBXG.js +55 -0
- package/Build/Workers/chunk-A53R2F2L.js +305 -0
- package/Build/Workers/chunk-A6LIUE7X.js +692 -0
- package/Build/Workers/chunk-A6YFUGJO.js +139 -0
- package/Build/Workers/chunk-AJYWXC6I.js +97 -0
- package/Build/Workers/chunk-ALTIGQTT.js +288 -0
- package/Build/Workers/chunk-AOIO5VUS.js +8366 -0
- package/Build/Workers/chunk-AT2CG6PG.js +3514 -0
- package/Build/Workers/chunk-ATX74V7S.js +55 -0
- package/Build/Workers/chunk-AZPXT6RB.js +1067 -0
- package/Build/Workers/chunk-B7JRBTT6.js +682 -0
- package/Build/Workers/chunk-BALMTCKJ.js +138 -0
- package/Build/Workers/chunk-BBYRID6W.js +352 -0
- package/Build/Workers/chunk-BDX4AYXL.js +162 -0
- package/Build/Workers/chunk-BG2DK4Q5.js +101 -0
- package/Build/Workers/chunk-BSNC3NBZ.js +139 -0
- package/Build/Workers/chunk-BZLYQCIC.js +958 -0
- package/Build/Workers/chunk-C4NX77B5.js +57 -0
- package/Build/Workers/chunk-CHNDJRYA.js +1054 -0
- package/Build/Workers/chunk-CJOV55CW.js +1067 -0
- package/Build/Workers/chunk-COGPE5Z2.js +241 -0
- package/Build/Workers/chunk-CRCK5VX6.js +497 -0
- package/Build/Workers/chunk-CTLQNSVP.js +455 -0
- package/Build/Workers/chunk-CW7W27IZ.js +299 -0
- package/Build/Workers/chunk-DICY26ID.js +2719 -0
- package/Build/Workers/chunk-DLAVWLZW.js +682 -0
- package/Build/Workers/chunk-DMEFNTUV.js +1317 -0
- package/Build/Workers/chunk-DQSJEOZY.js +55 -0
- package/Build/Workers/chunk-F6UXXCPK.js +3514 -0
- package/Build/Workers/chunk-FKIR6F3B.js +97 -0
- package/Build/Workers/chunk-FRBZJJVU.js +2719 -0
- package/Build/Workers/chunk-FRLH26PM.js +940 -0
- package/Build/Workers/chunk-FT6HYEKU.js +3514 -0
- package/Build/Workers/chunk-FYDCQ2VN.js +73 -0
- package/Build/Workers/chunk-G5OKIL5P.js +55 -0
- package/Build/Workers/chunk-G6VHLVWG.js +101 -0
- package/Build/Workers/chunk-GBGV4U6Z.js +219 -0
- package/Build/Workers/chunk-GDU4RZSZ.js +940 -0
- package/Build/Workers/chunk-GJRVCSXV.js +37 -0
- package/Build/Workers/chunk-GKWOUMYA.js +37 -0
- package/Build/Workers/chunk-GNDFFW5Z.js +1443 -0
- package/Build/Workers/chunk-GNQ5BH75.js +352 -0
- package/Build/Workers/chunk-GNQUZV4R.js +171 -0
- package/Build/Workers/chunk-GOCJHCLA.js +352 -0
- package/Build/Workers/chunk-GTY4K4IA.js +219 -0
- package/Build/Workers/chunk-GXBTJBHN.js +102 -0
- package/Build/Workers/chunk-H6Q7E4BQ.js +114 -0
- package/Build/Workers/chunk-HEGESGGY.js +219 -0
- package/Build/Workers/chunk-HG3HIMYL.js +241 -0
- package/Build/Workers/chunk-HGEYVFMI.js +1800 -0
- package/Build/Workers/chunk-HHGOFZVQ.js +124 -0
- package/Build/Workers/chunk-HXEVICMT.js +37 -0
- package/Build/Workers/chunk-HXKUEOOD.js +352 -0
- package/Build/Workers/chunk-I4REFVXB.js +256 -0
- package/Build/Workers/chunk-IL5F6WEE.js +497 -0
- package/Build/Workers/chunk-IOODZNYE.js +629 -0
- package/Build/Workers/chunk-IVLDVV5R.js +788 -0
- package/Build/Workers/chunk-IWP4XCPO.js +778 -0
- package/Build/Workers/chunk-JBTUZNI2.js +398 -0
- package/Build/Workers/chunk-JMSXZ6AI.js +414 -0
- package/Build/Workers/chunk-JTGVXCP2.js +2058 -0
- package/Build/Workers/chunk-JUK2ZSWT.js +198 -0
- package/Build/Workers/chunk-K6HQ5W6R.js +171 -0
- package/Build/Workers/chunk-KC3G7WHZ.js +57 -0
- package/Build/Workers/chunk-KGPKBCGY.js +97 -0
- package/Build/Workers/chunk-KKGD7HAW.js +414 -0
- package/Build/Workers/chunk-KQSN3QZM.js +368 -0
- package/Build/Workers/chunk-KROSQJUA.js +44 -0
- package/Build/Workers/chunk-L4JLDVCM.js +57 -0
- package/Build/Workers/chunk-LAOFDSKL.js +642 -0
- package/Build/Workers/chunk-LIYMRHGR.js +387 -0
- package/Build/Workers/chunk-LKCCQ3AW.js +198 -0
- package/Build/Workers/chunk-LLQFSX7U.js +139 -0
- package/Build/Workers/chunk-LSDXP6EX.js +75 -0
- package/Build/Workers/chunk-LTYK7VYQ.js +138 -0
- package/Build/Workers/chunk-LYMP3LWI.js +387 -0
- package/Build/Workers/chunk-M2WCZSU6.js +241 -0
- package/Build/Workers/chunk-M35VLUHY.js +352 -0
- package/Build/Workers/chunk-MAPGTIYK.js +2058 -0
- package/Build/Workers/chunk-MG6SYM3V.js +455 -0
- package/Build/Workers/chunk-MKMZHRB3.js +788 -0
- package/Build/Workers/chunk-MNR7L6SQ.js +1483 -0
- package/Build/Workers/chunk-MO25ZQ2I.js +958 -0
- package/Build/Workers/chunk-MOCL5YUJ.js +8366 -0
- package/Build/Workers/chunk-MRYY6ETH.js +280 -0
- package/Build/Workers/chunk-NAIA5L2S.js +682 -0
- package/Build/Workers/chunk-NMDV3OGH.js +958 -0
- package/Build/Workers/chunk-NYE77VTA.js +1054 -0
- package/Build/Workers/chunk-O6RZEKHZ.js +778 -0
- package/Build/Workers/chunk-OFOJ5HD6.js +1460 -0
- package/Build/Workers/chunk-OJNNQSZI.js +788 -0
- package/Build/Workers/chunk-OJXQBSG4.js +692 -0
- package/Build/Workers/chunk-OOCGX2OD.js +102 -0
- package/Build/Workers/chunk-OOY3DP7Z.js +788 -0
- package/Build/Workers/chunk-OSDDHXLU.js +1483 -0
- package/Build/Workers/chunk-OVZNLF46.js +241 -0
- package/Build/Workers/chunk-OXFU5HNU.js +162 -0
- package/Build/Workers/chunk-P5CGIJUY.js +73 -0
- package/Build/Workers/chunk-POLLOX2O.js +352 -0
- package/Build/Workers/chunk-POUR54ZW.js +37 -0
- package/Build/Workers/chunk-PR6F33M6.js +682 -0
- package/Build/Workers/chunk-Q6GCDF2J.js +44 -0
- package/Build/Workers/chunk-Q7HIBRGE.js +97 -0
- package/Build/Workers/chunk-QCJPQ5CQ.js +57 -0
- package/Build/Workers/chunk-QDKQNKG3.js +256 -0
- package/Build/Workers/chunk-QDTDTLQY.js +1067 -0
- package/Build/Workers/chunk-QEANVUGT.js +163 -0
- package/Build/Workers/chunk-QFBCIX7J.js +455 -0
- package/Build/Workers/chunk-QIKGPNLN.js +299 -0
- package/Build/Workers/chunk-QTKDUHWH.js +497 -0
- package/Build/Workers/chunk-QUAH3XOT.js +138 -0
- package/Build/Workers/chunk-R4MI537H.js +1443 -0
- package/Build/Workers/chunk-R5GL5C3T.js +1483 -0
- package/Build/Workers/chunk-RBAGNNPN.js +219 -0
- package/Build/Workers/chunk-RH6GMTSG.js +497 -0
- package/Build/Workers/chunk-RHJJWKSH.js +73 -0
- package/Build/Workers/chunk-RHV6AHJW.js +305 -0
- package/Build/Workers/chunk-RUZPDKUX.js +114 -0
- package/Build/Workers/chunk-RXZDTDIY.js +439 -0
- package/Build/Workers/chunk-SCSEVBY4.js +102 -0
- package/Build/Workers/chunk-SKMYTWWS.js +299 -0
- package/Build/Workers/chunk-SKVAQOZZ.js +1443 -0
- package/Build/Workers/chunk-SPA2KPH3.js +368 -0
- package/Build/Workers/chunk-STDNU6SV.js +1460 -0
- package/Build/Workers/chunk-SXOBEELD.js +55 -0
- package/Build/Workers/chunk-SYDXDJY5.js +2058 -0
- package/Build/Workers/chunk-SZ4ALZDU.js +305 -0
- package/Build/Workers/chunk-T2AGEECA.js +387 -0
- package/Build/Workers/chunk-T5ZG4SFF.js +1067 -0
- package/Build/Workers/chunk-TDSVSW5A.js +1460 -0
- package/Build/Workers/chunk-TJF36YYN.js +837 -0
- package/Build/Workers/chunk-TNZHNGKK.js +439 -0
- package/Build/Workers/chunk-TTWIV2BN.js +102 -0
- package/Build/Workers/chunk-TX3TQPIA.js +44 -0
- package/Build/Workers/chunk-TYPTCQPI.js +1317 -0
- package/Build/Workers/chunk-TZA4ZWFC.js +75 -0
- package/Build/Workers/chunk-UFDTAQBE.js +476 -0
- package/Build/Workers/chunk-UG2DPFOL.js +352 -0
- package/Build/Workers/chunk-UG3AH5C3.js +629 -0
- package/Build/Workers/chunk-UPPGWBJU.js +511 -0
- package/Build/Workers/chunk-URGEDZBS.js +476 -0
- package/Build/Workers/chunk-V35NQOJC.js +642 -0
- package/Build/Workers/chunk-VDNDTTCD.js +958 -0
- package/Build/Workers/chunk-VQIKTYAO.js +368 -0
- package/Build/Workers/chunk-VRXHACYU.js +476 -0
- package/Build/Workers/chunk-VTYZVS6I.js +455 -0
- package/Build/Workers/chunk-VVNCCJGH.js +398 -0
- package/Build/Workers/chunk-W4V3BNFU.js +114 -0
- package/Build/Workers/chunk-W4XUEDU5.js +2058 -0
- package/Build/Workers/chunk-W7UYJE5O.js +2719 -0
- package/Build/Workers/chunk-WB4TSSBQ.js +3514 -0
- package/Build/Workers/chunk-WGZVYW2C.js +124 -0
- package/Build/Workers/chunk-WNFIOIKE.js +414 -0
- package/Build/Workers/chunk-WNHOCO2K.js +280 -0
- package/Build/Workers/chunk-WQG2W2WD.js +837 -0
- package/Build/Workers/chunk-WTLYD4FE.js +1483 -0
- package/Build/Workers/chunk-WV2G6UNC.js +940 -0
- package/Build/Workers/chunk-WVC3OW5V.js +629 -0
- package/Build/Workers/chunk-WWQFFOV6.js +299 -0
- package/Build/Workers/chunk-XD7QHRAY.js +288 -0
- package/Build/Workers/chunk-XH6GW5M4.js +58 -0
- package/Build/Workers/chunk-XIX2VR7Z.js +778 -0
- package/Build/Workers/chunk-XJYSONL4.js +1054 -0
- package/Build/Workers/chunk-XP6ASNFM.js +1317 -0
- package/Build/Workers/chunk-XRDMBCX3.js +439 -0
- package/Build/Workers/chunk-XUA6BCV5.js +642 -0
- package/Build/Workers/chunk-XVBMYEYQ.js +124 -0
- package/Build/Workers/chunk-XWOAVRWZ.js +124 -0
- package/Build/Workers/chunk-Y4ALZ4SS.js +198 -0
- package/Build/Workers/chunk-Y4GOZA56.js +163 -0
- package/Build/Workers/chunk-YF2NVO5B.js +837 -0
- package/Build/Workers/chunk-YGVXG7IR.js +114 -0
- package/Build/Workers/chunk-YI7RTZGC.js +280 -0
- package/Build/Workers/chunk-YM4UTBTX.js +1800 -0
- package/Build/Workers/chunk-YP5ZF2MJ.js +162 -0
- package/Build/Workers/chunk-YSSL4KKM.js +387 -0
- package/Build/Workers/chunk-YSYSXSHF.js +629 -0
- package/Build/Workers/chunk-YX562XOB.js +692 -0
- package/Build/Workers/chunk-YZWA5B4R.js +511 -0
- package/Build/Workers/chunk-Z6DFT4D3.js +288 -0
- package/Build/Workers/chunk-Z6PVZUIE.js +398 -0
- package/Build/Workers/chunk-ZAI6LCSI.js +511 -0
- package/Build/Workers/chunk-ZBIINVUF.js +778 -0
- package/Build/Workers/chunk-ZG3TBDRX.js +1317 -0
- package/Build/Workers/chunk-ZGXHZJ75.js +439 -0
- package/Build/Workers/chunk-ZWDOE2JF.js +162 -0
- package/Build/Workers/combineGeometry.js +66 -0
- package/Build/Workers/createBoxGeometry.js +58 -0
- package/Build/Workers/createBoxOutlineGeometry.js +231 -0
- package/Build/Workers/createCircleGeometry.js +201 -0
- package/Build/Workers/createCircleOutlineGeometry.js +147 -0
- package/Build/Workers/createCoplanarPolygonGeometry.js +505 -0
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +225 -0
- package/Build/Workers/createCorridorGeometry.js +1258 -0
- package/Build/Workers/createCorridorOutlineGeometry.js +563 -0
- package/Build/Workers/createCylinderGeometry.js +60 -0
- package/Build/Workers/createCylinderOutlineGeometry.js +231 -0
- package/Build/Workers/createEllipseGeometry.js +72 -0
- package/Build/Workers/createEllipseOutlineGeometry.js +65 -0
- package/Build/Workers/createEllipsoidGeometry.js +59 -0
- package/Build/Workers/createEllipsoidOutlineGeometry.js +61 -0
- package/Build/Workers/createFrustumGeometry.js +58 -0
- package/Build/Workers/createFrustumOutlineGeometry.js +234 -0
- package/Build/Workers/createGeometry.js +173 -0
- package/Build/Workers/createGroundPolylineGeometry.js +1602 -0
- package/Build/Workers/createPlaneGeometry.js +223 -0
- package/Build/Workers/createPlaneOutlineGeometry.js +124 -0
- package/Build/Workers/createPolygonGeometry.js +1404 -0
- package/Build/Workers/createPolygonOutlineGeometry.js +532 -0
- package/Build/Workers/createPolylineGeometry.js +491 -0
- package/Build/Workers/createPolylineVolumeGeometry.js +374 -0
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +272 -0
- package/Build/Workers/createRectangleGeometry.js +1264 -0
- package/Build/Workers/createRectangleOutlineGeometry.js +476 -0
- package/Build/Workers/createSimplePolylineGeometry.js +397 -0
- package/Build/Workers/createSphereGeometry.js +116 -0
- package/Build/Workers/createSphereOutlineGeometry.js +116 -0
- package/Build/Workers/createTaskProcessorWorker.js +32 -0
- package/Build/Workers/createVectorTileClampedPolylines.js +492 -0
- package/Build/Workers/createVectorTileGeometries.js +387 -0
- package/Build/Workers/createVectorTilePoints.js +114 -0
- package/Build/Workers/createVectorTilePolygons.js +386 -0
- package/Build/Workers/createVectorTilePolylines.js +262 -0
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +91 -0
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +565 -0
- package/Build/Workers/createVerticesFromHeightmap.js +2254 -0
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +499 -0
- package/Build/Workers/createWallGeometry.js +487 -0
- package/Build/Workers/createWallOutlineGeometry.js +335 -0
- package/Build/Workers/decodeDraco.js +369 -0
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +2666 -0
- package/Build/Workers/decodeI3S.js +1339 -0
- package/Build/Workers/gaussianSplatSorter.js +62 -0
- package/Build/Workers/gaussianSplatTextureGenerator.js +68 -0
- package/Build/Workers/incrementallyBuildTerrainPicker.js +121 -0
- package/Build/Workers/transcodeKTX2.js +3463 -0
- package/Build/Workers/transferTypedArrayTest.js +41 -0
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +820 -0
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +95 -0
- package/LICENSE.md +928 -0
- package/README.md +3 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
- package/Source/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
- package/Source/Assets/Images/bing_maps_credit.png +0 -0
- package/Source/Assets/Images/cesium_credit.png +0 -0
- package/Source/Assets/Images/google_earth_credit.png +0 -0
- package/Source/Assets/Images/ion-credit.png +0 -0
- package/Source/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
- package/Source/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
- package/Source/Assets/Textures/NaturalEarthII/tilemapresource.xml +14 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- package/Source/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- package/Source/Assets/Textures/maki/airfield.png +0 -0
- package/Source/Assets/Textures/maki/airport.png +0 -0
- package/Source/Assets/Textures/maki/alcohol-shop.png +0 -0
- package/Source/Assets/Textures/maki/america-football.png +0 -0
- package/Source/Assets/Textures/maki/art-gallery.png +0 -0
- package/Source/Assets/Textures/maki/bakery.png +0 -0
- package/Source/Assets/Textures/maki/bank.png +0 -0
- package/Source/Assets/Textures/maki/bar.png +0 -0
- package/Source/Assets/Textures/maki/baseball.png +0 -0
- package/Source/Assets/Textures/maki/basketball.png +0 -0
- package/Source/Assets/Textures/maki/beer.png +0 -0
- package/Source/Assets/Textures/maki/bicycle.png +0 -0
- package/Source/Assets/Textures/maki/building.png +0 -0
- package/Source/Assets/Textures/maki/bus.png +0 -0
- package/Source/Assets/Textures/maki/cafe.png +0 -0
- package/Source/Assets/Textures/maki/camera.png +0 -0
- package/Source/Assets/Textures/maki/campsite.png +0 -0
- package/Source/Assets/Textures/maki/car.png +0 -0
- package/Source/Assets/Textures/maki/cemetery.png +0 -0
- package/Source/Assets/Textures/maki/cesium.png +0 -0
- package/Source/Assets/Textures/maki/chemist.png +0 -0
- package/Source/Assets/Textures/maki/cinema.png +0 -0
- package/Source/Assets/Textures/maki/circle-stroked.png +0 -0
- package/Source/Assets/Textures/maki/circle.png +0 -0
- package/Source/Assets/Textures/maki/city.png +0 -0
- package/Source/Assets/Textures/maki/clothing-store.png +0 -0
- package/Source/Assets/Textures/maki/college.png +0 -0
- package/Source/Assets/Textures/maki/commercial.png +0 -0
- package/Source/Assets/Textures/maki/cricket.png +0 -0
- package/Source/Assets/Textures/maki/cross.png +0 -0
- package/Source/Assets/Textures/maki/dam.png +0 -0
- package/Source/Assets/Textures/maki/danger.png +0 -0
- package/Source/Assets/Textures/maki/disability.png +0 -0
- package/Source/Assets/Textures/maki/dog-park.png +0 -0
- package/Source/Assets/Textures/maki/embassy.png +0 -0
- package/Source/Assets/Textures/maki/emergency-telephone.png +0 -0
- package/Source/Assets/Textures/maki/entrance.png +0 -0
- package/Source/Assets/Textures/maki/farm.png +0 -0
- package/Source/Assets/Textures/maki/fast-food.png +0 -0
- package/Source/Assets/Textures/maki/ferry.png +0 -0
- package/Source/Assets/Textures/maki/fire-station.png +0 -0
- package/Source/Assets/Textures/maki/fuel.png +0 -0
- package/Source/Assets/Textures/maki/garden.png +0 -0
- package/Source/Assets/Textures/maki/gift.png +0 -0
- package/Source/Assets/Textures/maki/golf.png +0 -0
- package/Source/Assets/Textures/maki/grocery.png +0 -0
- package/Source/Assets/Textures/maki/hairdresser.png +0 -0
- package/Source/Assets/Textures/maki/harbor.png +0 -0
- package/Source/Assets/Textures/maki/heart.png +0 -0
- package/Source/Assets/Textures/maki/heliport.png +0 -0
- package/Source/Assets/Textures/maki/hospital.png +0 -0
- package/Source/Assets/Textures/maki/ice-cream.png +0 -0
- package/Source/Assets/Textures/maki/industrial.png +0 -0
- package/Source/Assets/Textures/maki/land-use.png +0 -0
- package/Source/Assets/Textures/maki/laundry.png +0 -0
- package/Source/Assets/Textures/maki/library.png +0 -0
- package/Source/Assets/Textures/maki/lighthouse.png +0 -0
- package/Source/Assets/Textures/maki/lodging.png +0 -0
- package/Source/Assets/Textures/maki/logging.png +0 -0
- package/Source/Assets/Textures/maki/london-underground.png +0 -0
- package/Source/Assets/Textures/maki/marker-stroked.png +0 -0
- package/Source/Assets/Textures/maki/marker.png +0 -0
- package/Source/Assets/Textures/maki/minefield.png +0 -0
- package/Source/Assets/Textures/maki/mobilephone.png +0 -0
- package/Source/Assets/Textures/maki/monument.png +0 -0
- package/Source/Assets/Textures/maki/museum.png +0 -0
- package/Source/Assets/Textures/maki/music.png +0 -0
- package/Source/Assets/Textures/maki/oil-well.png +0 -0
- package/Source/Assets/Textures/maki/park.png +0 -0
- package/Source/Assets/Textures/maki/park2.png +0 -0
- package/Source/Assets/Textures/maki/parking-garage.png +0 -0
- package/Source/Assets/Textures/maki/parking.png +0 -0
- package/Source/Assets/Textures/maki/pharmacy.png +0 -0
- package/Source/Assets/Textures/maki/pitch.png +0 -0
- package/Source/Assets/Textures/maki/place-of-worship.png +0 -0
- package/Source/Assets/Textures/maki/playground.png +0 -0
- package/Source/Assets/Textures/maki/police.png +0 -0
- package/Source/Assets/Textures/maki/polling-place.png +0 -0
- package/Source/Assets/Textures/maki/post.png +0 -0
- package/Source/Assets/Textures/maki/prison.png +0 -0
- package/Source/Assets/Textures/maki/rail-above.png +0 -0
- package/Source/Assets/Textures/maki/rail-light.png +0 -0
- package/Source/Assets/Textures/maki/rail-metro.png +0 -0
- package/Source/Assets/Textures/maki/rail-underground.png +0 -0
- package/Source/Assets/Textures/maki/rail.png +0 -0
- package/Source/Assets/Textures/maki/religious-christian.png +0 -0
- package/Source/Assets/Textures/maki/religious-jewish.png +0 -0
- package/Source/Assets/Textures/maki/religious-muslim.png +0 -0
- package/Source/Assets/Textures/maki/restaurant.png +0 -0
- package/Source/Assets/Textures/maki/roadblock.png +0 -0
- package/Source/Assets/Textures/maki/rocket.png +0 -0
- package/Source/Assets/Textures/maki/school.png +0 -0
- package/Source/Assets/Textures/maki/scooter.png +0 -0
- package/Source/Assets/Textures/maki/shop.png +0 -0
- package/Source/Assets/Textures/maki/skiing.png +0 -0
- package/Source/Assets/Textures/maki/slaughterhouse.png +0 -0
- package/Source/Assets/Textures/maki/soccer.png +0 -0
- package/Source/Assets/Textures/maki/square-stroked.png +0 -0
- package/Source/Assets/Textures/maki/square.png +0 -0
- package/Source/Assets/Textures/maki/star-stroked.png +0 -0
- package/Source/Assets/Textures/maki/star.png +0 -0
- package/Source/Assets/Textures/maki/suitcase.png +0 -0
- package/Source/Assets/Textures/maki/swimming.png +0 -0
- package/Source/Assets/Textures/maki/telephone.png +0 -0
- package/Source/Assets/Textures/maki/tennis.png +0 -0
- package/Source/Assets/Textures/maki/theatre.png +0 -0
- package/Source/Assets/Textures/maki/toilets.png +0 -0
- package/Source/Assets/Textures/maki/town-hall.png +0 -0
- package/Source/Assets/Textures/maki/town.png +0 -0
- package/Source/Assets/Textures/maki/triangle-stroked.png +0 -0
- package/Source/Assets/Textures/maki/triangle.png +0 -0
- package/Source/Assets/Textures/maki/village.png +0 -0
- package/Source/Assets/Textures/maki/warehouse.png +0 -0
- package/Source/Assets/Textures/maki/waste-basket.png +0 -0
- package/Source/Assets/Textures/maki/water.png +0 -0
- package/Source/Assets/Textures/maki/wetland.png +0 -0
- package/Source/Assets/Textures/maki/zoo.png +0 -0
- package/Source/Assets/Textures/moonSmall.jpg +0 -0
- package/Source/Assets/Textures/pin.svg +1 -0
- package/Source/Assets/Textures/waterNormals.jpg +0 -0
- package/Source/Assets/Textures/waterNormalsSmall.jpg +0 -0
- package/Source/Assets/approximateTerrainHeights.json +1 -0
- package/Source/Core/ApproximateTerrainHeights.js +255 -0
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +755 -0
- package/Source/Core/ArcType.js +31 -0
- package/Source/Core/ArticulationStageType.js +23 -0
- package/Source/Core/AssociativeArray.js +127 -0
- package/Source/Core/AttributeCompression.js +527 -0
- package/Source/Core/AxisAlignedBoundingBox.js +294 -0
- package/Source/Core/BingMapsGeocoderService.js +127 -0
- package/Source/Core/BoundingRectangle.js +374 -0
- package/Source/Core/BoundingSphere.js +1506 -0
- package/Source/Core/BoxGeometry.js +893 -0
- package/Source/Core/BoxOutlineGeometry.js +312 -0
- package/Source/Core/Cartesian2.js +823 -0
- package/Source/Core/Cartesian3.js +1220 -0
- package/Source/Core/Cartesian4.js +979 -0
- package/Source/Core/Cartographic.js +304 -0
- package/Source/Core/CartographicGeocoderService.js +73 -0
- package/Source/Core/CatmullRomSpline.js +324 -0
- package/Source/Core/Cesium3DTilesTerrainData.js +932 -0
- package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +1868 -0
- package/Source/Core/Cesium3DTilesTerrainProvider.js +1052 -0
- package/Source/Core/CesiumTerrainProvider.js +1408 -0
- package/Source/Core/Check.d.ts +131 -0
- package/Source/Core/Check.js +212 -0
- package/Source/Core/CircleGeometry.js +207 -0
- package/Source/Core/CircleOutlineGeometry.js +149 -0
- package/Source/Core/Clock.js +316 -0
- package/Source/Core/ClockRange.js +39 -0
- package/Source/Core/ClockStep.js +38 -0
- package/Source/Core/Color.js +2283 -0
- package/Source/Core/ColorGeometryInstanceAttribute.js +181 -0
- package/Source/Core/ComponentDatatype.js +338 -0
- package/Source/Core/CompressedTextureBuffer.js +125 -0
- package/Source/Core/ConstantSpline.js +119 -0
- package/Source/Core/CoplanarPolygonGeometry.js +600 -0
- package/Source/Core/CoplanarPolygonGeometryLibrary.js +132 -0
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +237 -0
- package/Source/Core/CornerType.js +37 -0
- package/Source/Core/CorridorGeometry.js +1411 -0
- package/Source/Core/CorridorGeometryLibrary.js +501 -0
- package/Source/Core/CorridorOutlineGeometry.js +599 -0
- package/Source/Core/Credit.js +172 -0
- package/Source/Core/CubicRealPolynomial.js +238 -0
- package/Source/Core/CullingVolume.js +216 -0
- package/Source/Core/CustomHeightmapTerrainProvider.js +287 -0
- package/Source/Core/CylinderGeometry.js +479 -0
- package/Source/Core/CylinderGeometryLibrary.js +59 -0
- package/Source/Core/CylinderOutlineGeometry.js +269 -0
- package/Source/Core/DefaultProxy.js +26 -0
- package/Source/Core/DeveloperError.js +75 -0
- package/Source/Core/DistanceDisplayCondition.js +171 -0
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +179 -0
- package/Source/Core/DoubleEndedPriorityQueue.js +405 -0
- package/Source/Core/DoublyLinkedList.js +112 -0
- package/Source/Core/EarthOrientationParameters.js +431 -0
- package/Source/Core/EarthOrientationParametersSample.js +52 -0
- package/Source/Core/EasingFunction.js +257 -0
- package/Source/Core/EllipseGeometry.js +1318 -0
- package/Source/Core/EllipseGeometryLibrary.js +365 -0
- package/Source/Core/EllipseOutlineGeometry.js +451 -0
- package/Source/Core/Ellipsoid.js +889 -0
- package/Source/Core/EllipsoidGeodesic.js +523 -0
- package/Source/Core/EllipsoidGeometry.js +650 -0
- package/Source/Core/EllipsoidOutlineGeometry.js +464 -0
- package/Source/Core/EllipsoidRhumbLine.js +751 -0
- package/Source/Core/EllipsoidTangentPlane.js +382 -0
- package/Source/Core/EllipsoidTerrainProvider.js +201 -0
- package/Source/Core/EllipsoidalOccluder.js +538 -0
- package/Source/Core/EncodedCartesian3.js +170 -0
- package/Source/Core/Event.js +205 -0
- package/Source/Core/EventHelper.js +74 -0
- package/Source/Core/ExtrapolationType.js +34 -0
- package/Source/Core/FeatureDetection.js +435 -0
- package/Source/Core/Frozen.js +24 -0
- package/Source/Core/FrustumGeometry.js +583 -0
- package/Source/Core/FrustumOutlineGeometry.js +253 -0
- package/Source/Core/Fullscreen.js +249 -0
- package/Source/Core/GeocodeType.js +24 -0
- package/Source/Core/GeocoderService.js +60 -0
- package/Source/Core/GeographicProjection.js +105 -0
- package/Source/Core/GeographicTilingScheme.js +245 -0
- package/Source/Core/Geometry.js +371 -0
- package/Source/Core/GeometryAttribute.js +133 -0
- package/Source/Core/GeometryAttributes.js +88 -0
- package/Source/Core/GeometryFactory.js +25 -0
- package/Source/Core/GeometryInstance.js +118 -0
- package/Source/Core/GeometryInstanceAttribute.js +133 -0
- package/Source/Core/GeometryOffsetAttribute.js +10 -0
- package/Source/Core/GeometryPipeline.js +3291 -0
- package/Source/Core/GeometryType.js +10 -0
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +584 -0
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +606 -0
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +574 -0
- package/Source/Core/GoogleEarthEnterpriseTileInformation.js +136 -0
- package/Source/Core/GoogleGeocoderService.js +110 -0
- package/Source/Core/GoogleMaps.js +40 -0
- package/Source/Core/GregorianDate.js +153 -0
- package/Source/Core/GroundPolylineGeometry.js +1659 -0
- package/Source/Core/HeadingPitchRange.js +59 -0
- package/Source/Core/HeadingPitchRoll.js +235 -0
- package/Source/Core/Heap.js +233 -0
- package/Source/Core/HeightmapEncoding.js +25 -0
- package/Source/Core/HeightmapTerrainData.js +903 -0
- package/Source/Core/HeightmapTessellator.js +518 -0
- package/Source/Core/HermitePolynomialApproximation.js +341 -0
- package/Source/Core/HermiteSpline.js +620 -0
- package/Source/Core/HilbertOrder.js +112 -0
- package/Source/Core/ITwinPlatform.js +388 -0
- package/Source/Core/Iau2000Orientation.js +167 -0
- package/Source/Core/Iau2006XysData.js +275 -0
- package/Source/Core/Iau2006XysSample.js +32 -0
- package/Source/Core/IauOrientationAxes.js +105 -0
- package/Source/Core/IauOrientationParameters.js +54 -0
- package/Source/Core/IndexDatatype.js +199 -0
- package/Source/Core/InterpolationAlgorithm.js +65 -0
- package/Source/Core/InterpolationType.js +14 -0
- package/Source/Core/Intersect.js +34 -0
- package/Source/Core/IntersectionTests.js +1087 -0
- package/Source/Core/Intersections2D.js +358 -0
- package/Source/Core/Interval.js +23 -0
- package/Source/Core/Ion.js +56 -0
- package/Source/Core/IonGeocodeProviderType.js +33 -0
- package/Source/Core/IonGeocoderService.js +147 -0
- package/Source/Core/IonResource.js +321 -0
- package/Source/Core/Iso8601.js +54 -0
- package/Source/Core/JulianDate.js +1229 -0
- package/Source/Core/KTX2Transcoder.js +92 -0
- package/Source/Core/KeyboardEventModifier.js +32 -0
- package/Source/Core/LagrangePolynomialApproximation.js +71 -0
- package/Source/Core/LeapSecond.js +24 -0
- package/Source/Core/LinearApproximation.js +83 -0
- package/Source/Core/LinearSpline.js +166 -0
- package/Source/Core/ManagedArray.js +162 -0
- package/Source/Core/MapProjection.js +62 -0
- package/Source/Core/Math.js +1125 -0
- package/Source/Core/Matrix2.js +1092 -0
- package/Source/Core/Matrix3.js +1838 -0
- package/Source/Core/Matrix4.js +3233 -0
- package/Source/Core/MorphWeightSpline.js +161 -0
- package/Source/Core/MortonOrder.js +214 -0
- package/Source/Core/NearFarScalar.js +173 -0
- package/Source/Core/Occluder.js +727 -0
- package/Source/Core/OffsetGeometryInstanceAttribute.js +125 -0
- package/Source/Core/OpenCageGeocoderService.js +134 -0
- package/Source/Core/OrientedBoundingBox.js +1272 -0
- package/Source/Core/OrthographicFrustum.js +351 -0
- package/Source/Core/OrthographicOffCenterFrustum.js +463 -0
- package/Source/Core/Packable.js +40 -0
- package/Source/Core/PackableForInterpolation.js +43 -0
- package/Source/Core/PeliasGeocoderService.js +106 -0
- package/Source/Core/PerspectiveFrustum.js +459 -0
- package/Source/Core/PerspectiveOffCenterFrustum.js +522 -0
- package/Source/Core/PinBuilder.js +234 -0
- package/Source/Core/PixelFormat.js +603 -0
- package/Source/Core/Plane.js +312 -0
- package/Source/Core/PlaneGeometry.js +250 -0
- package/Source/Core/PlaneOutlineGeometry.js +113 -0
- package/Source/Core/PolygonGeometry.js +1580 -0
- package/Source/Core/PolygonGeometryLibrary.js +1301 -0
- package/Source/Core/PolygonHierarchy.js +25 -0
- package/Source/Core/PolygonOutlineGeometry.js +687 -0
- package/Source/Core/PolygonPipeline.js +632 -0
- package/Source/Core/PolylineGeometry.js +573 -0
- package/Source/Core/PolylinePipeline.js +573 -0
- package/Source/Core/PolylineVolumeGeometry.js +412 -0
- package/Source/Core/PolylineVolumeGeometryLibrary.js +701 -0
- package/Source/Core/PolylineVolumeOutlineGeometry.js +294 -0
- package/Source/Core/PrimitiveType.js +107 -0
- package/Source/Core/Proxy.js +24 -0
- package/Source/Core/QuadraticRealPolynomial.js +147 -0
- package/Source/Core/QuantizedMeshTerrainData.js +735 -0
- package/Source/Core/QuarticRealPolynomial.js +342 -0
- package/Source/Core/Quaternion.js +1145 -0
- package/Source/Core/QuaternionSpline.js +155 -0
- package/Source/Core/Queue.js +126 -0
- package/Source/Core/Ray.js +79 -0
- package/Source/Core/Rectangle.js +1071 -0
- package/Source/Core/RectangleCollisionChecker.js +95 -0
- package/Source/Core/RectangleGeometry.js +1480 -0
- package/Source/Core/RectangleGeometryLibrary.js +286 -0
- package/Source/Core/RectangleOutlineGeometry.js +532 -0
- package/Source/Core/ReferenceFrame.js +23 -0
- package/Source/Core/Request.js +193 -0
- package/Source/Core/RequestErrorEvent.js +58 -0
- package/Source/Core/RequestScheduler.js +519 -0
- package/Source/Core/RequestState.js +55 -0
- package/Source/Core/RequestType.js +39 -0
- package/Source/Core/Resource.js +2280 -0
- package/Source/Core/RuntimeError.js +65 -0
- package/Source/Core/S2Cell.js +734 -0
- package/Source/Core/ScreenSpaceEventHandler.js +1140 -0
- package/Source/Core/ScreenSpaceEventType.js +127 -0
- package/Source/Core/ShowGeometryInstanceAttribute.js +122 -0
- package/Source/Core/Simon1994PlanetaryPositions.js +684 -0
- package/Source/Core/SimplePolylineGeometry.js +454 -0
- package/Source/Core/SphereGeometry.js +117 -0
- package/Source/Core/SphereOutlineGeometry.js +119 -0
- package/Source/Core/Spherical.js +183 -0
- package/Source/Core/Spline.js +188 -0
- package/Source/Core/SteppedSpline.js +160 -0
- package/Source/Core/Stereographic.js +247 -0
- package/Source/Core/TaskProcessor.js +403 -0
- package/Source/Core/TerrainData.js +126 -0
- package/Source/Core/TerrainEncoding.js +772 -0
- package/Source/Core/TerrainMesh.js +361 -0
- package/Source/Core/TerrainPicker.js +607 -0
- package/Source/Core/TerrainProvider.js +585 -0
- package/Source/Core/TerrainQuantization.js +25 -0
- package/Source/Core/TexturePacker.js +181 -0
- package/Source/Core/TileAvailability.js +564 -0
- package/Source/Core/TileEdge.js +14 -0
- package/Source/Core/TileProviderError.js +170 -0
- package/Source/Core/TilingScheme.js +132 -0
- package/Source/Core/TimeConstants.js +83 -0
- package/Source/Core/TimeInterval.js +438 -0
- package/Source/Core/TimeIntervalCollection.js +1137 -0
- package/Source/Core/TimeStandard.js +30 -0
- package/Source/Core/Tipsify.js +314 -0
- package/Source/Core/TrackingReferenceFrame.js +45 -0
- package/Source/Core/Transforms.js +1277 -0
- package/Source/Core/TranslationRotationScale.js +57 -0
- package/Source/Core/TridiagonalSystemSolver.js +113 -0
- package/Source/Core/TrustedServers.js +146 -0
- package/Source/Core/VRTheWorldTerrainProvider.js +462 -0
- package/Source/Core/VertexFormat.js +311 -0
- package/Source/Core/VerticalExaggeration.js +70 -0
- package/Source/Core/VideoSynchronizer.js +222 -0
- package/Source/Core/Visibility.js +34 -0
- package/Source/Core/VulkanConstants.js +286 -0
- package/Source/Core/WallGeometry.js +623 -0
- package/Source/Core/WallGeometryLibrary.js +212 -0
- package/Source/Core/WallOutlineGeometry.js +431 -0
- package/Source/Core/WebGLConstants.js +614 -0
- package/Source/Core/WebMercatorProjection.js +152 -0
- package/Source/Core/WebMercatorTilingScheme.js +291 -0
- package/Source/Core/WindingOrder.js +36 -0
- package/Source/Core/WireframeIndexGenerator.js +238 -0
- package/Source/Core/addAllToArray.js +40 -0
- package/Source/Core/appendForwardSlash.js +10 -0
- package/Source/Core/arrayRemoveDuplicates.js +129 -0
- package/Source/Core/barycentricCoordinates.js +109 -0
- package/Source/Core/binarySearch.js +67 -0
- package/Source/Core/buildModuleUrl.js +153 -0
- package/Source/Core/clone.js +30 -0
- package/Source/Core/combine.js +79 -0
- package/Source/Core/createGuid.js +22 -0
- package/Source/Core/createWorldBathymetryAsync.js +45 -0
- package/Source/Core/createWorldTerrainAsync.js +50 -0
- package/Source/Core/decodeGoogleEarthEnterpriseData.js +93 -0
- package/Source/Core/decodeVectorPolylinePositions.js +51 -0
- package/Source/Core/defaultValue.js +29 -0
- package/Source/Core/defer.js +44 -0
- package/Source/Core/defined.d.ts +11 -0
- package/Source/Core/defined.js +17 -0
- package/Source/Core/deprecationWarning.js +53 -0
- package/Source/Core/destroyObject.js +53 -0
- package/Source/Core/formatError.js +30 -0
- package/Source/Core/getAbsoluteUri.js +46 -0
- package/Source/Core/getBaseUri.js +47 -0
- package/Source/Core/getExtensionFromUri.js +38 -0
- package/Source/Core/getFilenameFromUri.js +32 -0
- package/Source/Core/getImageFromTypedArray.js +24 -0
- package/Source/Core/getImagePixels.js +44 -0
- package/Source/Core/getJsonFromTypedArray.js +21 -0
- package/Source/Core/getMagic.js +14 -0
- package/Source/Core/getStringFromTypedArray.js +165 -0
- package/Source/Core/getTimestamp.js +26 -0
- package/Source/Core/isBitSet.js +7 -0
- package/Source/Core/isBlobUri.js +22 -0
- package/Source/Core/isCrossOriginUrl.js +30 -0
- package/Source/Core/isDataUri.js +22 -0
- package/Source/Core/isLeapYear.js +23 -0
- package/Source/Core/loadAndExecuteScript.js +27 -0
- package/Source/Core/loadImageFromTypedArray.js +66 -0
- package/Source/Core/loadKTX2.js +104 -0
- package/Source/Core/mergeSort.js +111 -0
- package/Source/Core/objectToQuery.js +57 -0
- package/Source/Core/oneTimeWarning.js +51 -0
- package/Source/Core/parseResponseHeaders.js +37 -0
- package/Source/Core/pointInsideTriangle.js +39 -0
- package/Source/Core/queryToObject.js +60 -0
- package/Source/Core/resizeImageToNextPowerOfTwo.js +31 -0
- package/Source/Core/sampleTerrain.js +291 -0
- package/Source/Core/sampleTerrainMostDetailed.js +132 -0
- package/Source/Core/scaleToGeodeticSurface.js +147 -0
- package/Source/Core/srgbToLinear.js +32 -0
- package/Source/Core/subdivideArray.js +35 -0
- package/Source/Core/webGLConstantToGlslType.js +25 -0
- package/Source/Core/wrapFunction.js +26 -0
- package/Source/Core/writeTextToCanvas.js +219 -0
- package/Source/DataSources/BillboardGraphics.js +419 -0
- package/Source/DataSources/BillboardVisualizer.js +351 -0
- package/Source/DataSources/BoundingSphereState.js +26 -0
- package/Source/DataSources/BoxGeometryUpdater.js +326 -0
- package/Source/DataSources/BoxGraphics.js +208 -0
- package/Source/DataSources/CallbackPositionProperty.js +172 -0
- package/Source/DataSources/CallbackProperty.js +117 -0
- package/Source/DataSources/Cesium3DTilesetGraphics.js +111 -0
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +261 -0
- package/Source/DataSources/CheckerboardMaterialProperty.js +157 -0
- package/Source/DataSources/ColorMaterialProperty.js +112 -0
- package/Source/DataSources/CompositeEntityCollection.js +591 -0
- package/Source/DataSources/CompositeMaterialProperty.js +128 -0
- package/Source/DataSources/CompositePositionProperty.js +153 -0
- package/Source/DataSources/CompositeProperty.js +154 -0
- package/Source/DataSources/ConstantPositionProperty.js +151 -0
- package/Source/DataSources/ConstantProperty.js +116 -0
- package/Source/DataSources/CorridorGeometryUpdater.js +409 -0
- package/Source/DataSources/CorridorGraphics.js +316 -0
- package/Source/DataSources/CustomDataSource.js +173 -0
- package/Source/DataSources/CylinderGeometryUpdater.js +375 -0
- package/Source/DataSources/CylinderGraphics.js +258 -0
- package/Source/DataSources/CzmlDataSource.js +5142 -0
- package/Source/DataSources/DataSource.js +121 -0
- package/Source/DataSources/DataSourceClock.js +164 -0
- package/Source/DataSources/DataSourceCollection.js +335 -0
- package/Source/DataSources/DataSourceDisplay.js +543 -0
- package/Source/DataSources/DynamicGeometryBatch.js +56 -0
- package/Source/DataSources/DynamicGeometryUpdater.js +270 -0
- package/Source/DataSources/EllipseGeometryUpdater.js +434 -0
- package/Source/DataSources/EllipseGraphics.js +343 -0
- package/Source/DataSources/EllipsoidGeometryUpdater.js +710 -0
- package/Source/DataSources/EllipsoidGraphics.js +312 -0
- package/Source/DataSources/Entity.js +789 -0
- package/Source/DataSources/EntityCluster.js +1022 -0
- package/Source/DataSources/EntityCollection.js +439 -0
- package/Source/DataSources/EntityView.js +476 -0
- package/Source/DataSources/GeoJsonDataSource.js +1064 -0
- package/Source/DataSources/GeometryUpdater.js +538 -0
- package/Source/DataSources/GeometryUpdaterSet.js +114 -0
- package/Source/DataSources/GeometryVisualizer.js +549 -0
- package/Source/DataSources/GpxDataSource.js +1018 -0
- package/Source/DataSources/GridMaterialProperty.js +204 -0
- package/Source/DataSources/GroundGeometryUpdater.js +234 -0
- package/Source/DataSources/ImageMaterialProperty.js +173 -0
- package/Source/DataSources/KmlCamera.js +13 -0
- package/Source/DataSources/KmlDataSource.js +4249 -0
- package/Source/DataSources/KmlLookAt.js +12 -0
- package/Source/DataSources/KmlTour.js +165 -0
- package/Source/DataSources/KmlTourFlyTo.js +109 -0
- package/Source/DataSources/KmlTourWait.js +52 -0
- package/Source/DataSources/LabelGraphics.js +401 -0
- package/Source/DataSources/LabelVisualizer.js +359 -0
- package/Source/DataSources/MaterialProperty.js +111 -0
- package/Source/DataSources/ModelGraphics.js +456 -0
- package/Source/DataSources/ModelVisualizer.js +560 -0
- package/Source/DataSources/NodeTransformationProperty.js +150 -0
- package/Source/DataSources/PathGraphics.js +161 -0
- package/Source/DataSources/PathVisualizer.js +823 -0
- package/Source/DataSources/PlaneGeometryUpdater.js +385 -0
- package/Source/DataSources/PlaneGraphics.js +208 -0
- package/Source/DataSources/PointGraphics.js +223 -0
- package/Source/DataSources/PointVisualizer.js +438 -0
- package/Source/DataSources/PolygonGeometryUpdater.js +591 -0
- package/Source/DataSources/PolygonGraphics.js +383 -0
- package/Source/DataSources/PolylineArrowMaterialProperty.js +110 -0
- package/Source/DataSources/PolylineDashMaterialProperty.js +174 -0
- package/Source/DataSources/PolylineGeometryUpdater.js +878 -0
- package/Source/DataSources/PolylineGlowMaterialProperty.js +152 -0
- package/Source/DataSources/PolylineGraphics.js +241 -0
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +158 -0
- package/Source/DataSources/PolylineVisualizer.js +409 -0
- package/Source/DataSources/PolylineVolumeGeometryUpdater.js +306 -0
- package/Source/DataSources/PolylineVolumeGraphics.js +235 -0
- package/Source/DataSources/PositionProperty.js +131 -0
- package/Source/DataSources/PositionPropertyArray.js +192 -0
- package/Source/DataSources/Property.js +137 -0
- package/Source/DataSources/PropertyArray.js +147 -0
- package/Source/DataSources/PropertyBag.js +275 -0
- package/Source/DataSources/RectangleGeometryUpdater.js +427 -0
- package/Source/DataSources/RectangleGraphics.js +317 -0
- package/Source/DataSources/ReferenceProperty.js +371 -0
- package/Source/DataSources/Rotation.js +155 -0
- package/Source/DataSources/SampledPositionProperty.js +330 -0
- package/Source/DataSources/SampledProperty.js +855 -0
- package/Source/DataSources/ScaledPositionProperty.js +103 -0
- package/Source/DataSources/StaticGeometryColorBatch.js +570 -0
- package/Source/DataSources/StaticGeometryPerMaterialBatch.js +488 -0
- package/Source/DataSources/StaticGroundGeometryColorBatch.js +394 -0
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +456 -0
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +434 -0
- package/Source/DataSources/StaticOutlineGeometryBatch.js +465 -0
- package/Source/DataSources/StripeMaterialProperty.js +193 -0
- package/Source/DataSources/StripeOrientation.js +19 -0
- package/Source/DataSources/TerrainOffsetProperty.js +243 -0
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +155 -0
- package/Source/DataSources/TimeIntervalCollectionProperty.js +136 -0
- package/Source/DataSources/VelocityOrientationProperty.js +158 -0
- package/Source/DataSources/VelocityVectorProperty.js +213 -0
- package/Source/DataSources/Visualizer.js +61 -0
- package/Source/DataSources/WallGeometryUpdater.js +275 -0
- package/Source/DataSources/WallGraphics.js +236 -0
- package/Source/DataSources/createMaterialPropertyDescriptor.js +35 -0
- package/Source/DataSources/createPropertyDescriptor.js +71 -0
- package/Source/DataSources/createRawPropertyDescriptor.js +13 -0
- package/Source/DataSources/exportKml.js +1517 -0
- package/Source/DataSources/getElement.js +26 -0
- package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +47 -0
- package/Source/Renderer/AutomaticUniforms.js +1857 -0
- package/Source/Renderer/Buffer.js +452 -0
- package/Source/Renderer/BufferUsage.js +21 -0
- package/Source/Renderer/ClearCommand.js +102 -0
- package/Source/Renderer/ComputeCommand.js +119 -0
- package/Source/Renderer/ComputeEngine.js +135 -0
- package/Source/Renderer/Context.js +1752 -0
- package/Source/Renderer/ContextLimits.js +299 -0
- package/Source/Renderer/CubeMap.js +686 -0
- package/Source/Renderer/CubeMapFace.js +415 -0
- package/Source/Renderer/DrawCommand.js +644 -0
- package/Source/Renderer/Framebuffer.js +447 -0
- package/Source/Renderer/FramebufferManager.js +489 -0
- package/Source/Renderer/MipmapHint.js +19 -0
- package/Source/Renderer/MultisampleFramebuffer.js +136 -0
- package/Source/Renderer/Pass.js +29 -0
- package/Source/Renderer/PassState.js +57 -0
- package/Source/Renderer/PixelDatatype.js +121 -0
- package/Source/Renderer/RenderState.js +967 -0
- package/Source/Renderer/Renderbuffer.js +105 -0
- package/Source/Renderer/RenderbufferFormat.js +42 -0
- package/Source/Renderer/Sampler.js +116 -0
- package/Source/Renderer/ShaderBuilder.js +597 -0
- package/Source/Renderer/ShaderCache.js +287 -0
- package/Source/Renderer/ShaderDestination.js +51 -0
- package/Source/Renderer/ShaderFunction.js +66 -0
- package/Source/Renderer/ShaderProgram.js +619 -0
- package/Source/Renderer/ShaderSource.js +524 -0
- package/Source/Renderer/ShaderStruct.js +55 -0
- package/Source/Renderer/SharedContext.js +186 -0
- package/Source/Renderer/Sync.js +104 -0
- package/Source/Renderer/Texture.js +1126 -0
- package/Source/Renderer/Texture3D.js +578 -0
- package/Source/Renderer/TextureAtlas.js +833 -0
- package/Source/Renderer/TextureCache.js +81 -0
- package/Source/Renderer/TextureMagnificationFilter.js +41 -0
- package/Source/Renderer/TextureMinificationFilter.js +94 -0
- package/Source/Renderer/TextureWrap.js +19 -0
- package/Source/Renderer/UniformState.js +1948 -0
- package/Source/Renderer/VertexArray.js +869 -0
- package/Source/Renderer/VertexArrayFacade.js +509 -0
- package/Source/Renderer/createUniform.js +422 -0
- package/Source/Renderer/createUniformArray.js +638 -0
- package/Source/Renderer/demodernizeShader.js +84 -0
- package/Source/Renderer/freezeRenderState.js +30 -0
- package/Source/Renderer/loadCubeMap.js +88 -0
- package/Source/Scene/AlphaMode.js +33 -0
- package/Source/Scene/Appearance.js +204 -0
- package/Source/Scene/ArcGisBaseMapType.js +12 -0
- package/Source/Scene/ArcGisMapServerImageryProvider.js +875 -0
- package/Source/Scene/ArcGisMapService.js +80 -0
- package/Source/Scene/Atmosphere.js +149 -0
- package/Source/Scene/AttributeType.js +200 -0
- package/Source/Scene/AutoExposure.js +386 -0
- package/Source/Scene/Axis.js +116 -0
- package/Source/Scene/Azure2DImageryProvider.js +393 -0
- package/Source/Scene/B3dmParser.js +173 -0
- package/Source/Scene/BatchTable.js +636 -0
- package/Source/Scene/BatchTableHierarchy.js +504 -0
- package/Source/Scene/BatchTexture.js +574 -0
- package/Source/Scene/Billboard.js +1601 -0
- package/Source/Scene/BillboardCollection.js +2396 -0
- package/Source/Scene/BillboardLoadState.js +44 -0
- package/Source/Scene/BillboardTexture.js +397 -0
- package/Source/Scene/BingMapsImageryProvider.js +769 -0
- package/Source/Scene/BingMapsStyle.js +93 -0
- package/Source/Scene/BlendEquation.js +53 -0
- package/Source/Scene/BlendFunction.js +129 -0
- package/Source/Scene/BlendOption.js +28 -0
- package/Source/Scene/BlendingState.js +73 -0
- package/Source/Scene/BoundingVolumeSemantics.js +169 -0
- package/Source/Scene/BoxEmitter.js +74 -0
- package/Source/Scene/BrdfLutGenerator.js +75 -0
- package/Source/Scene/BufferLoader.js +141 -0
- package/Source/Scene/Camera.js +3978 -0
- package/Source/Scene/CameraEventAggregator.js +619 -0
- package/Source/Scene/CameraEventType.js +47 -0
- package/Source/Scene/CameraFlightPath.js +576 -0
- package/Source/Scene/Cesium3DContentGroup.js +44 -0
- package/Source/Scene/Cesium3DTile.js +2475 -0
- package/Source/Scene/Cesium3DTileBatchTable.js +1132 -0
- package/Source/Scene/Cesium3DTileColorBlendMode.js +52 -0
- package/Source/Scene/Cesium3DTileContent.js +411 -0
- package/Source/Scene/Cesium3DTileContentFactory.js +118 -0
- package/Source/Scene/Cesium3DTileContentState.js +12 -0
- package/Source/Scene/Cesium3DTileContentType.js +179 -0
- package/Source/Scene/Cesium3DTileFeature.js +444 -0
- package/Source/Scene/Cesium3DTileFeatureTable.js +131 -0
- package/Source/Scene/Cesium3DTileOptimizationHint.js +13 -0
- package/Source/Scene/Cesium3DTileOptimizations.js +115 -0
- package/Source/Scene/Cesium3DTilePass.js +79 -0
- package/Source/Scene/Cesium3DTilePassState.js +52 -0
- package/Source/Scene/Cesium3DTilePointFeature.js +856 -0
- package/Source/Scene/Cesium3DTileRefine.js +29 -0
- package/Source/Scene/Cesium3DTileStyle.js +1475 -0
- package/Source/Scene/Cesium3DTileStyleEngine.js +78 -0
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +760 -0
- package/Source/Scene/Cesium3DTileset.js +3932 -0
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +291 -0
- package/Source/Scene/Cesium3DTilesetCache.js +80 -0
- package/Source/Scene/Cesium3DTilesetHeatmap.js +165 -0
- package/Source/Scene/Cesium3DTilesetMetadata.js +199 -0
- package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +131 -0
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +420 -0
- package/Source/Scene/Cesium3DTilesetStatistics.js +195 -0
- package/Source/Scene/Cesium3DTilesetTraversal.js +323 -0
- package/Source/Scene/CircleEmitter.js +61 -0
- package/Source/Scene/ClassificationPrimitive.js +1387 -0
- package/Source/Scene/ClassificationType.js +35 -0
- package/Source/Scene/ClippingPlane.js +184 -0
- package/Source/Scene/ClippingPlaneCollection.js +764 -0
- package/Source/Scene/ClippingPolygon.js +300 -0
- package/Source/Scene/ClippingPolygonCollection.js +965 -0
- package/Source/Scene/CloudCollection.js +1041 -0
- package/Source/Scene/CloudType.js +33 -0
- package/Source/Scene/ColorBlendMode.js +33 -0
- package/Source/Scene/Composite3DTileContent.js +403 -0
- package/Source/Scene/ConditionsExpression.js +219 -0
- package/Source/Scene/ConeEmitter.js +61 -0
- package/Source/Scene/ContentMetadata.js +184 -0
- package/Source/Scene/CreditDisplay.js +654 -0
- package/Source/Scene/CullFace.js +33 -0
- package/Source/Scene/CumulusCloud.js +347 -0
- package/Source/Scene/DebugAppearance.js +266 -0
- package/Source/Scene/DebugCameraPrimitive.js +257 -0
- package/Source/Scene/DebugInspector.js +151 -0
- package/Source/Scene/DebugModelMatrixPrimitive.js +220 -0
- package/Source/Scene/DepthFunction.js +73 -0
- package/Source/Scene/DepthPlane.js +238 -0
- package/Source/Scene/DerivedCommand.js +708 -0
- package/Source/Scene/DeviceOrientationCameraController.js +120 -0
- package/Source/Scene/DirectionalLight.js +49 -0
- package/Source/Scene/DiscardEmptyTileImagePolicy.js +54 -0
- package/Source/Scene/DiscardMissingTileImagePolicy.js +148 -0
- package/Source/Scene/DracoLoader.js +99 -0
- package/Source/Scene/DynamicAtmosphereLightingType.js +56 -0
- package/Source/Scene/DynamicEnvironmentMapManager.js +1022 -0
- package/Source/Scene/EdgeFramebuffer.js +245 -0
- package/Source/Scene/EllipsoidPrimitive.js +496 -0
- package/Source/Scene/EllipsoidSurfaceAppearance.js +278 -0
- package/Source/Scene/Empty3DTileContent.js +164 -0
- package/Source/Scene/Expression.js +2233 -0
- package/Source/Scene/ExpressionNodeType.js +25 -0
- package/Source/Scene/Fog.js +166 -0
- package/Source/Scene/FrameRateMonitor.js +375 -0
- package/Source/Scene/FrameState.js +477 -0
- package/Source/Scene/FrustumCommands.js +29 -0
- package/Source/Scene/GaussianSplat3DTileContent.js +826 -0
- package/Source/Scene/GaussianSplatPrimitive.js +1065 -0
- package/Source/Scene/GaussianSplatRenderResources.js +81 -0
- package/Source/Scene/GaussianSplatSorter.js +73 -0
- package/Source/Scene/GaussianSplatTextureGenerator.js +64 -0
- package/Source/Scene/Geometry3DTileContent.js +534 -0
- package/Source/Scene/GetFeatureInfoFormat.js +396 -0
- package/Source/Scene/Globe.js +1135 -0
- package/Source/Scene/GlobeDepth.js +407 -0
- package/Source/Scene/GlobeSurfaceShaderSet.js +485 -0
- package/Source/Scene/GlobeSurfaceTile.js +967 -0
- package/Source/Scene/GlobeSurfaceTileProvider.js +2910 -0
- package/Source/Scene/GlobeTranslucency.js +239 -0
- package/Source/Scene/GlobeTranslucencyFramebuffer.js +201 -0
- package/Source/Scene/GlobeTranslucencyState.js +1102 -0
- package/Source/Scene/GltfBufferViewLoader.js +242 -0
- package/Source/Scene/GltfDracoLoader.js +293 -0
- package/Source/Scene/GltfImageLoader.js +320 -0
- package/Source/Scene/GltfIndexBufferLoader.js +421 -0
- package/Source/Scene/GltfJsonLoader.js +314 -0
- package/Source/Scene/GltfLoader.js +2989 -0
- package/Source/Scene/GltfLoaderUtil.js +184 -0
- package/Source/Scene/GltfPipeline/ForEach.js +424 -0
- package/Source/Scene/GltfPipeline/addBuffer.js +30 -0
- package/Source/Scene/GltfPipeline/addDefaults.js +208 -0
- package/Source/Scene/GltfPipeline/addExtensionsRequired.js +24 -0
- package/Source/Scene/GltfPipeline/addExtensionsUsed.js +22 -0
- package/Source/Scene/GltfPipeline/addPipelineExtras.js +36 -0
- package/Source/Scene/GltfPipeline/addToArray.js +25 -0
- package/Source/Scene/GltfPipeline/findAccessorMinMax.js +71 -0
- package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +155 -0
- package/Source/Scene/GltfPipeline/getAccessorByteStride.js +29 -0
- package/Source/Scene/GltfPipeline/getComponentReader.js +147 -0
- package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +135 -0
- package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +145 -0
- package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +29 -0
- package/Source/Scene/GltfPipeline/parseGlb.js +118 -0
- package/Source/Scene/GltfPipeline/readAccessorPacked.js +54 -0
- package/Source/Scene/GltfPipeline/removeExtension.js +64 -0
- package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +24 -0
- package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +26 -0
- package/Source/Scene/GltfPipeline/removePipelineExtras.js +42 -0
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +906 -0
- package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +53 -0
- package/Source/Scene/GltfPipeline/updateVersion.js +1148 -0
- package/Source/Scene/GltfPipeline/usesExtension.js +18 -0
- package/Source/Scene/GltfSpzLoader.js +224 -0
- package/Source/Scene/GltfStructuralMetadataLoader.js +505 -0
- package/Source/Scene/GltfTextureLoader.js +399 -0
- package/Source/Scene/GltfVertexBufferLoader.js +634 -0
- package/Source/Scene/Google2DImageryProvider.js +621 -0
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +548 -0
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +589 -0
- package/Source/Scene/GridImageryProvider.js +322 -0
- package/Source/Scene/GroundPolylinePrimitive.js +890 -0
- package/Source/Scene/GroundPrimitive.js +1000 -0
- package/Source/Scene/GroupMetadata.js +203 -0
- package/Source/Scene/HeightReference.js +85 -0
- package/Source/Scene/HorizontalOrigin.js +41 -0
- package/Source/Scene/I3SDataProvider.js +860 -0
- package/Source/Scene/I3SDecoder.js +133 -0
- package/Source/Scene/I3SFeature.js +61 -0
- package/Source/Scene/I3SField.js +360 -0
- package/Source/Scene/I3SGeometry.js +477 -0
- package/Source/Scene/I3SLayer.js +460 -0
- package/Source/Scene/I3SNode.js +927 -0
- package/Source/Scene/I3SStatistics.js +94 -0
- package/Source/Scene/I3SSublayer.js +175 -0
- package/Source/Scene/I3SSymbology.js +336 -0
- package/Source/Scene/I3dmParser.js +140 -0
- package/Source/Scene/ITwinData.js +283 -0
- package/Source/Scene/ImageBasedLighting.js +463 -0
- package/Source/Scene/Imagery.js +120 -0
- package/Source/Scene/ImageryLayer.js +1747 -0
- package/Source/Scene/ImageryLayerCollection.js +645 -0
- package/Source/Scene/ImageryLayerFeatureInfo.js +111 -0
- package/Source/Scene/ImageryProvider.js +267 -0
- package/Source/Scene/ImageryState.js +14 -0
- package/Source/Scene/Implicit3DTileContent.js +1206 -0
- package/Source/Scene/ImplicitAvailabilityBitstream.js +134 -0
- package/Source/Scene/ImplicitMetadataView.js +178 -0
- package/Source/Scene/ImplicitSubdivisionScheme.js +48 -0
- package/Source/Scene/ImplicitSubtree.js +1161 -0
- package/Source/Scene/ImplicitSubtreeCache.js +127 -0
- package/Source/Scene/ImplicitSubtreeMetadata.js +191 -0
- package/Source/Scene/ImplicitTileCoordinates.js +647 -0
- package/Source/Scene/ImplicitTileset.js +269 -0
- package/Source/Scene/InstanceAttributeSemantic.js +79 -0
- package/Source/Scene/InvertClassification.js +381 -0
- package/Source/Scene/IonImageryProvider.js +346 -0
- package/Source/Scene/IonImageryProviderFactory.js +194 -0
- package/Source/Scene/IonWorldImageryStyle.js +33 -0
- package/Source/Scene/JobScheduler.js +199 -0
- package/Source/Scene/JobType.js +10 -0
- package/Source/Scene/JsonMetadataTable.js +114 -0
- package/Source/Scene/KeyframeNode.js +61 -0
- package/Source/Scene/Label.js +1618 -0
- package/Source/Scene/LabelCollection.js +1032 -0
- package/Source/Scene/LabelStyle.js +33 -0
- package/Source/Scene/Light.js +34 -0
- package/Source/Scene/MapMode2D.js +23 -0
- package/Source/Scene/MapboxImageryProvider.js +332 -0
- package/Source/Scene/MapboxStyleImageryProvider.js +342 -0
- package/Source/Scene/Material.js +1929 -0
- package/Source/Scene/MaterialAppearance.js +328 -0
- package/Source/Scene/Megatexture.js +550 -0
- package/Source/Scene/MetadataClass.js +202 -0
- package/Source/Scene/MetadataClassProperty.js +1191 -0
- package/Source/Scene/MetadataComponentType.js +469 -0
- package/Source/Scene/MetadataEntity.js +425 -0
- package/Source/Scene/MetadataEnum.js +219 -0
- package/Source/Scene/MetadataEnumValue.js +131 -0
- package/Source/Scene/MetadataPicking.js +396 -0
- package/Source/Scene/MetadataSchema.js +202 -0
- package/Source/Scene/MetadataSchemaLoader.js +135 -0
- package/Source/Scene/MetadataSemantic.js +153 -0
- package/Source/Scene/MetadataTable.js +357 -0
- package/Source/Scene/MetadataTableProperty.js +840 -0
- package/Source/Scene/MetadataType.js +220 -0
- package/Source/Scene/Model/AlphaPipelineStage.js +51 -0
- package/Source/Scene/Model/AtmospherePipelineStage.js +64 -0
- package/Source/Scene/Model/B3dmLoader.js +368 -0
- package/Source/Scene/Model/BatchTexturePipelineStage.js +71 -0
- package/Source/Scene/Model/CPUStylingPipelineStage.js +77 -0
- package/Source/Scene/Model/CartesianRectangle.js +108 -0
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +534 -0
- package/Source/Scene/Model/ClassificationPipelineStage.js +132 -0
- package/Source/Scene/Model/CustomShader.js +469 -0
- package/Source/Scene/Model/CustomShaderMode.js +40 -0
- package/Source/Scene/Model/CustomShaderPipelineStage.js +667 -0
- package/Source/Scene/Model/CustomShaderTranslucencyMode.js +35 -0
- package/Source/Scene/Model/DequantizationPipelineStage.js +178 -0
- package/Source/Scene/Model/EdgeDetectionPipelineStage.js +42 -0
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +800 -0
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
- package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +543 -0
- package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
- package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
- package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
- package/Source/Scene/Model/FeatureIdPipelineStage.js +523 -0
- package/Source/Scene/Model/GeoJsonLoader.js +697 -0
- package/Source/Scene/Model/GeometryPipelineStage.js +529 -0
- package/Source/Scene/Model/I3dmLoader.js +883 -0
- package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +168 -0
- package/Source/Scene/Model/ImageryConfiguration.js +26 -0
- package/Source/Scene/Model/ImageryCoverage.js +488 -0
- package/Source/Scene/Model/ImageryFlags.js +31 -0
- package/Source/Scene/Model/ImageryInput.js +60 -0
- package/Source/Scene/Model/ImageryPipelineStage.js +1046 -0
- package/Source/Scene/Model/InstancingPipelineStage.js +1056 -0
- package/Source/Scene/Model/LightingModel.js +30 -0
- package/Source/Scene/Model/LightingPipelineStage.js +73 -0
- package/Source/Scene/Model/MappedPositions.js +84 -0
- package/Source/Scene/Model/MaterialPipelineStage.js +869 -0
- package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
- package/Source/Scene/Model/MetadataPipelineStage.js +657 -0
- package/Source/Scene/Model/Model.js +3340 -0
- package/Source/Scene/Model/Model3DTileContent.js +551 -0
- package/Source/Scene/Model/ModelAlphaOptions.js +26 -0
- package/Source/Scene/Model/ModelAnimation.js +421 -0
- package/Source/Scene/Model/ModelAnimationChannel.js +294 -0
- package/Source/Scene/Model/ModelAnimationCollection.js +553 -0
- package/Source/Scene/Model/ModelArticulation.js +214 -0
- package/Source/Scene/Model/ModelArticulationStage.js +261 -0
- package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +126 -0
- package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +98 -0
- package/Source/Scene/Model/ModelColorPipelineStage.js +98 -0
- package/Source/Scene/Model/ModelDrawCommand.js +922 -0
- package/Source/Scene/Model/ModelDrawCommands.js +218 -0
- package/Source/Scene/Model/ModelFeature.js +229 -0
- package/Source/Scene/Model/ModelFeatureTable.js +316 -0
- package/Source/Scene/Model/ModelImagery.js +410 -0
- package/Source/Scene/Model/ModelImageryMapping.js +489 -0
- package/Source/Scene/Model/ModelLightingOptions.js +29 -0
- package/Source/Scene/Model/ModelMatrixUpdateStage.js +120 -0
- package/Source/Scene/Model/ModelNode.js +125 -0
- package/Source/Scene/Model/ModelPrimitiveImagery.js +972 -0
- package/Source/Scene/Model/ModelReader.js +810 -0
- package/Source/Scene/Model/ModelRenderResources.js +119 -0
- package/Source/Scene/Model/ModelRuntimeNode.js +648 -0
- package/Source/Scene/Model/ModelRuntimePrimitive.js +380 -0
- package/Source/Scene/Model/ModelSceneGraph.js +1098 -0
- package/Source/Scene/Model/ModelSilhouettePipelineStage.js +109 -0
- package/Source/Scene/Model/ModelSkin.js +180 -0
- package/Source/Scene/Model/ModelSplitterPipelineStage.js +65 -0
- package/Source/Scene/Model/ModelStatistics.js +225 -0
- package/Source/Scene/Model/ModelType.js +94 -0
- package/Source/Scene/Model/ModelUtility.js +395 -0
- package/Source/Scene/Model/MorphTargetsPipelineStage.js +249 -0
- package/Source/Scene/Model/NodeRenderResources.js +170 -0
- package/Source/Scene/Model/NodeStatisticsPipelineStage.js +75 -0
- package/Source/Scene/Model/PickingPipelineStage.js +218 -0
- package/Source/Scene/Model/PntsLoader.js +716 -0
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +392 -0
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +689 -0
- package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +99 -0
- package/Source/Scene/Model/PrimitiveRenderResources.js +297 -0
- package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +253 -0
- package/Source/Scene/Model/SceneMode2DPipelineStage.js +301 -0
- package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +180 -0
- package/Source/Scene/Model/SkinningPipelineStage.js +118 -0
- package/Source/Scene/Model/StyleCommandsNeeded.js +29 -0
- package/Source/Scene/Model/TextureManager.js +244 -0
- package/Source/Scene/Model/TextureUniform.js +71 -0
- package/Source/Scene/Model/TilesetPipelineStage.js +73 -0
- package/Source/Scene/Model/UniformType.js +124 -0
- package/Source/Scene/Model/VaryingType.js +61 -0
- package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +58 -0
- package/Source/Scene/Model/WireframePipelineStage.js +118 -0
- package/Source/Scene/Model/pickModel.js +425 -0
- package/Source/Scene/ModelAnimationLoop.js +33 -0
- package/Source/Scene/ModelAnimationState.js +9 -0
- package/Source/Scene/ModelComponents.js +1662 -0
- package/Source/Scene/Moon.js +175 -0
- package/Source/Scene/Multiple3DTileContent.js +722 -0
- package/Source/Scene/NeverTileDiscardPolicy.js +28 -0
- package/Source/Scene/OIT.js +946 -0
- package/Source/Scene/OpenStreetMapImageryProvider.js +128 -0
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +218 -0
- package/Source/Scene/Particle.js +149 -0
- package/Source/Scene/ParticleBurst.js +51 -0
- package/Source/Scene/ParticleEmitter.js +36 -0
- package/Source/Scene/ParticleSystem.js +885 -0
- package/Source/Scene/PerInstanceColorAppearance.js +296 -0
- package/Source/Scene/PerformanceDisplay.js +120 -0
- package/Source/Scene/PickDepth.js +125 -0
- package/Source/Scene/PickDepthFramebuffer.js +79 -0
- package/Source/Scene/PickFramebuffer.js +255 -0
- package/Source/Scene/PickedMetadataInfo.js +57 -0
- package/Source/Scene/Picking.js +1683 -0
- package/Source/Scene/PntsParser.js +547 -0
- package/Source/Scene/PointCloud.js +1412 -0
- package/Source/Scene/PointCloudEyeDomeLighting.js +284 -0
- package/Source/Scene/PointCloudShading.js +104 -0
- package/Source/Scene/PointPrimitive.js +690 -0
- package/Source/Scene/PointPrimitiveCollection.js +1223 -0
- package/Source/Scene/Polyline.js +431 -0
- package/Source/Scene/PolylineCollection.js +1950 -0
- package/Source/Scene/PolylineColorAppearance.js +220 -0
- package/Source/Scene/PolylineMaterialAppearance.js +231 -0
- package/Source/Scene/PostProcessStage.js +1000 -0
- package/Source/Scene/PostProcessStageCollection.js +900 -0
- package/Source/Scene/PostProcessStageComposite.js +359 -0
- package/Source/Scene/PostProcessStageLibrary.js +826 -0
- package/Source/Scene/PostProcessStageSampleMode.js +22 -0
- package/Source/Scene/PostProcessStageTextureCache.js +454 -0
- package/Source/Scene/Primitive.js +2504 -0
- package/Source/Scene/PrimitiveCollection.js +532 -0
- package/Source/Scene/PrimitiveLoadPlan.js +303 -0
- package/Source/Scene/PrimitivePipeline.js +854 -0
- package/Source/Scene/PrimitiveState.js +136 -0
- package/Source/Scene/PropertyAttribute.js +160 -0
- package/Source/Scene/PropertyAttributeProperty.js +177 -0
- package/Source/Scene/PropertyTable.js +536 -0
- package/Source/Scene/PropertyTexture.js +162 -0
- package/Source/Scene/PropertyTextureProperty.js +304 -0
- package/Source/Scene/QuadtreeOccluders.js +30 -0
- package/Source/Scene/QuadtreePrimitive.js +1575 -0
- package/Source/Scene/QuadtreeTile.js +729 -0
- package/Source/Scene/QuadtreeTileLoadState.js +39 -0
- package/Source/Scene/QuadtreeTileProvider.js +212 -0
- package/Source/Scene/ResourceCache.js +824 -0
- package/Source/Scene/ResourceCacheKey.js +601 -0
- package/Source/Scene/ResourceCacheStatistics.js +149 -0
- package/Source/Scene/ResourceLoader.js +127 -0
- package/Source/Scene/ResourceLoaderState.js +56 -0
- package/Source/Scene/SDFSettings.js +39 -0
- package/Source/Scene/Scene.js +5280 -0
- package/Source/Scene/SceneFramebuffer.js +106 -0
- package/Source/Scene/SceneMode.js +56 -0
- package/Source/Scene/SceneTransforms.js +463 -0
- package/Source/Scene/SceneTransitioner.js +1111 -0
- package/Source/Scene/ScreenSpaceCameraController.js +3098 -0
- package/Source/Scene/SensorVolumePortionToDisplay.js +69 -0
- package/Source/Scene/ShadowMap.js +1957 -0
- package/Source/Scene/ShadowMapShader.js +395 -0
- package/Source/Scene/ShadowMode.js +78 -0
- package/Source/Scene/ShadowVolumeAppearance.js +936 -0
- package/Source/Scene/SingleTileImageryProvider.js +380 -0
- package/Source/Scene/SkyAtmosphere.js +400 -0
- package/Source/Scene/SkyBox.js +289 -0
- package/Source/Scene/SpatialNode.js +377 -0
- package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
- package/Source/Scene/SphereEmitter.js +65 -0
- package/Source/Scene/SplitDirection.js +34 -0
- package/Source/Scene/Splitter.js +49 -0
- package/Source/Scene/StencilConstants.js +37 -0
- package/Source/Scene/StencilFunction.js +73 -0
- package/Source/Scene/StencilOperation.js +73 -0
- package/Source/Scene/StructuralMetadata.js +243 -0
- package/Source/Scene/StyleExpression.js +86 -0
- package/Source/Scene/Sun.js +363 -0
- package/Source/Scene/SunLight.js +31 -0
- package/Source/Scene/SunPostProcess.js +288 -0
- package/Source/Scene/SupportedImageFormats.js +18 -0
- package/Source/Scene/Terrain.js +245 -0
- package/Source/Scene/TerrainFillMesh.js +2222 -0
- package/Source/Scene/TerrainState.js +13 -0
- package/Source/Scene/TileBoundingRegion.js +489 -0
- package/Source/Scene/TileBoundingS2Cell.js +699 -0
- package/Source/Scene/TileBoundingSphere.js +167 -0
- package/Source/Scene/TileBoundingVolume.js +68 -0
- package/Source/Scene/TileCoordinatesImageryProvider.js +269 -0
- package/Source/Scene/TileDiscardPolicy.js +34 -0
- package/Source/Scene/TileImagery.js +126 -0
- package/Source/Scene/TileMapServiceImageryProvider.js +442 -0
- package/Source/Scene/TileMetadata.js +184 -0
- package/Source/Scene/TileOrientedBoundingBox.js +219 -0
- package/Source/Scene/TileReplacementQueue.js +119 -0
- package/Source/Scene/TileSelectionResult.js +80 -0
- package/Source/Scene/TileState.js +10 -0
- package/Source/Scene/Tileset3DTileContent.js +182 -0
- package/Source/Scene/TilesetMetadata.js +186 -0
- package/Source/Scene/TimeDynamicImagery.js +308 -0
- package/Source/Scene/TimeDynamicPointCloud.js +802 -0
- package/Source/Scene/Tonemapper.js +64 -0
- package/Source/Scene/TranslucentTileClassification.js +514 -0
- package/Source/Scene/TweenCollection.js +585 -0
- package/Source/Scene/UrlTemplateImageryProvider.js +989 -0
- package/Source/Scene/Vector3DTileBatch.js +37 -0
- package/Source/Scene/Vector3DTileClampedPolylines.js +783 -0
- package/Source/Scene/Vector3DTileContent.js +770 -0
- package/Source/Scene/Vector3DTileGeometry.js +497 -0
- package/Source/Scene/Vector3DTilePoints.js +548 -0
- package/Source/Scene/Vector3DTilePolygons.js +479 -0
- package/Source/Scene/Vector3DTilePolylines.js +679 -0
- package/Source/Scene/Vector3DTilePrimitive.js +1276 -0
- package/Source/Scene/VertexAttributeSemantic.js +305 -0
- package/Source/Scene/VerticalOrigin.js +49 -0
- package/Source/Scene/View.js +465 -0
- package/Source/Scene/ViewportQuad.js +182 -0
- package/Source/Scene/ViewshedShadowMap.js +1953 -0
- package/Source/Scene/VoxelBoundsCollection.js +494 -0
- package/Source/Scene/VoxelBoxShape.js +595 -0
- package/Source/Scene/VoxelCell.js +274 -0
- package/Source/Scene/VoxelContent.js +231 -0
- package/Source/Scene/VoxelCylinderShape.js +868 -0
- package/Source/Scene/VoxelEllipsoidShape.js +1174 -0
- package/Source/Scene/VoxelMetadataOrder.js +24 -0
- package/Source/Scene/VoxelPrimitive.js +2169 -0
- package/Source/Scene/VoxelProvider.js +234 -0
- package/Source/Scene/VoxelRenderResources.js +259 -0
- package/Source/Scene/VoxelShape.js +179 -0
- package/Source/Scene/VoxelShapeType.js +105 -0
- package/Source/Scene/VoxelTraversal.js +1264 -0
- package/Source/Scene/WebMapServiceImageryProvider.js +649 -0
- package/Source/Scene/WebMapTileServiceImageryProvider.js +575 -0
- package/Source/Scene/buildVoxelDrawCommands.js +177 -0
- package/Source/Scene/computeFlyToLocationForRectangle.js +74 -0
- package/Source/Scene/createBillboardPointCallback.js +70 -0
- package/Source/Scene/createElevationBandMaterial.js +580 -0
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +116 -0
- package/Source/Scene/createOsmBuildingsAsync.js +79 -0
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +114 -0
- package/Source/Scene/createWorldImageryAsync.js +39 -0
- package/Source/Scene/findContentMetadata.js +51 -0
- package/Source/Scene/findGroupMetadata.js +39 -0
- package/Source/Scene/findTileMetadata.js +53 -0
- package/Source/Scene/getBinaryAccessor.js +56 -0
- package/Source/Scene/getClipAndStyleCode.js +34 -0
- package/Source/Scene/getClippingFunction.js +154 -0
- package/Source/Scene/getMeshPrimitives.js +72 -0
- package/Source/Scene/getMetadataClassProperty.js +43 -0
- package/Source/Scene/getMetadataProperty.js +48 -0
- package/Source/Scene/hasExtension.js +19 -0
- package/Source/Scene/parseBatchTable.js +448 -0
- package/Source/Scene/parseFeatureMetadataLegacy.js +139 -0
- package/Source/Scene/parseStructuralMetadata.js +102 -0
- package/Source/Scene/preprocess3DTileContent.js +102 -0
- package/Source/Scene/processVoxelProperties.js +398 -0
- package/Source/Shaders/AdjustTranslucentFS.glsl +27 -0
- package/Source/Shaders/AdjustTranslucentFS.js +29 -0
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +29 -0
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +31 -0
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +26 -0
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +28 -0
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +23 -0
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +25 -0
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +17 -0
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +19 -0
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +33 -0
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +35 -0
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +19 -0
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +21 -0
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +24 -0
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +26 -0
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +20 -0
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +22 -0
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +6 -0
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +8 -0
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +15 -0
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +17 -0
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +28 -0
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +30 -0
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +33 -0
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +35 -0
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +25 -0
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +27 -0
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +20 -0
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +22 -0
- package/Source/Shaders/AtmosphereCommon.glsl +187 -0
- package/Source/Shaders/AtmosphereCommon.js +189 -0
- package/Source/Shaders/BillboardCollectionFS.glsl +261 -0
- package/Source/Shaders/BillboardCollectionFS.js +262 -0
- package/Source/Shaders/BillboardCollectionVS.glsl +445 -0
- package/Source/Shaders/BillboardCollectionVS.js +447 -0
- package/Source/Shaders/BrdfLutGeneratorFS.glsl +100 -0
- package/Source/Shaders/BrdfLutGeneratorFS.js +102 -0
- package/Source/Shaders/Builtin/Constants/degreesPerRadian.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/degreesPerRadian.js +18 -0
- package/Source/Shaders/Builtin/Constants/depthRange.glsl +14 -0
- package/Source/Shaders/Builtin/Constants/depthRange.js +16 -0
- package/Source/Shaders/Builtin/Constants/epsilon1.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon1.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon2.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon2.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon3.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon3.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon4.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon4.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon5.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon5.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon6.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon6.js +9 -0
- package/Source/Shaders/Builtin/Constants/epsilon7.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/epsilon7.js +9 -0
- package/Source/Shaders/Builtin/Constants/infinity.glsl +7 -0
- package/Source/Shaders/Builtin/Constants/infinity.js +9 -0
- package/Source/Shaders/Builtin/Constants/oneOverPi.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/oneOverPi.js +18 -0
- package/Source/Shaders/Builtin/Constants/oneOverTwoPi.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/oneOverTwoPi.js +18 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.glsl +10 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.js +12 -0
- package/Source/Shaders/Builtin/Constants/passClassification.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passClassification.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCompute.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCompute.js +11 -0
- package/Source/Shaders/Builtin/Constants/passEnvironment.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passEnvironment.js +11 -0
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +11 -0
- package/Source/Shaders/Builtin/Constants/passGlobe.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passGlobe.js +11 -0
- package/Source/Shaders/Builtin/Constants/passOpaque.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passOpaque.js +11 -0
- package/Source/Shaders/Builtin/Constants/passOverlay.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passOverlay.js +11 -0
- package/Source/Shaders/Builtin/Constants/passTerrainClassification.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passTerrainClassification.js +11 -0
- package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passTranslucent.js +11 -0
- package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
- package/Source/Shaders/Builtin/Constants/pi.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/pi.js +18 -0
- package/Source/Shaders/Builtin/Constants/piOverFour.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/piOverFour.js +18 -0
- package/Source/Shaders/Builtin/Constants/piOverSix.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/piOverSix.js +18 -0
- package/Source/Shaders/Builtin/Constants/piOverThree.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/piOverThree.js +18 -0
- package/Source/Shaders/Builtin/Constants/piOverTwo.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/piOverTwo.js +18 -0
- package/Source/Shaders/Builtin/Constants/radiansPerDegree.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/radiansPerDegree.js +18 -0
- package/Source/Shaders/Builtin/Constants/sceneMode2D.glsl +11 -0
- package/Source/Shaders/Builtin/Constants/sceneMode2D.js +13 -0
- package/Source/Shaders/Builtin/Constants/sceneMode3D.glsl +11 -0
- package/Source/Shaders/Builtin/Constants/sceneMode3D.js +13 -0
- package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.glsl +11 -0
- package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.js +13 -0
- package/Source/Shaders/Builtin/Constants/sceneModeMorphing.glsl +11 -0
- package/Source/Shaders/Builtin/Constants/sceneModeMorphing.js +13 -0
- package/Source/Shaders/Builtin/Constants/solarRadius.glsl +13 -0
- package/Source/Shaders/Builtin/Constants/solarRadius.js +15 -0
- package/Source/Shaders/Builtin/Constants/threePiOver2.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/threePiOver2.js +18 -0
- package/Source/Shaders/Builtin/Constants/twoPi.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/twoPi.js +18 -0
- package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.glsl +16 -0
- package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.js +18 -0
- package/Source/Shaders/Builtin/CzmBuiltins.js +280 -0
- package/Source/Shaders/Builtin/Functions/HSBToRGB.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/HSBToRGB.js +26 -0
- package/Source/Shaders/Builtin/Functions/HSLToRGB.glsl +31 -0
- package/Source/Shaders/Builtin/Functions/HSLToRGB.js +33 -0
- package/Source/Shaders/Builtin/Functions/RGBToHSB.glsl +27 -0
- package/Source/Shaders/Builtin/Functions/RGBToHSB.js +29 -0
- package/Source/Shaders/Builtin/Functions/RGBToHSL.glsl +34 -0
- package/Source/Shaders/Builtin/Functions/RGBToHSL.js +36 -0
- package/Source/Shaders/Builtin/Functions/RGBToXYZ.glsl +30 -0
- package/Source/Shaders/Builtin/Functions/RGBToXYZ.js +32 -0
- package/Source/Shaders/Builtin/Functions/XYZToRGB.glsl +30 -0
- package/Source/Shaders/Builtin/Functions/XYZToRGB.js +32 -0
- package/Source/Shaders/Builtin/Functions/acesTonemapping.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/acesTonemapping.js +18 -0
- package/Source/Shaders/Builtin/Functions/alphaWeight.glsl +11 -0
- package/Source/Shaders/Builtin/Functions/alphaWeight.js +13 -0
- package/Source/Shaders/Builtin/Functions/antialias.glsl +39 -0
- package/Source/Shaders/Builtin/Functions/antialias.js +41 -0
- package/Source/Shaders/Builtin/Functions/applyHSBShift.glsl +32 -0
- package/Source/Shaders/Builtin/Functions/applyHSBShift.js +34 -0
- package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.glsl +18 -0
- package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.js +20 -0
- package/Source/Shaders/Builtin/Functions/approximateTanh.glsl +10 -0
- package/Source/Shaders/Builtin/Functions/approximateTanh.js +12 -0
- package/Source/Shaders/Builtin/Functions/backFacing.glsl +13 -0
- package/Source/Shaders/Builtin/Functions/backFacing.js +15 -0
- package/Source/Shaders/Builtin/Functions/branchFreeTernary.glsl +71 -0
- package/Source/Shaders/Builtin/Functions/branchFreeTernary.js +73 -0
- package/Source/Shaders/Builtin/Functions/cascadeColor.glsl +8 -0
- package/Source/Shaders/Builtin/Functions/cascadeColor.js +10 -0
- package/Source/Shaders/Builtin/Functions/cascadeDistance.glsl +7 -0
- package/Source/Shaders/Builtin/Functions/cascadeDistance.js +9 -0
- package/Source/Shaders/Builtin/Functions/cascadeMatrix.glsl +10 -0
- package/Source/Shaders/Builtin/Functions/cascadeMatrix.js +12 -0
- package/Source/Shaders/Builtin/Functions/cascadeWeights.glsl +10 -0
- package/Source/Shaders/Builtin/Functions/cascadeWeights.js +12 -0
- package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +37 -0
- package/Source/Shaders/Builtin/Functions/clipPolygons.js +39 -0
- package/Source/Shaders/Builtin/Functions/columbusViewMorph.glsl +12 -0
- package/Source/Shaders/Builtin/Functions/columbusViewMorph.js +14 -0
- package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.glsl +88 -0
- package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +90 -0
- package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.glsl +30 -0
- package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.js +32 -0
- package/Source/Shaders/Builtin/Functions/computePosition.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/computePosition.js +24 -0
- package/Source/Shaders/Builtin/Functions/computeScattering.glsl +149 -0
- package/Source/Shaders/Builtin/Functions/computeScattering.js +151 -0
- package/Source/Shaders/Builtin/Functions/cosineAndSine.glsl +211 -0
- package/Source/Shaders/Builtin/Functions/cosineAndSine.js +213 -0
- package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.glsl +17 -0
- package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.js +19 -0
- package/Source/Shaders/Builtin/Functions/depthClamp.glsl +47 -0
- package/Source/Shaders/Builtin/Functions/depthClamp.js +49 -0
- package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.glsl +33 -0
- package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +35 -0
- package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.glsl +12 -0
- package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.js +14 -0
- package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.glsl +10 -0
- package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.js +12 -0
- package/Source/Shaders/Builtin/Functions/equalsEpsilon.glsl +36 -0
- package/Source/Shaders/Builtin/Functions/equalsEpsilon.js +38 -0
- package/Source/Shaders/Builtin/Functions/eyeOffset.glsl +20 -0
- package/Source/Shaders/Builtin/Functions/eyeOffset.js +22 -0
- package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.glsl +32 -0
- package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.js +34 -0
- package/Source/Shaders/Builtin/Functions/fastApproximateAtan.glsl +55 -0
- package/Source/Shaders/Builtin/Functions/fastApproximateAtan.js +57 -0
- package/Source/Shaders/Builtin/Functions/fog.glsl +38 -0
- package/Source/Shaders/Builtin/Functions/fog.js +40 -0
- package/Source/Shaders/Builtin/Functions/gammaCorrect.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/gammaCorrect.js +24 -0
- package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.js +18 -0
- package/Source/Shaders/Builtin/Functions/getDefaultMaterial.glsl +27 -0
- package/Source/Shaders/Builtin/Functions/getDefaultMaterial.js +29 -0
- package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.js +24 -0
- package/Source/Shaders/Builtin/Functions/getLambertDiffuse.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/getLambertDiffuse.js +24 -0
- package/Source/Shaders/Builtin/Functions/getSpecular.glsl +29 -0
- package/Source/Shaders/Builtin/Functions/getSpecular.js +31 -0
- package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +37 -0
- package/Source/Shaders/Builtin/Functions/getWaterNoise.js +39 -0
- package/Source/Shaders/Builtin/Functions/hue.glsl +30 -0
- package/Source/Shaders/Builtin/Functions/hue.js +32 -0
- package/Source/Shaders/Builtin/Functions/inverseGamma.glsl +12 -0
- package/Source/Shaders/Builtin/Functions/inverseGamma.js +14 -0
- package/Source/Shaders/Builtin/Functions/isEmpty.glsl +19 -0
- package/Source/Shaders/Builtin/Functions/isEmpty.js +21 -0
- package/Source/Shaders/Builtin/Functions/isFull.glsl +19 -0
- package/Source/Shaders/Builtin/Functions/isFull.js +21 -0
- package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.glsl +21 -0
- package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.js +23 -0
- package/Source/Shaders/Builtin/Functions/lineDistance.glsl +14 -0
- package/Source/Shaders/Builtin/Functions/lineDistance.js +16 -0
- package/Source/Shaders/Builtin/Functions/linearToSrgb.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/linearToSrgb.js +18 -0
- package/Source/Shaders/Builtin/Functions/luminance.glsl +20 -0
- package/Source/Shaders/Builtin/Functions/luminance.js +22 -0
- package/Source/Shaders/Builtin/Functions/maximumComponent.glsl +21 -0
- package/Source/Shaders/Builtin/Functions/maximumComponent.js +23 -0
- package/Source/Shaders/Builtin/Functions/metersPerPixel.glsl +61 -0
- package/Source/Shaders/Builtin/Functions/metersPerPixel.js +63 -0
- package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.glsl +38 -0
- package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.js +40 -0
- package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.glsl +18 -0
- package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.js +20 -0
- package/Source/Shaders/Builtin/Functions/nearFarScalar.glsl +26 -0
- package/Source/Shaders/Builtin/Functions/nearFarScalar.js +28 -0
- package/Source/Shaders/Builtin/Functions/octDecode.glsl +83 -0
- package/Source/Shaders/Builtin/Functions/octDecode.js +85 -0
- package/Source/Shaders/Builtin/Functions/packDepth.glsl +18 -0
- package/Source/Shaders/Builtin/Functions/packDepth.js +20 -0
- package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +164 -0
- package/Source/Shaders/Builtin/Functions/pbrLighting.js +166 -0
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
- package/Source/Shaders/Builtin/Functions/phong.glsl +63 -0
- package/Source/Shaders/Builtin/Functions/phong.js +65 -0
- package/Source/Shaders/Builtin/Functions/planeDistance.glsl +28 -0
- package/Source/Shaders/Builtin/Functions/planeDistance.js +30 -0
- package/Source/Shaders/Builtin/Functions/pointAlongRay.glsl +19 -0
- package/Source/Shaders/Builtin/Functions/pointAlongRay.js +21 -0
- package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.glsl +83 -0
- package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.js +85 -0
- package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.glsl +36 -0
- package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.js +38 -0
- package/Source/Shaders/Builtin/Functions/readDepth.glsl +4 -0
- package/Source/Shaders/Builtin/Functions/readDepth.js +6 -0
- package/Source/Shaders/Builtin/Functions/readNonPerspective.glsl +31 -0
- package/Source/Shaders/Builtin/Functions/readNonPerspective.js +33 -0
- package/Source/Shaders/Builtin/Functions/reverseLogDepth.glsl +11 -0
- package/Source/Shaders/Builtin/Functions/reverseLogDepth.js +13 -0
- package/Source/Shaders/Builtin/Functions/round.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/round.js +24 -0
- package/Source/Shaders/Builtin/Functions/saturation.glsl +22 -0
- package/Source/Shaders/Builtin/Functions/saturation.js +24 -0
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +26 -0
- package/Source/Shaders/Builtin/Functions/shadowVisibility.glsl +66 -0
- package/Source/Shaders/Builtin/Functions/shadowVisibility.js +68 -0
- package/Source/Shaders/Builtin/Functions/signNotZero.glsl +29 -0
- package/Source/Shaders/Builtin/Functions/signNotZero.js +31 -0
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +44 -0
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +46 -0
- package/Source/Shaders/Builtin/Functions/srgbToLinear.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/srgbToLinear.js +18 -0
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +25 -0
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +27 -0
- package/Source/Shaders/Builtin/Functions/textureCube.glsl +36 -0
- package/Source/Shaders/Builtin/Functions/textureCube.js +37 -0
- package/Source/Shaders/Builtin/Functions/transformPlane.glsl +15 -0
- package/Source/Shaders/Builtin/Functions/transformPlane.js +17 -0
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +45 -0
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +47 -0
- package/Source/Shaders/Builtin/Functions/translucentPhong.glsl +27 -0
- package/Source/Shaders/Builtin/Functions/translucentPhong.js +29 -0
- package/Source/Shaders/Builtin/Functions/transpose.glsl +45 -0
- package/Source/Shaders/Builtin/Functions/transpose.js +47 -0
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +14 -0
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +15 -0
- package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +16 -0
- package/Source/Shaders/Builtin/Functions/unpackDepth.js +18 -0
- package/Source/Shaders/Builtin/Functions/unpackFloat.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/unpackFloat.js +26 -0
- package/Source/Shaders/Builtin/Functions/unpackUint.glsl +31 -0
- package/Source/Shaders/Builtin/Functions/unpackUint.js +33 -0
- package/Source/Shaders/Builtin/Functions/valueTransform.glsl +38 -0
- package/Source/Shaders/Builtin/Functions/valueTransform.js +40 -0
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +64 -0
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +66 -0
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +110 -0
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +112 -0
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +26 -0
- package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +79 -0
- package/Source/Shaders/Builtin/Functions/writeLogDepth.js +81 -0
- package/Source/Shaders/Builtin/Functions/writeNonPerspective.glsl +32 -0
- package/Source/Shaders/Builtin/Functions/writeNonPerspective.js +34 -0
- package/Source/Shaders/Builtin/Structs/depthRangeStruct.glsl +9 -0
- package/Source/Shaders/Builtin/Structs/depthRangeStruct.js +11 -0
- package/Source/Shaders/Builtin/Structs/material.glsl +22 -0
- package/Source/Shaders/Builtin/Structs/material.js +24 -0
- package/Source/Shaders/Builtin/Structs/materialInput.glsl +30 -0
- package/Source/Shaders/Builtin/Structs/materialInput.js +32 -0
- package/Source/Shaders/Builtin/Structs/modelMaterial.glsl +45 -0
- package/Source/Shaders/Builtin/Structs/modelMaterial.js +47 -0
- package/Source/Shaders/Builtin/Structs/modelVertexOutput.glsl +16 -0
- package/Source/Shaders/Builtin/Structs/modelVertexOutput.js +18 -0
- package/Source/Shaders/Builtin/Structs/ray.glsl +11 -0
- package/Source/Shaders/Builtin/Structs/ray.js +13 -0
- package/Source/Shaders/Builtin/Structs/raySegment.glsl +27 -0
- package/Source/Shaders/Builtin/Structs/raySegment.js +29 -0
- package/Source/Shaders/Builtin/Structs/shadowParameters.glsl +15 -0
- package/Source/Shaders/Builtin/Structs/shadowParameters.js +17 -0
- package/Source/Shaders/CloudCollectionFS.glsl +263 -0
- package/Source/Shaders/CloudCollectionFS.js +265 -0
- package/Source/Shaders/CloudCollectionVS.glsl +48 -0
- package/Source/Shaders/CloudCollectionVS.js +50 -0
- package/Source/Shaders/CloudNoiseFS.glsl +92 -0
- package/Source/Shaders/CloudNoiseFS.js +94 -0
- package/Source/Shaders/CloudNoiseVS.glsl +18 -0
- package/Source/Shaders/CloudNoiseVS.js +20 -0
- package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +12 -0
- package/Source/Shaders/CompareAndPackTranslucentDepth.js +14 -0
- package/Source/Shaders/CompositeOITFS.glsl +31 -0
- package/Source/Shaders/CompositeOITFS.js +33 -0
- package/Source/Shaders/ComputeIrradianceFS.glsl +103 -0
- package/Source/Shaders/ComputeIrradianceFS.js +105 -0
- package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
- package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
- package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
- package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
- package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
- package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
- package/Source/Shaders/DepthPlaneFS.glsl +36 -0
- package/Source/Shaders/DepthPlaneFS.js +38 -0
- package/Source/Shaders/DepthPlaneVS.glsl +11 -0
- package/Source/Shaders/DepthPlaneVS.js +13 -0
- package/Source/Shaders/EllipsoidFS.glsl +104 -0
- package/Source/Shaders/EllipsoidFS.js +106 -0
- package/Source/Shaders/EllipsoidVS.glsl +28 -0
- package/Source/Shaders/EllipsoidVS.js +30 -0
- package/Source/Shaders/FXAA3_11.glsl +650 -0
- package/Source/Shaders/FXAA3_11.js +680 -0
- package/Source/Shaders/GlobeFS.glsl +692 -0
- package/Source/Shaders/GlobeFS.js +694 -0
- package/Source/Shaders/GlobeVS.glsl +286 -0
- package/Source/Shaders/GlobeVS.js +288 -0
- package/Source/Shaders/GroundAtmosphere.glsl +18 -0
- package/Source/Shaders/GroundAtmosphere.js +20 -0
- package/Source/Shaders/Materials/AspectRampMaterial.glsl +11 -0
- package/Source/Shaders/Materials/AspectRampMaterial.js +13 -0
- package/Source/Shaders/Materials/BumpMapMaterial.glsl +29 -0
- package/Source/Shaders/Materials/BumpMapMaterial.js +31 -0
- package/Source/Shaders/Materials/CheckerboardMaterial.glsl +29 -0
- package/Source/Shaders/Materials/CheckerboardMaterial.js +31 -0
- package/Source/Shaders/Materials/DotMaterial.glsl +18 -0
- package/Source/Shaders/Materials/DotMaterial.js +20 -0
- package/Source/Shaders/Materials/ElevationBandMaterial.glsl +74 -0
- package/Source/Shaders/Materials/ElevationBandMaterial.js +76 -0
- package/Source/Shaders/Materials/ElevationContourMaterial.glsl +26 -0
- package/Source/Shaders/Materials/ElevationContourMaterial.js +28 -0
- package/Source/Shaders/Materials/ElevationRampMaterial.glsl +14 -0
- package/Source/Shaders/Materials/ElevationRampMaterial.js +16 -0
- package/Source/Shaders/Materials/FadeMaterial.glsl +37 -0
- package/Source/Shaders/Materials/FadeMaterial.js +39 -0
- package/Source/Shaders/Materials/GridMaterial.glsl +57 -0
- package/Source/Shaders/Materials/GridMaterial.js +59 -0
- package/Source/Shaders/Materials/NormalMapMaterial.glsl +19 -0
- package/Source/Shaders/Materials/NormalMapMaterial.js +21 -0
- package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +63 -0
- package/Source/Shaders/Materials/PolylineArrowMaterial.js +65 -0
- package/Source/Shaders/Materials/PolylineDashMaterial.glsl +39 -0
- package/Source/Shaders/Materials/PolylineDashMaterial.js +41 -0
- package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +25 -0
- package/Source/Shaders/Materials/PolylineGlowMaterial.js +27 -0
- package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +29 -0
- package/Source/Shaders/Materials/PolylineOutlineMaterial.js +31 -0
- package/Source/Shaders/Materials/RimLightingMaterial.glsl +21 -0
- package/Source/Shaders/Materials/RimLightingMaterial.js +23 -0
- package/Source/Shaders/Materials/SlopeRampMaterial.glsl +11 -0
- package/Source/Shaders/Materials/SlopeRampMaterial.js +13 -0
- package/Source/Shaders/Materials/StripeMaterial.glsl +24 -0
- package/Source/Shaders/Materials/StripeMaterial.js +26 -0
- package/Source/Shaders/Materials/Water.glsl +58 -0
- package/Source/Shaders/Materials/Water.js +60 -0
- package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
- package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
- package/Source/Shaders/Model/AtmosphereStageFS.glsl +108 -0
- package/Source/Shaders/Model/AtmosphereStageFS.js +110 -0
- package/Source/Shaders/Model/AtmosphereStageVS.glsl +12 -0
- package/Source/Shaders/Model/AtmosphereStageVS.js +14 -0
- package/Source/Shaders/Model/CPUStylingStageFS.glsl +49 -0
- package/Source/Shaders/Model/CPUStylingStageFS.js +51 -0
- package/Source/Shaders/Model/CPUStylingStageVS.glsl +30 -0
- package/Source/Shaders/Model/CPUStylingStageVS.js +32 -0
- package/Source/Shaders/Model/CustomShaderStageFS.glsl +18 -0
- package/Source/Shaders/Model/CustomShaderStageFS.js +20 -0
- package/Source/Shaders/Model/CustomShaderStageVS.glsl +19 -0
- package/Source/Shaders/Model/CustomShaderStageVS.js +21 -0
- package/Source/Shaders/Model/EdgeDetectionStageFS.glsl +58 -0
- package/Source/Shaders/Model/EdgeDetectionStageFS.js +60 -0
- package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +83 -0
- package/Source/Shaders/Model/EdgeVisibilityStageFS.js +85 -0
- package/Source/Shaders/Model/FeatureIdStageFS.glsl +4 -0
- package/Source/Shaders/Model/FeatureIdStageFS.js +6 -0
- package/Source/Shaders/Model/FeatureIdStageVS.glsl +6 -0
- package/Source/Shaders/Model/FeatureIdStageVS.js +8 -0
- package/Source/Shaders/Model/GeometryStageFS.glsl +25 -0
- package/Source/Shaders/Model/GeometryStageFS.js +27 -0
- package/Source/Shaders/Model/GeometryStageVS.glsl +42 -0
- package/Source/Shaders/Model/GeometryStageVS.js +44 -0
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +101 -0
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +103 -0
- package/Source/Shaders/Model/InstancingStageCommon.glsl +67 -0
- package/Source/Shaders/Model/InstancingStageCommon.js +69 -0
- package/Source/Shaders/Model/InstancingStageVS.glsl +18 -0
- package/Source/Shaders/Model/InstancingStageVS.js +20 -0
- package/Source/Shaders/Model/LegacyInstancingStageVS.glsl +20 -0
- package/Source/Shaders/Model/LegacyInstancingStageVS.js +22 -0
- package/Source/Shaders/Model/LightingStageFS.glsl +120 -0
- package/Source/Shaders/Model/LightingStageFS.js +122 -0
- package/Source/Shaders/Model/MaterialStageFS.glsl +497 -0
- package/Source/Shaders/Model/MaterialStageFS.js +499 -0
- package/Source/Shaders/Model/MetadataStageFS.glsl +9 -0
- package/Source/Shaders/Model/MetadataStageFS.js +11 -0
- package/Source/Shaders/Model/MetadataStageVS.glsl +10 -0
- package/Source/Shaders/Model/MetadataStageVS.js +12 -0
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +88 -0
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +90 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +6 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +8 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +27 -0
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +29 -0
- package/Source/Shaders/Model/ModelColorStageFS.glsl +7 -0
- package/Source/Shaders/Model/ModelColorStageFS.js +9 -0
- package/Source/Shaders/Model/ModelFS.glsl +133 -0
- package/Source/Shaders/Model/ModelFS.js +135 -0
- package/Source/Shaders/Model/ModelSilhouetteStageFS.glsl +5 -0
- package/Source/Shaders/Model/ModelSilhouetteStageFS.js +6 -0
- package/Source/Shaders/Model/ModelSilhouetteStageVS.glsl +10 -0
- package/Source/Shaders/Model/ModelSilhouetteStageVS.js +12 -0
- package/Source/Shaders/Model/ModelSplitterStageFS.glsl +9 -0
- package/Source/Shaders/Model/ModelSplitterStageFS.js +11 -0
- package/Source/Shaders/Model/ModelVS.glsl +161 -0
- package/Source/Shaders/Model/ModelVS.js +163 -0
- package/Source/Shaders/Model/MorphTargetsStageVS.glsl +15 -0
- package/Source/Shaders/Model/MorphTargetsStageVS.js +16 -0
- package/Source/Shaders/Model/PointCloudStylingStageVS.glsl +45 -0
- package/Source/Shaders/Model/PointCloudStylingStageVS.js +47 -0
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +15 -0
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +17 -0
- package/Source/Shaders/Model/PrimitiveOutlineStageVS.glsl +3 -0
- package/Source/Shaders/Model/PrimitiveOutlineStageVS.js +5 -0
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +51 -0
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +53 -0
- package/Source/Shaders/Model/SkinningStageVS.glsl +18 -0
- package/Source/Shaders/Model/SkinningStageVS.js +19 -0
- package/Source/Shaders/Model/VerticalExaggerationStageVS.glsl +39 -0
- package/Source/Shaders/Model/VerticalExaggerationStageVS.js +41 -0
- package/Source/Shaders/PointPrimitiveCollectionFS.glsl +47 -0
- package/Source/Shaders/PointPrimitiveCollectionFS.js +49 -0
- package/Source/Shaders/PointPrimitiveCollectionVS.glsl +185 -0
- package/Source/Shaders/PointPrimitiveCollectionVS.js +187 -0
- package/Source/Shaders/PolygonSignedDistanceFS.glsl +100 -0
- package/Source/Shaders/PolygonSignedDistanceFS.js +101 -0
- package/Source/Shaders/PolylineCommon.glsl +176 -0
- package/Source/Shaders/PolylineCommon.js +178 -0
- package/Source/Shaders/PolylineFS.glsl +25 -0
- package/Source/Shaders/PolylineFS.js +27 -0
- package/Source/Shaders/PolylineShadowVolumeFS.glsl +86 -0
- package/Source/Shaders/PolylineShadowVolumeFS.js +88 -0
- package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +45 -0
- package/Source/Shaders/PolylineShadowVolumeMorphFS.js +47 -0
- package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +177 -0
- package/Source/Shaders/PolylineShadowVolumeMorphVS.js +179 -0
- package/Source/Shaders/PolylineShadowVolumeVS.glsl +168 -0
- package/Source/Shaders/PolylineShadowVolumeVS.js +170 -0
- package/Source/Shaders/PolylineVS.glsl +103 -0
- package/Source/Shaders/PolylineVS.js +105 -0
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +25 -0
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +27 -0
- package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +17 -0
- package/Source/Shaders/PostProcessStages/AdditiveBlend.js +19 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +144 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +146 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +11 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +13 -0
- package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +19 -0
- package/Source/Shaders/PostProcessStages/BlackAndWhite.js +21 -0
- package/Source/Shaders/PostProcessStages/BloomComposite.glsl +20 -0
- package/Source/Shaders/PostProcessStages/BloomComposite.js +22 -0
- package/Source/Shaders/PostProcessStages/BrightPass.glsl +30 -0
- package/Source/Shaders/PostProcessStages/BrightPass.js +32 -0
- package/Source/Shaders/PostProcessStages/Brightness.glsl +11 -0
- package/Source/Shaders/PostProcessStages/Brightness.js +13 -0
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +31 -0
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +33 -0
- package/Source/Shaders/PostProcessStages/ContrastBias.glsl +17 -0
- package/Source/Shaders/PostProcessStages/ContrastBias.js +19 -0
- package/Source/Shaders/PostProcessStages/DepthOfField.glsl +39 -0
- package/Source/Shaders/PostProcessStages/DepthOfField.js +41 -0
- package/Source/Shaders/PostProcessStages/DepthView.glsl +9 -0
- package/Source/Shaders/PostProcessStages/DepthView.js +11 -0
- package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +14 -0
- package/Source/Shaders/PostProcessStages/DepthViewPacked.js +16 -0
- package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +60 -0
- package/Source/Shaders/PostProcessStages/EdgeDetection.js +62 -0
- package/Source/Shaders/PostProcessStages/FXAA.glsl +21 -0
- package/Source/Shaders/PostProcessStages/FXAA.js +23 -0
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +40 -0
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +42 -0
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +47 -0
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +49 -0
- package/Source/Shaders/PostProcessStages/LensFlare.glsl +153 -0
- package/Source/Shaders/PostProcessStages/LensFlare.js +155 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +28 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +30 -0
- package/Source/Shaders/PostProcessStages/NightVision.glsl +16 -0
- package/Source/Shaders/PostProcessStages/NightVision.js +18 -0
- package/Source/Shaders/PostProcessStages/PassThrough.glsl +8 -0
- package/Source/Shaders/PostProcessStages/PassThrough.js +10 -0
- package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +8 -0
- package/Source/Shaders/PostProcessStages/PassThroughDepth.js +10 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +61 -0
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +63 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +27 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +29 -0
- package/Source/Shaders/PostProcessStages/Silhouette.glsl +11 -0
- package/Source/Shaders/PostProcessStages/Silhouette.js +13 -0
- package/Source/Shaders/PrimitiveGaussianSplatFS.glsl +18 -0
- package/Source/Shaders/PrimitiveGaussianSplatFS.js +20 -0
- package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +189 -0
- package/Source/Shaders/PrimitiveGaussianSplatVS.js +190 -0
- package/Source/Shaders/ReprojectWebMercatorFS.glsl +8 -0
- package/Source/Shaders/ReprojectWebMercatorFS.js +10 -0
- package/Source/Shaders/ReprojectWebMercatorVS.glsl +12 -0
- package/Source/Shaders/ReprojectWebMercatorVS.js +14 -0
- package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +153 -0
- package/Source/Shaders/ShadowVolumeAppearanceFS.js +155 -0
- package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +101 -0
- package/Source/Shaders/ShadowVolumeAppearanceVS.js +103 -0
- package/Source/Shaders/ShadowVolumeFS.glsl +13 -0
- package/Source/Shaders/ShadowVolumeFS.js +15 -0
- package/Source/Shaders/SkyAtmosphereCommon.glsl +81 -0
- package/Source/Shaders/SkyAtmosphereCommon.js +83 -0
- package/Source/Shaders/SkyAtmosphereFS.glsl +59 -0
- package/Source/Shaders/SkyAtmosphereFS.js +61 -0
- package/Source/Shaders/SkyAtmosphereVS.glsl +32 -0
- package/Source/Shaders/SkyAtmosphereVS.js +34 -0
- package/Source/Shaders/SkyBoxFS.glsl +9 -0
- package/Source/Shaders/SkyBoxFS.js +11 -0
- package/Source/Shaders/SkyBoxVS.glsl +9 -0
- package/Source/Shaders/SkyBoxVS.js +11 -0
- package/Source/Shaders/SunFS.glsl +9 -0
- package/Source/Shaders/SunFS.js +11 -0
- package/Source/Shaders/SunTextureFS.glsl +55 -0
- package/Source/Shaders/SunTextureFS.js +57 -0
- package/Source/Shaders/SunVS.glsl +28 -0
- package/Source/Shaders/SunVS.js +30 -0
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +48 -0
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +50 -0
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +85 -0
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +87 -0
- package/Source/Shaders/Vector3DTilePolylinesVS.glsl +22 -0
- package/Source/Shaders/Vector3DTilePolylinesVS.js +24 -0
- package/Source/Shaders/VectorTileVS.glsl +9 -0
- package/Source/Shaders/VectorTileVS.js +11 -0
- package/Source/Shaders/ViewportQuadFS.glsl +16 -0
- package/Source/Shaders/ViewportQuadFS.js +18 -0
- package/Source/Shaders/ViewportQuadVS.glsl +10 -0
- package/Source/Shaders/ViewportQuadVS.js +12 -0
- package/Source/Shaders/Voxels/IntersectBox.glsl +34 -0
- package/Source/Shaders/Voxels/IntersectBox.js +36 -0
- package/Source/Shaders/Voxels/IntersectCylinder.glsl +142 -0
- package/Source/Shaders/Voxels/IntersectCylinder.js +144 -0
- package/Source/Shaders/Voxels/IntersectDepth.glsl +27 -0
- package/Source/Shaders/Voxels/IntersectDepth.js +29 -0
- package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +330 -0
- package/Source/Shaders/Voxels/IntersectEllipsoid.js +332 -0
- package/Source/Shaders/Voxels/IntersectLongitude.glsl +114 -0
- package/Source/Shaders/Voxels/IntersectLongitude.js +116 -0
- package/Source/Shaders/Voxels/IntersectPlane.glsl +80 -0
- package/Source/Shaders/Voxels/IntersectPlane.js +82 -0
- package/Source/Shaders/Voxels/Intersection.glsl +50 -0
- package/Source/Shaders/Voxels/Intersection.js +52 -0
- package/Source/Shaders/Voxels/IntersectionUtils.glsl +167 -0
- package/Source/Shaders/Voxels/IntersectionUtils.js +169 -0
- package/Source/Shaders/Voxels/Megatexture.glsl +123 -0
- package/Source/Shaders/Voxels/Megatexture.js +125 -0
- package/Source/Shaders/Voxels/Octree.glsl +257 -0
- package/Source/Shaders/Voxels/Octree.js +259 -0
- package/Source/Shaders/Voxels/VoxelFS.glsl +267 -0
- package/Source/Shaders/Voxels/VoxelFS.js +269 -0
- package/Source/Shaders/Voxels/VoxelUtils.glsl +12 -0
- package/Source/Shaders/Voxels/VoxelUtils.js +14 -0
- package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
- package/Source/Shaders/Voxels/VoxelVS.js +13 -0
- package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +30 -0
- package/Source/Shaders/Voxels/convertLocalToBoxUv.js +32 -0
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +97 -0
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +99 -0
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +193 -0
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +195 -0
- package/Source/ThirdParty/Workers/basis_transcoder.js +21 -0
- package/Source/ThirdParty/Workers/package.json +1 -0
- package/Source/ThirdParty/Workers/zip-web-worker.js +1 -0
- package/Source/ThirdParty/basis_transcoder.wasm +0 -0
- package/Source/ThirdParty/draco_decoder.wasm +0 -0
- package/Source/ThirdParty/google-earth-dbroot-parser.js +8337 -0
- package/Source/ThirdParty/wasm_splats_bg.wasm +0 -0
- package/Source/ThirdParty/zip-module.wasm +0 -0
- package/Source/Widget/CesiumWidget.css +119 -0
- package/Source/Widget/CesiumWidget.js +1606 -0
- package/Source/Widget/lighter.css +14 -0
- package/Source/Workers/combineGeometry.js +13 -0
- package/Source/Workers/createBoxGeometry.js +10 -0
- package/Source/Workers/createBoxOutlineGeometry.js +10 -0
- package/Source/Workers/createCircleGeometry.js +18 -0
- package/Source/Workers/createCircleOutlineGeometry.js +18 -0
- package/Source/Workers/createCoplanarPolygonGeometry.js +10 -0
- package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +15 -0
- package/Source/Workers/createCorridorGeometry.js +12 -0
- package/Source/Workers/createCorridorOutlineGeometry.js +17 -0
- package/Source/Workers/createCylinderGeometry.js +10 -0
- package/Source/Workers/createCylinderOutlineGeometry.js +10 -0
- package/Source/Workers/createEllipseGeometry.js +14 -0
- package/Source/Workers/createEllipseOutlineGeometry.js +14 -0
- package/Source/Workers/createEllipsoidGeometry.js +10 -0
- package/Source/Workers/createEllipsoidOutlineGeometry.js +13 -0
- package/Source/Workers/createFrustumGeometry.js +10 -0
- package/Source/Workers/createFrustumOutlineGeometry.js +10 -0
- package/Source/Workers/createGeometry.js +78 -0
- package/Source/Workers/createGroundPolylineGeometry.js +16 -0
- package/Source/Workers/createPlaneGeometry.js +10 -0
- package/Source/Workers/createPlaneOutlineGeometry.js +10 -0
- package/Source/Workers/createPolygonGeometry.js +12 -0
- package/Source/Workers/createPolygonOutlineGeometry.js +12 -0
- package/Source/Workers/createPolylineGeometry.js +12 -0
- package/Source/Workers/createPolylineVolumeGeometry.js +17 -0
- package/Source/Workers/createPolylineVolumeOutlineGeometry.js +22 -0
- package/Source/Workers/createRectangleGeometry.js +14 -0
- package/Source/Workers/createRectangleOutlineGeometry.js +17 -0
- package/Source/Workers/createSimplePolylineGeometry.js +17 -0
- package/Source/Workers/createSphereGeometry.js +10 -0
- package/Source/Workers/createSphereOutlineGeometry.js +10 -0
- package/Source/Workers/createTaskProcessorWorker.js +113 -0
- package/Source/Workers/createVectorTileClampedPolylines.js +541 -0
- package/Source/Workers/createVectorTileGeometries.js +414 -0
- package/Source/Workers/createVectorTilePoints.js +81 -0
- package/Source/Workers/createVectorTilePolygons.js +412 -0
- package/Source/Workers/createVectorTilePolylines.js +210 -0
- package/Source/Workers/createVerticesFromCesium3DTilesTerrain.js +46 -0
- package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +651 -0
- package/Source/Workers/createVerticesFromHeightmap.js +53 -0
- package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +549 -0
- package/Source/Workers/createWallGeometry.js +12 -0
- package/Source/Workers/createWallOutlineGeometry.js +12 -0
- package/Source/Workers/decodeDraco.js +383 -0
- package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +268 -0
- package/Source/Workers/decodeI3S.js +1652 -0
- package/Source/Workers/gaussianSplatSorter.js +34 -0
- package/Source/Workers/gaussianSplatTextureGenerator.js +39 -0
- package/Source/Workers/incrementallyBuildTerrainPicker.js +108 -0
- package/Source/Workers/transcodeKTX2.js +308 -0
- package/Source/Workers/transferTypedArrayTest.js +16 -0
- package/Source/Workers/upsampleQuantizedTerrainMesh.js +681 -0
- package/Source/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +55 -0
- package/index.d.ts +46026 -0
- package/index.js +1227 -0
- package/package.json +79 -0
|
@@ -0,0 +1,1747 @@
|
|
|
1
|
+
import Cartesian2 from "../Core/Cartesian2.js";
|
|
2
|
+
import Cartesian4 from "../Core/Cartesian4.js";
|
|
3
|
+
import Check from "../Core/Check.js";
|
|
4
|
+
import createWorldImageryAsync from "../Scene/createWorldImageryAsync.js";
|
|
5
|
+
import Frozen from "../Core/Frozen.js";
|
|
6
|
+
import defined from "../Core/defined.js";
|
|
7
|
+
import destroyObject from "../Core/destroyObject.js";
|
|
8
|
+
import DeveloperError from "../Core/DeveloperError.js";
|
|
9
|
+
import Event from "../Core/Event.js";
|
|
10
|
+
import FeatureDetection from "../Core/FeatureDetection.js";
|
|
11
|
+
import GeographicProjection from "../Core/GeographicProjection.js";
|
|
12
|
+
import IndexDatatype from "../Core/IndexDatatype.js";
|
|
13
|
+
import CesiumMath from "../Core/Math.js";
|
|
14
|
+
import PixelFormat from "../Core/PixelFormat.js";
|
|
15
|
+
import Rectangle from "../Core/Rectangle.js";
|
|
16
|
+
import Request from "../Core/Request.js";
|
|
17
|
+
import RequestState from "../Core/RequestState.js";
|
|
18
|
+
import RequestType from "../Core/RequestType.js";
|
|
19
|
+
import TerrainProvider from "../Core/TerrainProvider.js";
|
|
20
|
+
import TileProviderError from "../Core/TileProviderError.js";
|
|
21
|
+
import WebMercatorProjection from "../Core/WebMercatorProjection.js";
|
|
22
|
+
import Buffer from "../Renderer/Buffer.js";
|
|
23
|
+
import BufferUsage from "../Renderer/BufferUsage.js";
|
|
24
|
+
import ComputeCommand from "../Renderer/ComputeCommand.js";
|
|
25
|
+
import ContextLimits from "../Renderer/ContextLimits.js";
|
|
26
|
+
import MipmapHint from "../Renderer/MipmapHint.js";
|
|
27
|
+
import Sampler from "../Renderer/Sampler.js";
|
|
28
|
+
import ShaderProgram from "../Renderer/ShaderProgram.js";
|
|
29
|
+
import ShaderSource from "../Renderer/ShaderSource.js";
|
|
30
|
+
import Texture from "../Renderer/Texture.js";
|
|
31
|
+
import TextureMagnificationFilter from "../Renderer/TextureMagnificationFilter.js";
|
|
32
|
+
import TextureMinificationFilter from "../Renderer/TextureMinificationFilter.js";
|
|
33
|
+
import TextureWrap from "../Renderer/TextureWrap.js";
|
|
34
|
+
import VertexArray from "../Renderer/VertexArray.js";
|
|
35
|
+
import ReprojectWebMercatorFS from "../Shaders/ReprojectWebMercatorFS.js";
|
|
36
|
+
import ReprojectWebMercatorVS from "../Shaders/ReprojectWebMercatorVS.js";
|
|
37
|
+
import Imagery from "./Imagery.js";
|
|
38
|
+
import ImageryState from "./ImageryState.js";
|
|
39
|
+
import SplitDirection from "./SplitDirection.js";
|
|
40
|
+
import TileImagery from "./TileImagery.js";
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @typedef {object} ImageryLayer.ConstructorOptions
|
|
44
|
+
*
|
|
45
|
+
* Initialization options for the ImageryLayer constructor.
|
|
46
|
+
*
|
|
47
|
+
* @property {Rectangle} [rectangle=imageryProvider.rectangle] The rectangle of the layer. This rectangle
|
|
48
|
+
* can limit the visible portion of the imagery provider.
|
|
49
|
+
* @property {number|Function} [alpha=1.0] The alpha blending value of this layer, from 0.0 to 1.0.
|
|
50
|
+
* This can either be a simple number or a function with the signature
|
|
51
|
+
* <code>function(frameState, layer, x, y, level)</code>. The function is passed the
|
|
52
|
+
* current frame state, this layer, and the x, y, and level coordinates of the
|
|
53
|
+
* imagery tile for which the alpha is required, and it is expected to return
|
|
54
|
+
* the alpha value to use for the tile.
|
|
55
|
+
* @property {number|Function} [nightAlpha=1.0] The alpha blending value of this layer on the night side of the globe, from 0.0 to 1.0.
|
|
56
|
+
* This can either be a simple number or a function with the signature
|
|
57
|
+
* <code>function(frameState, layer, x, y, level)</code>. The function is passed the
|
|
58
|
+
* current frame state, this layer, and the x, y, and level coordinates of the
|
|
59
|
+
* imagery tile for which the alpha is required, and it is expected to return
|
|
60
|
+
* the alpha value to use for the tile. This only takes effect when <code>enableLighting</code> is <code>true</code>.
|
|
61
|
+
* @property {number|Function} [dayAlpha=1.0] The alpha blending value of this layer on the day side of the globe, from 0.0 to 1.0.
|
|
62
|
+
* This can either be a simple number or a function with the signature
|
|
63
|
+
* <code>function(frameState, layer, x, y, level)</code>. The function is passed the
|
|
64
|
+
* current frame state, this layer, and the x, y, and level coordinates of the
|
|
65
|
+
* imagery tile for which the alpha is required, and it is expected to return
|
|
66
|
+
* the alpha value to use for the tile. This only takes effect when <code>enableLighting</code> is <code>true</code>.
|
|
67
|
+
* @property {number|Function} [brightness=1.0] The brightness of this layer. 1.0 uses the unmodified imagery
|
|
68
|
+
* color. Less than 1.0 makes the imagery darker while greater than 1.0 makes it brighter.
|
|
69
|
+
* This can either be a simple number or a function with the signature
|
|
70
|
+
* <code>function(frameState, layer, x, y, level)</code>. The function is passed the
|
|
71
|
+
* current frame state, this layer, and the x, y, and level coordinates of the
|
|
72
|
+
* imagery tile for which the brightness is required, and it is expected to return
|
|
73
|
+
* the brightness value to use for the tile. The function is executed for every
|
|
74
|
+
* frame and for every tile, so it must be fast.
|
|
75
|
+
* @property {number|Function} [contrast=1.0] The contrast of this layer. 1.0 uses the unmodified imagery color.
|
|
76
|
+
* Less than 1.0 reduces the contrast while greater than 1.0 increases it.
|
|
77
|
+
* This can either be a simple number or a function with the signature
|
|
78
|
+
* <code>function(frameState, layer, x, y, level)</code>. The function is passed the
|
|
79
|
+
* current frame state, this layer, and the x, y, and level coordinates of the
|
|
80
|
+
* imagery tile for which the contrast is required, and it is expected to return
|
|
81
|
+
* the contrast value to use for the tile. The function is executed for every
|
|
82
|
+
* frame and for every tile, so it must be fast.
|
|
83
|
+
* @property {number|Function} [hue=0.0] The hue of this layer. 0.0 uses the unmodified imagery color.
|
|
84
|
+
* This can either be a simple number or a function with the signature
|
|
85
|
+
* <code>function(frameState, layer, x, y, level)</code>. The function is passed the
|
|
86
|
+
* current frame state, this layer, and the x, y, and level coordinates
|
|
87
|
+
* of the imagery tile for which the hue is required, and it is expected to return
|
|
88
|
+
* the hue value to use for the tile. The function is executed for every
|
|
89
|
+
* frame and for every tile, so it must be fast.
|
|
90
|
+
* @property {number|Function} [saturation=1.0] The saturation of this layer. 1.0 uses the unmodified imagery color.
|
|
91
|
+
* Less than 1.0 reduces the saturation while greater than 1.0 increases it.
|
|
92
|
+
* This can either be a simple number or a function with the signature
|
|
93
|
+
* <code>function(frameState, layer, x, y, level)</code>. The function is passed the
|
|
94
|
+
* current frame state, this layer, and the x, y, and level coordinates
|
|
95
|
+
* of the imagery tile for which the saturation is required, and it is expected to return
|
|
96
|
+
* the saturation value to use for the tile. The function is executed for every
|
|
97
|
+
* frame and for every tile, so it must be fast.
|
|
98
|
+
* @property {number|Function} [gamma=1.0] The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.
|
|
99
|
+
* This can either be a simple number or a function with the signature
|
|
100
|
+
* <code>function(frameState, layer, x, y, level)</code>. The function is passed the
|
|
101
|
+
* current frame state, this layer, and the x, y, and level coordinates of the
|
|
102
|
+
* imagery tile for which the gamma is required, and it is expected to return
|
|
103
|
+
* the gamma value to use for the tile. The function is executed for every
|
|
104
|
+
* frame and for every tile, so it must be fast.
|
|
105
|
+
* @property {SplitDirection|Function} [splitDirection=SplitDirection.NONE] The {@link SplitDirection} split to apply to this layer.
|
|
106
|
+
* @property {TextureMinificationFilter} [minificationFilter=TextureMinificationFilter.LINEAR] The
|
|
107
|
+
* texture minification filter to apply to this layer. Possible values
|
|
108
|
+
* are <code>TextureMinificationFilter.LINEAR</code> and
|
|
109
|
+
* <code>TextureMinificationFilter.NEAREST</code>.
|
|
110
|
+
* @property {TextureMagnificationFilter} [magnificationFilter=TextureMagnificationFilter.LINEAR] The
|
|
111
|
+
* texture minification filter to apply to this layer. Possible values
|
|
112
|
+
* are <code>TextureMagnificationFilter.LINEAR</code> and
|
|
113
|
+
* <code>TextureMagnificationFilter.NEAREST</code>.
|
|
114
|
+
* @property {boolean} [show=true] True if the layer is shown; otherwise, false.
|
|
115
|
+
* @property {number} [maximumAnisotropy=maximum supported] The maximum anisotropy level to use
|
|
116
|
+
* for texture filtering. If this parameter is not specified, the maximum anisotropy supported
|
|
117
|
+
* by the WebGL stack will be used. Larger values make the imagery look better in horizon
|
|
118
|
+
* views.
|
|
119
|
+
* @property {number} [minimumTerrainLevel] The minimum terrain level-of-detail at which to show this imagery layer,
|
|
120
|
+
* or undefined to show it at all levels. Level zero is the least-detailed level.
|
|
121
|
+
* @property {number} [maximumTerrainLevel] The maximum terrain level-of-detail at which to show this imagery layer,
|
|
122
|
+
* or undefined to show it at all levels. Level zero is the least-detailed level.
|
|
123
|
+
* @property {Rectangle} [cutoutRectangle] Cartographic rectangle for cutting out a portion of this ImageryLayer.
|
|
124
|
+
* @property {Color} [colorToAlpha] Color to be used as alpha.
|
|
125
|
+
* @property {number} [colorToAlphaThreshold=0.004] Threshold for color-to-alpha.
|
|
126
|
+
*/
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* An imagery layer that displays tiled image data from a single imagery provider
|
|
130
|
+
* on a {@link Globe} or {@link Cesium3DTileset}.
|
|
131
|
+
*
|
|
132
|
+
* @alias ImageryLayer
|
|
133
|
+
* @constructor
|
|
134
|
+
*
|
|
135
|
+
* @param {ImageryProvider} [imageryProvider] The imagery provider to use.
|
|
136
|
+
* @param {ImageryLayer.ConstructorOptions} [options] An object describing initialization options
|
|
137
|
+
*
|
|
138
|
+
* @see {@link ImageryLayer.fromProviderAsync} for creating an imagery layer from an asynchronous imagery provider.
|
|
139
|
+
* @see {@link ImageryLayer.fromWorldImagery} for creating an imagery layer for Cesium ion's default global base imagery layer.
|
|
140
|
+
* @see {@link Scene#imageryLayers} for adding an imagery layer to the globe.
|
|
141
|
+
* @see {@link Cesium3DTileset#imageryLayers} for adding an imagery layer to a 3D tileset.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* // Add an OpenStreetMaps layer
|
|
145
|
+
* const imageryLayer = new Cesium.ImageryLayer(new Cesium.OpenStreetMapImageryProvider({
|
|
146
|
+
* url: "https://tile.openstreetmap.org/"
|
|
147
|
+
* }));
|
|
148
|
+
* scene.imageryLayers.add(imageryLayer);
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* // Add Cesium ion's default world imagery layer
|
|
152
|
+
* const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
|
|
153
|
+
* scene.imageryLayers.add(imageryLayer);
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* // Add a new transparent layer from Cesium ion
|
|
157
|
+
* const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
|
|
158
|
+
* imageryLayer.alpha = 0.5;
|
|
159
|
+
* scene.imageryLayers.add(imageryLayer);
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* // Drape Bing Maps Aerial imagery over a 3D tileset
|
|
163
|
+
* const tileset = await Cesium.Cesium3DTileset.fromUrl(
|
|
164
|
+
* "http://localhost:8002/tilesets/Seattle/tileset.json"
|
|
165
|
+
* );
|
|
166
|
+
* scene.primitives.add(tileset);
|
|
167
|
+
*
|
|
168
|
+
* const imageryProvider = await Cesium.createWorldImageryAsync({
|
|
169
|
+
* style: Cesium.IonWorldImageryStyle.AERIAL,
|
|
170
|
+
* });
|
|
171
|
+
* const imageryLayer = new ImageryLayer(imageryProvider);
|
|
172
|
+
* tileset.imageryLayers.add(imageryLayer);
|
|
173
|
+
*/
|
|
174
|
+
function ImageryLayer(imageryProvider, options) {
|
|
175
|
+
this._imageryProvider = imageryProvider;
|
|
176
|
+
|
|
177
|
+
this._readyEvent = new Event();
|
|
178
|
+
this._errorEvent = new Event();
|
|
179
|
+
|
|
180
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
181
|
+
imageryProvider = imageryProvider ?? Frozen.EMPTY_OBJECT;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* The alpha blending value of this layer, with 0.0 representing fully transparent and
|
|
185
|
+
* 1.0 representing fully opaque.
|
|
186
|
+
*
|
|
187
|
+
* @type {number}
|
|
188
|
+
* @default 1.0
|
|
189
|
+
*/
|
|
190
|
+
this.alpha = options.alpha ?? imageryProvider._defaultAlpha ?? 1.0;
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* The alpha blending value of this layer on the night side of the globe, with 0.0 representing fully transparent and
|
|
194
|
+
* 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is <code>true</code>.
|
|
195
|
+
*
|
|
196
|
+
* @type {number}
|
|
197
|
+
* @default 1.0
|
|
198
|
+
*/
|
|
199
|
+
this.nightAlpha =
|
|
200
|
+
options.nightAlpha ?? imageryProvider._defaultNightAlpha ?? 1.0;
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* The alpha blending value of this layer on the day side of the globe, with 0.0 representing fully transparent and
|
|
204
|
+
* 1.0 representing fully opaque. This only takes effect when {@link Globe#enableLighting} is <code>true</code>.
|
|
205
|
+
*
|
|
206
|
+
* @type {number}
|
|
207
|
+
* @default 1.0
|
|
208
|
+
*/
|
|
209
|
+
this.dayAlpha = options.dayAlpha ?? imageryProvider._defaultDayAlpha ?? 1.0;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* The brightness of this layer. 1.0 uses the unmodified imagery color. Less than 1.0
|
|
213
|
+
* makes the imagery darker while greater than 1.0 makes it brighter.
|
|
214
|
+
*
|
|
215
|
+
* @type {number}
|
|
216
|
+
* @default {@link ImageryLayer.DEFAULT_BRIGHTNESS}
|
|
217
|
+
*/
|
|
218
|
+
this.brightness =
|
|
219
|
+
options.brightness ??
|
|
220
|
+
imageryProvider._defaultBrightness ??
|
|
221
|
+
ImageryLayer.DEFAULT_BRIGHTNESS;
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* The contrast of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
|
|
225
|
+
* the contrast while greater than 1.0 increases it.
|
|
226
|
+
*
|
|
227
|
+
* @type {number}
|
|
228
|
+
* @default {@link ImageryLayer.DEFAULT_CONTRAST}
|
|
229
|
+
*/
|
|
230
|
+
this.contrast =
|
|
231
|
+
options.contrast ??
|
|
232
|
+
imageryProvider._defaultContrast ??
|
|
233
|
+
ImageryLayer.DEFAULT_CONTRAST;
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* The hue of this layer in radians. 0.0 uses the unmodified imagery color.
|
|
237
|
+
*
|
|
238
|
+
* @type {number}
|
|
239
|
+
* @default {@link ImageryLayer.DEFAULT_HUE}
|
|
240
|
+
*/
|
|
241
|
+
this.hue =
|
|
242
|
+
options.hue ?? imageryProvider._defaultHue ?? ImageryLayer.DEFAULT_HUE;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* The saturation of this layer. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
|
|
246
|
+
* saturation while greater than 1.0 increases it.
|
|
247
|
+
*
|
|
248
|
+
* @type {number}
|
|
249
|
+
* @default {@link ImageryLayer.DEFAULT_SATURATION}
|
|
250
|
+
*/
|
|
251
|
+
this.saturation =
|
|
252
|
+
options.saturation ??
|
|
253
|
+
imageryProvider._defaultSaturation ??
|
|
254
|
+
ImageryLayer.DEFAULT_SATURATION;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.
|
|
258
|
+
*
|
|
259
|
+
* @type {number}
|
|
260
|
+
* @default {@link ImageryLayer.DEFAULT_GAMMA}
|
|
261
|
+
*/
|
|
262
|
+
this.gamma =
|
|
263
|
+
options.gamma ??
|
|
264
|
+
imageryProvider._defaultGamma ??
|
|
265
|
+
ImageryLayer.DEFAULT_GAMMA;
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* The {@link SplitDirection} to apply to this layer.
|
|
269
|
+
*
|
|
270
|
+
* @type {SplitDirection}
|
|
271
|
+
* @default {@link ImageryLayer.DEFAULT_SPLIT}
|
|
272
|
+
*/
|
|
273
|
+
this.splitDirection = options.splitDirection ?? ImageryLayer.DEFAULT_SPLIT;
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* The {@link TextureMinificationFilter} to apply to this layer.
|
|
277
|
+
* Possible values are {@link TextureMinificationFilter.LINEAR} (the default)
|
|
278
|
+
* and {@link TextureMinificationFilter.NEAREST}.
|
|
279
|
+
*
|
|
280
|
+
* To take effect, this property must be set immediately after adding the imagery layer.
|
|
281
|
+
* Once a texture is loaded it won't be possible to change the texture filter used.
|
|
282
|
+
*
|
|
283
|
+
* @type {TextureMinificationFilter}
|
|
284
|
+
* @default {@link ImageryLayer.DEFAULT_MINIFICATION_FILTER}
|
|
285
|
+
*/
|
|
286
|
+
this.minificationFilter =
|
|
287
|
+
options.minificationFilter ??
|
|
288
|
+
imageryProvider._defaultMinificationFilter ??
|
|
289
|
+
ImageryLayer.DEFAULT_MINIFICATION_FILTER;
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* The {@link TextureMagnificationFilter} to apply to this layer.
|
|
293
|
+
* Possible values are {@link TextureMagnificationFilter.LINEAR} (the default)
|
|
294
|
+
* and {@link TextureMagnificationFilter.NEAREST}.
|
|
295
|
+
*
|
|
296
|
+
* To take effect, this property must be set immediately after adding the imagery layer.
|
|
297
|
+
* Once a texture is loaded it won't be possible to change the texture filter used.
|
|
298
|
+
*
|
|
299
|
+
* @type {TextureMagnificationFilter}
|
|
300
|
+
* @default {@link ImageryLayer.DEFAULT_MAGNIFICATION_FILTER}
|
|
301
|
+
*/
|
|
302
|
+
this.magnificationFilter =
|
|
303
|
+
options.magnificationFilter ??
|
|
304
|
+
imageryProvider._defaultMagnificationFilter ??
|
|
305
|
+
ImageryLayer.DEFAULT_MAGNIFICATION_FILTER;
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Determines if this layer is shown.
|
|
309
|
+
*
|
|
310
|
+
* @type {boolean}
|
|
311
|
+
* @default true
|
|
312
|
+
*/
|
|
313
|
+
this.show = options.show ?? true;
|
|
314
|
+
|
|
315
|
+
this._minimumTerrainLevel = options.minimumTerrainLevel;
|
|
316
|
+
this._maximumTerrainLevel = options.maximumTerrainLevel;
|
|
317
|
+
|
|
318
|
+
this._rectangle = options.rectangle ?? Rectangle.MAX_VALUE;
|
|
319
|
+
this._maximumAnisotropy = options.maximumAnisotropy;
|
|
320
|
+
|
|
321
|
+
this._imageryCache = {};
|
|
322
|
+
|
|
323
|
+
this._skeletonPlaceholder = new TileImagery(Imagery.createPlaceholder(this));
|
|
324
|
+
|
|
325
|
+
// The value of the show property on the last update.
|
|
326
|
+
this._show = true;
|
|
327
|
+
|
|
328
|
+
// The index of this layer in the ImageryLayerCollection.
|
|
329
|
+
this._layerIndex = -1;
|
|
330
|
+
|
|
331
|
+
// true if this is the base (lowest shown) layer.
|
|
332
|
+
this._isBaseLayer = false;
|
|
333
|
+
|
|
334
|
+
this._requestImageError = undefined;
|
|
335
|
+
|
|
336
|
+
this._reprojectComputeCommands = [];
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Rectangle cutout in this layer of imagery.
|
|
340
|
+
*
|
|
341
|
+
* @type {Rectangle}
|
|
342
|
+
*/
|
|
343
|
+
this.cutoutRectangle = options.cutoutRectangle;
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Color value that should be set to transparent.
|
|
347
|
+
*
|
|
348
|
+
* @type {Color}
|
|
349
|
+
*/
|
|
350
|
+
this.colorToAlpha = options.colorToAlpha;
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Normalized (0-1) threshold for color-to-alpha.
|
|
354
|
+
*
|
|
355
|
+
* @type {number}
|
|
356
|
+
*/
|
|
357
|
+
this.colorToAlphaThreshold =
|
|
358
|
+
options.colorToAlphaThreshold ??
|
|
359
|
+
ImageryLayer.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
Object.defineProperties(ImageryLayer.prototype, {
|
|
363
|
+
/**
|
|
364
|
+
* Gets the imagery provider for this layer. This should not be called before {@link ImageryLayer#ready} returns true.
|
|
365
|
+
* @memberof ImageryLayer.prototype
|
|
366
|
+
* @type {ImageryProvider}
|
|
367
|
+
* @readonly
|
|
368
|
+
*/
|
|
369
|
+
imageryProvider: {
|
|
370
|
+
get: function () {
|
|
371
|
+
return this._imageryProvider;
|
|
372
|
+
},
|
|
373
|
+
},
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Returns true when the terrain provider has been successfully created. Otherwise, returns false.
|
|
377
|
+
* @memberof ImageryLayer.prototype
|
|
378
|
+
* @type {boolean}
|
|
379
|
+
* @readonly
|
|
380
|
+
*/
|
|
381
|
+
ready: {
|
|
382
|
+
get: function () {
|
|
383
|
+
return defined(this._imageryProvider);
|
|
384
|
+
},
|
|
385
|
+
},
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
|
|
389
|
+
* to the event, you will be notified of the error and can potentially recover from it. Event listeners
|
|
390
|
+
* are passed an instance of the thrown error.
|
|
391
|
+
* @memberof ImageryLayer.prototype
|
|
392
|
+
* @type {Event<ImageryLayer.ErrorEventCallback>}
|
|
393
|
+
* @readonly
|
|
394
|
+
*/
|
|
395
|
+
errorEvent: {
|
|
396
|
+
get: function () {
|
|
397
|
+
return this._errorEvent;
|
|
398
|
+
},
|
|
399
|
+
},
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Gets an event that is raised when the imagery provider has been successfully created. Event listeners
|
|
403
|
+
* are passed the created instance of {@link ImageryProvider}.
|
|
404
|
+
* @memberof ImageryLayer.prototype
|
|
405
|
+
* @type {Event<ImageryLayer.ReadyEventCallback>}
|
|
406
|
+
* @readonly
|
|
407
|
+
*/
|
|
408
|
+
readyEvent: {
|
|
409
|
+
get: function () {
|
|
410
|
+
return this._readyEvent;
|
|
411
|
+
},
|
|
412
|
+
},
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Gets the rectangle of this layer. If this rectangle is smaller than the rectangle of the
|
|
416
|
+
* {@link ImageryProvider}, only a portion of the imagery provider is shown.
|
|
417
|
+
* @memberof ImageryLayer.prototype
|
|
418
|
+
* @type {Rectangle}
|
|
419
|
+
* @readonly
|
|
420
|
+
*/
|
|
421
|
+
rectangle: {
|
|
422
|
+
get: function () {
|
|
423
|
+
return this._rectangle;
|
|
424
|
+
},
|
|
425
|
+
},
|
|
426
|
+
});
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* This value is used as the default brightness for the imagery layer if one is not provided during construction
|
|
430
|
+
* or by the imagery provider. This value does not modify the brightness of the imagery.
|
|
431
|
+
* @type {number}
|
|
432
|
+
* @default 1.0
|
|
433
|
+
*/
|
|
434
|
+
ImageryLayer.DEFAULT_BRIGHTNESS = 1.0;
|
|
435
|
+
/**
|
|
436
|
+
* This value is used as the default contrast for the imagery layer if one is not provided during construction
|
|
437
|
+
* or by the imagery provider. This value does not modify the contrast of the imagery.
|
|
438
|
+
* @type {number}
|
|
439
|
+
* @default 1.0
|
|
440
|
+
*/
|
|
441
|
+
ImageryLayer.DEFAULT_CONTRAST = 1.0;
|
|
442
|
+
/**
|
|
443
|
+
* This value is used as the default hue for the imagery layer if one is not provided during construction
|
|
444
|
+
* or by the imagery provider. This value does not modify the hue of the imagery.
|
|
445
|
+
* @type {number}
|
|
446
|
+
* @default 0.0
|
|
447
|
+
*/
|
|
448
|
+
ImageryLayer.DEFAULT_HUE = 0.0;
|
|
449
|
+
/**
|
|
450
|
+
* This value is used as the default saturation for the imagery layer if one is not provided during construction
|
|
451
|
+
* or by the imagery provider. This value does not modify the saturation of the imagery.
|
|
452
|
+
* @type {number}
|
|
453
|
+
* @default 1.0
|
|
454
|
+
*/
|
|
455
|
+
ImageryLayer.DEFAULT_SATURATION = 1.0;
|
|
456
|
+
/**
|
|
457
|
+
* This value is used as the default gamma for the imagery layer if one is not provided during construction
|
|
458
|
+
* or by the imagery provider. This value does not modify the gamma of the imagery.
|
|
459
|
+
* @type {number}
|
|
460
|
+
* @default 1.0
|
|
461
|
+
*/
|
|
462
|
+
ImageryLayer.DEFAULT_GAMMA = 1.0;
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* This value is used as the default split for the imagery layer if one is not provided during construction
|
|
466
|
+
* or by the imagery provider.
|
|
467
|
+
* @type {SplitDirection}
|
|
468
|
+
* @default SplitDirection.NONE
|
|
469
|
+
*/
|
|
470
|
+
ImageryLayer.DEFAULT_SPLIT = SplitDirection.NONE;
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* This value is used as the default texture minification filter for the imagery layer if one is not provided
|
|
474
|
+
* during construction or by the imagery provider.
|
|
475
|
+
* @type {TextureMinificationFilter}
|
|
476
|
+
* @default TextureMinificationFilter.LINEAR
|
|
477
|
+
*/
|
|
478
|
+
ImageryLayer.DEFAULT_MINIFICATION_FILTER = TextureMinificationFilter.LINEAR;
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* This value is used as the default texture magnification filter for the imagery layer if one is not provided
|
|
482
|
+
* during construction or by the imagery provider.
|
|
483
|
+
* @type {TextureMagnificationFilter}
|
|
484
|
+
* @default TextureMagnificationFilter.LINEAR
|
|
485
|
+
*/
|
|
486
|
+
ImageryLayer.DEFAULT_MAGNIFICATION_FILTER = TextureMagnificationFilter.LINEAR;
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* This value is used as the default threshold for color-to-alpha if one is not provided
|
|
490
|
+
* during construction or by the imagery provider.
|
|
491
|
+
* @type {number}
|
|
492
|
+
* @default 0.004
|
|
493
|
+
*/
|
|
494
|
+
ImageryLayer.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD = 0.004;
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* Create a new imagery layer from an asynchronous imagery provider. The layer will handle any asynchronous loads or errors, and begin rendering the imagery layer once ready.
|
|
498
|
+
*
|
|
499
|
+
* @param {Promise<ImageryProvider>} imageryProviderPromise A promise which resolves to a imagery provider
|
|
500
|
+
* @param {ImageryLayer.ConstructorOptions} [options] An object describing initialization options
|
|
501
|
+
* @returns {ImageryLayer} The created imagery layer.
|
|
502
|
+
*
|
|
503
|
+
* @example
|
|
504
|
+
* // Create a new base layer
|
|
505
|
+
* const viewer = new Cesium.Viewer("cesiumContainer", {
|
|
506
|
+
* baseLayer: Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
|
|
507
|
+
* });
|
|
508
|
+
*
|
|
509
|
+
* @example
|
|
510
|
+
* // Add a new transparent layer
|
|
511
|
+
* const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
|
|
512
|
+
* imageryLayer.alpha = 0.5;
|
|
513
|
+
* viewer.imageryLayers.add(imageryLayer);
|
|
514
|
+
*
|
|
515
|
+
* @example
|
|
516
|
+
* // Handle loading events
|
|
517
|
+
* const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
|
|
518
|
+
* viewer.imageryLayers.add(imageryLayer);
|
|
519
|
+
*
|
|
520
|
+
* imageryLayer.readyEvent.addEventListener(provider => {
|
|
521
|
+
* imageryLayer.imageryProvider.errorEvent.addEventListener(error => {
|
|
522
|
+
* alert(`Encountered an error while loading imagery tiles! ${error}`);
|
|
523
|
+
* });
|
|
524
|
+
* });
|
|
525
|
+
*
|
|
526
|
+
* imageryLayer.errorEvent.addEventListener(error => {
|
|
527
|
+
* alert(`Encountered an error while creating an imagery layer! ${error}`);
|
|
528
|
+
* });
|
|
529
|
+
*
|
|
530
|
+
* @see ImageryLayer#errorEvent
|
|
531
|
+
* @see ImageryLayer#readyEvent
|
|
532
|
+
* @see ImageryLayer#imageryProvider
|
|
533
|
+
* @see ImageryLayer.fromWorldImagery
|
|
534
|
+
*/
|
|
535
|
+
ImageryLayer.fromProviderAsync = function (imageryProviderPromise, options) {
|
|
536
|
+
//>>includeStart('debug', pragmas.debug);
|
|
537
|
+
Check.typeOf.object("imageryProviderPromise", imageryProviderPromise);
|
|
538
|
+
//>>includeEnd('debug');
|
|
539
|
+
|
|
540
|
+
const layer = new ImageryLayer(undefined, options);
|
|
541
|
+
|
|
542
|
+
handlePromise(layer, Promise.resolve(imageryProviderPromise));
|
|
543
|
+
|
|
544
|
+
return layer;
|
|
545
|
+
};
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* @typedef {ImageryLayer.ConstructorOptions} ImageryLayer.WorldImageryConstructorOptions
|
|
549
|
+
*
|
|
550
|
+
* Initialization options for ImageryLayer.fromWorldImagery
|
|
551
|
+
*
|
|
552
|
+
* @property {IonWorldImageryStyle} [options.style=IonWorldImageryStyle] The style of base imagery, only AERIAL, AERIAL_WITH_LABELS, and ROAD are currently supported.
|
|
553
|
+
*/
|
|
554
|
+
|
|
555
|
+
/**
|
|
556
|
+
* Create a new imagery layer for ion's default global base imagery layer, currently Bing Maps. The layer will handle any asynchronous loads or errors, and begin rendering the imagery layer once ready.
|
|
557
|
+
*
|
|
558
|
+
* @param {ImageryLayer.WorldImageryConstructorOptions} options An object describing initialization options
|
|
559
|
+
* @returns {ImageryLayer} The created imagery layer.
|
|
560
|
+
*
|
|
561
|
+
* * @example
|
|
562
|
+
* // Create a new base layer
|
|
563
|
+
* const viewer = new Cesium.Viewer("cesiumContainer", {
|
|
564
|
+
* baseLayer: Cesium.ImageryLayer.fromWorldImagery();
|
|
565
|
+
* });
|
|
566
|
+
*
|
|
567
|
+
* @example
|
|
568
|
+
* // Add a new transparent layer
|
|
569
|
+
* const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
|
|
570
|
+
* imageryLayer.alpha = 0.5;
|
|
571
|
+
* viewer.imageryLayers.add(imageryLayer);
|
|
572
|
+
*
|
|
573
|
+
* @example
|
|
574
|
+
* // Handle loading events
|
|
575
|
+
* const imageryLayer = Cesium.ImageryLayer.fromWorldImagery();
|
|
576
|
+
* viewer.imageryLayers.add(imageryLayer);
|
|
577
|
+
*
|
|
578
|
+
* imageryLayer.readyEvent.addEventListener(provider => {
|
|
579
|
+
* imageryLayer.imageryProvider.errorEvent.addEventListener(error => {
|
|
580
|
+
* alert(`Encountered an error while loading imagery tiles! ${error}`);
|
|
581
|
+
* });
|
|
582
|
+
* });
|
|
583
|
+
*
|
|
584
|
+
* imageryLayer.errorEvent.addEventListener(error => {
|
|
585
|
+
* alert(`Encountered an error while creating an imagery layer! ${error}`);
|
|
586
|
+
* });
|
|
587
|
+
*
|
|
588
|
+
* @see ImageryLayer#errorEvent
|
|
589
|
+
* @see ImageryLayer#readyEvent
|
|
590
|
+
* @see ImageryLayer#imageryProvider
|
|
591
|
+
*/
|
|
592
|
+
ImageryLayer.fromWorldImagery = function (options) {
|
|
593
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
594
|
+
|
|
595
|
+
return ImageryLayer.fromProviderAsync(
|
|
596
|
+
createWorldImageryAsync({
|
|
597
|
+
style: options.style,
|
|
598
|
+
}),
|
|
599
|
+
options,
|
|
600
|
+
);
|
|
601
|
+
};
|
|
602
|
+
|
|
603
|
+
/**
|
|
604
|
+
* Gets a value indicating whether this layer is the base layer in the
|
|
605
|
+
* {@link ImageryLayerCollection}. The base layer is the one that underlies all
|
|
606
|
+
* others. It is special in that it is treated as if it has global rectangle, even if
|
|
607
|
+
* it actually does not, by stretching the texels at the edges over the entire
|
|
608
|
+
* globe.
|
|
609
|
+
*
|
|
610
|
+
* @returns {boolean} true if this is the base layer; otherwise, false.
|
|
611
|
+
*/
|
|
612
|
+
ImageryLayer.prototype.isBaseLayer = function () {
|
|
613
|
+
return this._isBaseLayer;
|
|
614
|
+
};
|
|
615
|
+
|
|
616
|
+
/**
|
|
617
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
618
|
+
* <br /><br />
|
|
619
|
+
* If this object was destroyed, it should not be used; calling any function other than
|
|
620
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
621
|
+
*
|
|
622
|
+
* @returns {boolean} True if this object was destroyed; otherwise, false.
|
|
623
|
+
*
|
|
624
|
+
* @see ImageryLayer#destroy
|
|
625
|
+
*/
|
|
626
|
+
ImageryLayer.prototype.isDestroyed = function () {
|
|
627
|
+
return false;
|
|
628
|
+
};
|
|
629
|
+
|
|
630
|
+
/**
|
|
631
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
632
|
+
* release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
633
|
+
* <br /><br />
|
|
634
|
+
* Once an object is destroyed, it should not be used; calling any function other than
|
|
635
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
636
|
+
* assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
637
|
+
*
|
|
638
|
+
* @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
|
|
639
|
+
*
|
|
640
|
+
*
|
|
641
|
+
* @example
|
|
642
|
+
* imageryLayer = imageryLayer && imageryLayer.destroy();
|
|
643
|
+
*
|
|
644
|
+
* @see ImageryLayer#isDestroyed
|
|
645
|
+
*/
|
|
646
|
+
ImageryLayer.prototype.destroy = function () {
|
|
647
|
+
return destroyObject(this);
|
|
648
|
+
};
|
|
649
|
+
|
|
650
|
+
const imageryBoundsScratch = new Rectangle();
|
|
651
|
+
const tileImageryBoundsScratch = new Rectangle();
|
|
652
|
+
const clippedRectangleScratch = new Rectangle();
|
|
653
|
+
const terrainRectangleScratch = new Rectangle();
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Computes the intersection of this layer's rectangle with the imagery provider's availability rectangle,
|
|
657
|
+
* producing the overall bounds of imagery that can be produced by this layer.
|
|
658
|
+
*
|
|
659
|
+
* @returns {Rectangle} A rectangle which defines the overall bounds of imagery that can be produced by this layer.
|
|
660
|
+
*
|
|
661
|
+
* @example
|
|
662
|
+
* // Zoom to an imagery layer.
|
|
663
|
+
* const imageryRectangle = imageryLayer.getImageryRectangle();
|
|
664
|
+
* scene.camera.flyTo({
|
|
665
|
+
* destination: rectangle
|
|
666
|
+
* });
|
|
667
|
+
*
|
|
668
|
+
*/
|
|
669
|
+
ImageryLayer.prototype.getImageryRectangle = function () {
|
|
670
|
+
const imageryProvider = this._imageryProvider;
|
|
671
|
+
const rectangle = this._rectangle;
|
|
672
|
+
return Rectangle.intersection(imageryProvider.rectangle, rectangle);
|
|
673
|
+
};
|
|
674
|
+
|
|
675
|
+
/**
|
|
676
|
+
* Create skeletons for the imagery tiles that partially or completely overlap a given terrain
|
|
677
|
+
* tile.
|
|
678
|
+
*
|
|
679
|
+
* @private
|
|
680
|
+
*
|
|
681
|
+
* @param {QuadtreeTile} tile The terrain tile.
|
|
682
|
+
* @param {TerrainProvider|undefined} terrainProvider The terrain provider associated with the terrain tile.
|
|
683
|
+
* @param {number} insertionPoint The position to insert new skeletons before in the tile's imagery list.
|
|
684
|
+
* @returns {boolean} true if this layer overlaps any portion of the terrain tile; otherwise, false.
|
|
685
|
+
*/
|
|
686
|
+
ImageryLayer.prototype._createTileImagerySkeletons = function (
|
|
687
|
+
tile,
|
|
688
|
+
terrainProvider,
|
|
689
|
+
insertionPoint,
|
|
690
|
+
) {
|
|
691
|
+
const surfaceTile = tile.data;
|
|
692
|
+
|
|
693
|
+
if (
|
|
694
|
+
!defined(terrainProvider) ||
|
|
695
|
+
(defined(this._minimumTerrainLevel) &&
|
|
696
|
+
tile.level < this._minimumTerrainLevel)
|
|
697
|
+
) {
|
|
698
|
+
return false;
|
|
699
|
+
}
|
|
700
|
+
if (
|
|
701
|
+
defined(this._maximumTerrainLevel) &&
|
|
702
|
+
tile.level > this._maximumTerrainLevel
|
|
703
|
+
) {
|
|
704
|
+
return false;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
if (!defined(insertionPoint)) {
|
|
708
|
+
insertionPoint = surfaceTile.imagery.length;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
const imageryProvider = this._imageryProvider;
|
|
712
|
+
if (!this.ready) {
|
|
713
|
+
// The imagery provider is not ready, so we can't create skeletons, yet.
|
|
714
|
+
// Instead, add a placeholder so that we'll know to create
|
|
715
|
+
// the skeletons once the provider is ready.
|
|
716
|
+
this._skeletonPlaceholder.loadingImagery.addReference();
|
|
717
|
+
surfaceTile.imagery.splice(insertionPoint, 0, this._skeletonPlaceholder);
|
|
718
|
+
return true;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
// Use Web Mercator for our texture coordinate computations if this imagery layer uses
|
|
722
|
+
// that projection and the terrain tile falls entirely inside the valid bounds of the
|
|
723
|
+
// projection.
|
|
724
|
+
const useWebMercatorT =
|
|
725
|
+
imageryProvider.tilingScheme.projection instanceof WebMercatorProjection &&
|
|
726
|
+
tile.rectangle.north < WebMercatorProjection.MaximumLatitude &&
|
|
727
|
+
tile.rectangle.south > -WebMercatorProjection.MaximumLatitude;
|
|
728
|
+
|
|
729
|
+
// Compute the rectangle of the imagery from this imageryProvider that overlaps
|
|
730
|
+
// the geometry tile. The ImageryProvider and ImageryLayer both have the
|
|
731
|
+
// opportunity to constrain the rectangle. The imagery TilingScheme's rectangle
|
|
732
|
+
// always fully contains the ImageryProvider's rectangle.
|
|
733
|
+
const imageryBounds = Rectangle.intersection(
|
|
734
|
+
imageryProvider.rectangle,
|
|
735
|
+
this._rectangle,
|
|
736
|
+
imageryBoundsScratch,
|
|
737
|
+
);
|
|
738
|
+
let rectangle = Rectangle.intersection(
|
|
739
|
+
tile.rectangle,
|
|
740
|
+
imageryBounds,
|
|
741
|
+
tileImageryBoundsScratch,
|
|
742
|
+
);
|
|
743
|
+
|
|
744
|
+
if (!defined(rectangle)) {
|
|
745
|
+
// There is no overlap between this terrain tile and this imagery
|
|
746
|
+
// provider. Unless this is the base layer, no skeletons need to be created.
|
|
747
|
+
// We stretch texels at the edge of the base layer over the entire globe.
|
|
748
|
+
if (!this.isBaseLayer()) {
|
|
749
|
+
return false;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
const baseImageryRectangle = imageryBounds;
|
|
753
|
+
const baseTerrainRectangle = tile.rectangle;
|
|
754
|
+
rectangle = tileImageryBoundsScratch;
|
|
755
|
+
|
|
756
|
+
if (baseTerrainRectangle.south >= baseImageryRectangle.north) {
|
|
757
|
+
rectangle.north = rectangle.south = baseImageryRectangle.north;
|
|
758
|
+
} else if (baseTerrainRectangle.north <= baseImageryRectangle.south) {
|
|
759
|
+
rectangle.north = rectangle.south = baseImageryRectangle.south;
|
|
760
|
+
} else {
|
|
761
|
+
rectangle.south = Math.max(
|
|
762
|
+
baseTerrainRectangle.south,
|
|
763
|
+
baseImageryRectangle.south,
|
|
764
|
+
);
|
|
765
|
+
rectangle.north = Math.min(
|
|
766
|
+
baseTerrainRectangle.north,
|
|
767
|
+
baseImageryRectangle.north,
|
|
768
|
+
);
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
if (baseTerrainRectangle.west >= baseImageryRectangle.east) {
|
|
772
|
+
rectangle.west = rectangle.east = baseImageryRectangle.east;
|
|
773
|
+
} else if (baseTerrainRectangle.east <= baseImageryRectangle.west) {
|
|
774
|
+
rectangle.west = rectangle.east = baseImageryRectangle.west;
|
|
775
|
+
} else {
|
|
776
|
+
rectangle.west = Math.max(
|
|
777
|
+
baseTerrainRectangle.west,
|
|
778
|
+
baseImageryRectangle.west,
|
|
779
|
+
);
|
|
780
|
+
rectangle.east = Math.min(
|
|
781
|
+
baseTerrainRectangle.east,
|
|
782
|
+
baseImageryRectangle.east,
|
|
783
|
+
);
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
let latitudeClosestToEquator = 0.0;
|
|
788
|
+
if (rectangle.south > 0.0) {
|
|
789
|
+
latitudeClosestToEquator = rectangle.south;
|
|
790
|
+
} else if (rectangle.north < 0.0) {
|
|
791
|
+
latitudeClosestToEquator = rectangle.north;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
// Compute the required level in the imagery tiling scheme.
|
|
795
|
+
// The errorRatio should really be imagerySSE / terrainSSE rather than this hard-coded value.
|
|
796
|
+
// But first we need configurable imagery SSE and we need the rendering to be able to handle more
|
|
797
|
+
// images attached to a terrain tile than there are available texture units. So that's for the future.
|
|
798
|
+
const errorRatio = 1.0;
|
|
799
|
+
const targetGeometricError =
|
|
800
|
+
errorRatio * terrainProvider.getLevelMaximumGeometricError(tile.level);
|
|
801
|
+
let imageryLevel = getLevelWithMaximumTexelSpacing(
|
|
802
|
+
this,
|
|
803
|
+
targetGeometricError,
|
|
804
|
+
latitudeClosestToEquator,
|
|
805
|
+
);
|
|
806
|
+
imageryLevel = Math.max(0, imageryLevel);
|
|
807
|
+
const maximumLevel = imageryProvider.maximumLevel;
|
|
808
|
+
if (imageryLevel > maximumLevel) {
|
|
809
|
+
imageryLevel = maximumLevel;
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
if (defined(imageryProvider.minimumLevel)) {
|
|
813
|
+
const minimumLevel = imageryProvider.minimumLevel;
|
|
814
|
+
if (imageryLevel < minimumLevel) {
|
|
815
|
+
imageryLevel = minimumLevel;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
const imageryTilingScheme = imageryProvider.tilingScheme;
|
|
820
|
+
const northwestTileCoordinates = imageryTilingScheme.positionToTileXY(
|
|
821
|
+
Rectangle.northwest(rectangle),
|
|
822
|
+
imageryLevel,
|
|
823
|
+
);
|
|
824
|
+
const southeastTileCoordinates = imageryTilingScheme.positionToTileXY(
|
|
825
|
+
Rectangle.southeast(rectangle),
|
|
826
|
+
imageryLevel,
|
|
827
|
+
);
|
|
828
|
+
|
|
829
|
+
// If the southeast corner of the rectangle lies very close to the north or west side
|
|
830
|
+
// of the southeast tile, we don't actually need the southernmost or easternmost
|
|
831
|
+
// tiles.
|
|
832
|
+
// Similarly, if the northwest corner of the rectangle lies very close to the south or east side
|
|
833
|
+
// of the northwest tile, we don't actually need the northernmost or westernmost tiles.
|
|
834
|
+
|
|
835
|
+
// We define "very close" as being within 1/512 of the width of the tile.
|
|
836
|
+
let veryCloseX = tile.rectangle.width / 512.0;
|
|
837
|
+
let veryCloseY = tile.rectangle.height / 512.0;
|
|
838
|
+
|
|
839
|
+
const northwestTileRectangle = imageryTilingScheme.tileXYToRectangle(
|
|
840
|
+
northwestTileCoordinates.x,
|
|
841
|
+
northwestTileCoordinates.y,
|
|
842
|
+
imageryLevel,
|
|
843
|
+
);
|
|
844
|
+
if (
|
|
845
|
+
Math.abs(northwestTileRectangle.south - tile.rectangle.north) <
|
|
846
|
+
veryCloseY &&
|
|
847
|
+
northwestTileCoordinates.y < southeastTileCoordinates.y
|
|
848
|
+
) {
|
|
849
|
+
++northwestTileCoordinates.y;
|
|
850
|
+
}
|
|
851
|
+
if (
|
|
852
|
+
Math.abs(northwestTileRectangle.east - tile.rectangle.west) < veryCloseX &&
|
|
853
|
+
northwestTileCoordinates.x < southeastTileCoordinates.x
|
|
854
|
+
) {
|
|
855
|
+
++northwestTileCoordinates.x;
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
const southeastTileRectangle = imageryTilingScheme.tileXYToRectangle(
|
|
859
|
+
southeastTileCoordinates.x,
|
|
860
|
+
southeastTileCoordinates.y,
|
|
861
|
+
imageryLevel,
|
|
862
|
+
);
|
|
863
|
+
if (
|
|
864
|
+
Math.abs(southeastTileRectangle.north - tile.rectangle.south) <
|
|
865
|
+
veryCloseY &&
|
|
866
|
+
southeastTileCoordinates.y > northwestTileCoordinates.y
|
|
867
|
+
) {
|
|
868
|
+
--southeastTileCoordinates.y;
|
|
869
|
+
}
|
|
870
|
+
if (
|
|
871
|
+
Math.abs(southeastTileRectangle.west - tile.rectangle.east) < veryCloseX &&
|
|
872
|
+
southeastTileCoordinates.x > northwestTileCoordinates.x
|
|
873
|
+
) {
|
|
874
|
+
--southeastTileCoordinates.x;
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
// Create TileImagery instances for each imagery tile overlapping this terrain tile.
|
|
878
|
+
// We need to do all texture coordinate computations in the imagery tile's tiling scheme.
|
|
879
|
+
|
|
880
|
+
const terrainRectangle = Rectangle.clone(
|
|
881
|
+
tile.rectangle,
|
|
882
|
+
terrainRectangleScratch,
|
|
883
|
+
);
|
|
884
|
+
let imageryRectangle = imageryTilingScheme.tileXYToRectangle(
|
|
885
|
+
northwestTileCoordinates.x,
|
|
886
|
+
northwestTileCoordinates.y,
|
|
887
|
+
imageryLevel,
|
|
888
|
+
);
|
|
889
|
+
let clippedImageryRectangle = Rectangle.intersection(
|
|
890
|
+
imageryRectangle,
|
|
891
|
+
imageryBounds,
|
|
892
|
+
clippedRectangleScratch,
|
|
893
|
+
);
|
|
894
|
+
|
|
895
|
+
let imageryTileXYToRectangle;
|
|
896
|
+
if (useWebMercatorT) {
|
|
897
|
+
imageryTilingScheme.rectangleToNativeRectangle(
|
|
898
|
+
terrainRectangle,
|
|
899
|
+
terrainRectangle,
|
|
900
|
+
);
|
|
901
|
+
imageryTilingScheme.rectangleToNativeRectangle(
|
|
902
|
+
imageryRectangle,
|
|
903
|
+
imageryRectangle,
|
|
904
|
+
);
|
|
905
|
+
imageryTilingScheme.rectangleToNativeRectangle(
|
|
906
|
+
clippedImageryRectangle,
|
|
907
|
+
clippedImageryRectangle,
|
|
908
|
+
);
|
|
909
|
+
imageryTilingScheme.rectangleToNativeRectangle(
|
|
910
|
+
imageryBounds,
|
|
911
|
+
imageryBounds,
|
|
912
|
+
);
|
|
913
|
+
imageryTileXYToRectangle =
|
|
914
|
+
imageryTilingScheme.tileXYToNativeRectangle.bind(imageryTilingScheme);
|
|
915
|
+
veryCloseX = terrainRectangle.width / 512.0;
|
|
916
|
+
veryCloseY = terrainRectangle.height / 512.0;
|
|
917
|
+
} else {
|
|
918
|
+
imageryTileXYToRectangle =
|
|
919
|
+
imageryTilingScheme.tileXYToRectangle.bind(imageryTilingScheme);
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
let minU;
|
|
923
|
+
let maxU = 0.0;
|
|
924
|
+
|
|
925
|
+
let minV = 1.0;
|
|
926
|
+
let maxV;
|
|
927
|
+
|
|
928
|
+
// If this is the northern-most or western-most tile in the imagery tiling scheme,
|
|
929
|
+
// it may not start at the northern or western edge of the terrain tile.
|
|
930
|
+
// Calculate where it does start.
|
|
931
|
+
if (
|
|
932
|
+
!this.isBaseLayer() &&
|
|
933
|
+
Math.abs(clippedImageryRectangle.west - terrainRectangle.west) >= veryCloseX
|
|
934
|
+
) {
|
|
935
|
+
maxU = Math.min(
|
|
936
|
+
1.0,
|
|
937
|
+
(clippedImageryRectangle.west - terrainRectangle.west) /
|
|
938
|
+
terrainRectangle.width,
|
|
939
|
+
);
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
if (
|
|
943
|
+
!this.isBaseLayer() &&
|
|
944
|
+
Math.abs(clippedImageryRectangle.north - terrainRectangle.north) >=
|
|
945
|
+
veryCloseY
|
|
946
|
+
) {
|
|
947
|
+
minV = Math.max(
|
|
948
|
+
0.0,
|
|
949
|
+
(clippedImageryRectangle.north - terrainRectangle.south) /
|
|
950
|
+
terrainRectangle.height,
|
|
951
|
+
);
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
const initialMinV = minV;
|
|
955
|
+
|
|
956
|
+
for (
|
|
957
|
+
let i = northwestTileCoordinates.x;
|
|
958
|
+
i <= southeastTileCoordinates.x;
|
|
959
|
+
i++
|
|
960
|
+
) {
|
|
961
|
+
minU = maxU;
|
|
962
|
+
|
|
963
|
+
imageryRectangle = imageryTileXYToRectangle(
|
|
964
|
+
i,
|
|
965
|
+
northwestTileCoordinates.y,
|
|
966
|
+
imageryLevel,
|
|
967
|
+
);
|
|
968
|
+
clippedImageryRectangle = Rectangle.simpleIntersection(
|
|
969
|
+
imageryRectangle,
|
|
970
|
+
imageryBounds,
|
|
971
|
+
clippedRectangleScratch,
|
|
972
|
+
);
|
|
973
|
+
|
|
974
|
+
if (!defined(clippedImageryRectangle)) {
|
|
975
|
+
continue;
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
maxU = Math.min(
|
|
979
|
+
1.0,
|
|
980
|
+
(clippedImageryRectangle.east - terrainRectangle.west) /
|
|
981
|
+
terrainRectangle.width,
|
|
982
|
+
);
|
|
983
|
+
|
|
984
|
+
// If this is the eastern-most imagery tile mapped to this terrain tile,
|
|
985
|
+
// and there are more imagery tiles to the east of this one, the maxU
|
|
986
|
+
// should be 1.0 to make sure rounding errors don't make the last
|
|
987
|
+
// image fall shy of the edge of the terrain tile.
|
|
988
|
+
if (
|
|
989
|
+
i === southeastTileCoordinates.x &&
|
|
990
|
+
(this.isBaseLayer() ||
|
|
991
|
+
Math.abs(clippedImageryRectangle.east - terrainRectangle.east) <
|
|
992
|
+
veryCloseX)
|
|
993
|
+
) {
|
|
994
|
+
maxU = 1.0;
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
minV = initialMinV;
|
|
998
|
+
|
|
999
|
+
for (
|
|
1000
|
+
let j = northwestTileCoordinates.y;
|
|
1001
|
+
j <= southeastTileCoordinates.y;
|
|
1002
|
+
j++
|
|
1003
|
+
) {
|
|
1004
|
+
maxV = minV;
|
|
1005
|
+
|
|
1006
|
+
imageryRectangle = imageryTileXYToRectangle(i, j, imageryLevel);
|
|
1007
|
+
clippedImageryRectangle = Rectangle.simpleIntersection(
|
|
1008
|
+
imageryRectangle,
|
|
1009
|
+
imageryBounds,
|
|
1010
|
+
clippedRectangleScratch,
|
|
1011
|
+
);
|
|
1012
|
+
|
|
1013
|
+
if (!defined(clippedImageryRectangle)) {
|
|
1014
|
+
continue;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
minV = Math.max(
|
|
1018
|
+
0.0,
|
|
1019
|
+
(clippedImageryRectangle.south - terrainRectangle.south) /
|
|
1020
|
+
terrainRectangle.height,
|
|
1021
|
+
);
|
|
1022
|
+
|
|
1023
|
+
// If this is the southern-most imagery tile mapped to this terrain tile,
|
|
1024
|
+
// and there are more imagery tiles to the south of this one, the minV
|
|
1025
|
+
// should be 0.0 to make sure rounding errors don't make the last
|
|
1026
|
+
// image fall shy of the edge of the terrain tile.
|
|
1027
|
+
if (
|
|
1028
|
+
j === southeastTileCoordinates.y &&
|
|
1029
|
+
(this.isBaseLayer() ||
|
|
1030
|
+
Math.abs(clippedImageryRectangle.south - terrainRectangle.south) <
|
|
1031
|
+
veryCloseY)
|
|
1032
|
+
) {
|
|
1033
|
+
minV = 0.0;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
const texCoordsRectangle = new Cartesian4(minU, minV, maxU, maxV);
|
|
1037
|
+
const imagery = this.getImageryFromCache(i, j, imageryLevel);
|
|
1038
|
+
surfaceTile.imagery.splice(
|
|
1039
|
+
insertionPoint,
|
|
1040
|
+
0,
|
|
1041
|
+
new TileImagery(imagery, texCoordsRectangle, useWebMercatorT),
|
|
1042
|
+
);
|
|
1043
|
+
++insertionPoint;
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
return true;
|
|
1048
|
+
};
|
|
1049
|
+
|
|
1050
|
+
/**
|
|
1051
|
+
* Calculate the translation and scale for a particular {@link TileImagery} attached to a
|
|
1052
|
+
* particular terrain tile.
|
|
1053
|
+
*
|
|
1054
|
+
* @private
|
|
1055
|
+
*
|
|
1056
|
+
* @param {Tile} tile The terrain tile.
|
|
1057
|
+
* @param {TileImagery} tileImagery The imagery tile mapping.
|
|
1058
|
+
* @returns {Cartesian4} The translation and scale where X and Y are the translation and Z and W
|
|
1059
|
+
* are the scale.
|
|
1060
|
+
*/
|
|
1061
|
+
ImageryLayer.prototype._calculateTextureTranslationAndScale = function (
|
|
1062
|
+
tile,
|
|
1063
|
+
tileImagery,
|
|
1064
|
+
) {
|
|
1065
|
+
let imageryRectangle = tileImagery.readyImagery.rectangle;
|
|
1066
|
+
let terrainRectangle = tile.rectangle;
|
|
1067
|
+
|
|
1068
|
+
if (tileImagery.useWebMercatorT) {
|
|
1069
|
+
const tilingScheme =
|
|
1070
|
+
tileImagery.readyImagery.imageryLayer.imageryProvider.tilingScheme;
|
|
1071
|
+
imageryRectangle = tilingScheme.rectangleToNativeRectangle(
|
|
1072
|
+
imageryRectangle,
|
|
1073
|
+
imageryBoundsScratch,
|
|
1074
|
+
);
|
|
1075
|
+
terrainRectangle = tilingScheme.rectangleToNativeRectangle(
|
|
1076
|
+
terrainRectangle,
|
|
1077
|
+
terrainRectangleScratch,
|
|
1078
|
+
);
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
const terrainWidth = terrainRectangle.width;
|
|
1082
|
+
const terrainHeight = terrainRectangle.height;
|
|
1083
|
+
|
|
1084
|
+
const scaleX = terrainWidth / imageryRectangle.width;
|
|
1085
|
+
const scaleY = terrainHeight / imageryRectangle.height;
|
|
1086
|
+
return new Cartesian4(
|
|
1087
|
+
(scaleX * (terrainRectangle.west - imageryRectangle.west)) / terrainWidth,
|
|
1088
|
+
(scaleY * (terrainRectangle.south - imageryRectangle.south)) /
|
|
1089
|
+
terrainHeight,
|
|
1090
|
+
scaleX,
|
|
1091
|
+
scaleY,
|
|
1092
|
+
);
|
|
1093
|
+
};
|
|
1094
|
+
|
|
1095
|
+
/**
|
|
1096
|
+
* Request a particular piece of imagery from the imagery provider. This method handles raising an
|
|
1097
|
+
* error event if the request fails, and retrying the request if necessary.
|
|
1098
|
+
*
|
|
1099
|
+
* @private
|
|
1100
|
+
*
|
|
1101
|
+
* @param {Imagery} imagery The imagery to request.
|
|
1102
|
+
*/
|
|
1103
|
+
ImageryLayer.prototype._requestImagery = function (imagery) {
|
|
1104
|
+
const imageryProvider = this._imageryProvider;
|
|
1105
|
+
|
|
1106
|
+
const that = this;
|
|
1107
|
+
|
|
1108
|
+
function success(image) {
|
|
1109
|
+
if (!defined(image)) {
|
|
1110
|
+
return failure();
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
imagery.image = image;
|
|
1114
|
+
imagery.state = ImageryState.RECEIVED;
|
|
1115
|
+
imagery.request = undefined;
|
|
1116
|
+
|
|
1117
|
+
TileProviderError.reportSuccess(that._requestImageError);
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
function failure(e) {
|
|
1121
|
+
if (imagery.request.state === RequestState.CANCELLED) {
|
|
1122
|
+
// Cancelled due to low priority - try again later.
|
|
1123
|
+
imagery.state = ImageryState.UNLOADED;
|
|
1124
|
+
imagery.request = undefined;
|
|
1125
|
+
return;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
// Initially assume failure. An error handler may retry, in which case the state will
|
|
1129
|
+
// change to TRANSITIONING.
|
|
1130
|
+
imagery.state = ImageryState.FAILED;
|
|
1131
|
+
imagery.request = undefined;
|
|
1132
|
+
|
|
1133
|
+
const message = `Failed to obtain image tile X: ${imagery.x} Y: ${imagery.y} Level: ${imagery.level}.`;
|
|
1134
|
+
that._requestImageError = TileProviderError.reportError(
|
|
1135
|
+
that._requestImageError,
|
|
1136
|
+
imageryProvider,
|
|
1137
|
+
imageryProvider.errorEvent,
|
|
1138
|
+
message,
|
|
1139
|
+
imagery.x,
|
|
1140
|
+
imagery.y,
|
|
1141
|
+
imagery.level,
|
|
1142
|
+
e,
|
|
1143
|
+
);
|
|
1144
|
+
if (that._requestImageError.retry) {
|
|
1145
|
+
doRequest();
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
function doRequest() {
|
|
1150
|
+
const request = new Request({
|
|
1151
|
+
throttle: false,
|
|
1152
|
+
throttleByServer: true,
|
|
1153
|
+
type: RequestType.IMAGERY,
|
|
1154
|
+
});
|
|
1155
|
+
imagery.request = request;
|
|
1156
|
+
imagery.state = ImageryState.TRANSITIONING;
|
|
1157
|
+
const imagePromise = imageryProvider.requestImage(
|
|
1158
|
+
imagery.x,
|
|
1159
|
+
imagery.y,
|
|
1160
|
+
imagery.level,
|
|
1161
|
+
request,
|
|
1162
|
+
);
|
|
1163
|
+
|
|
1164
|
+
if (!defined(imagePromise)) {
|
|
1165
|
+
// Too many parallel requests, so postpone loading tile.
|
|
1166
|
+
imagery.state = ImageryState.UNLOADED;
|
|
1167
|
+
imagery.request = undefined;
|
|
1168
|
+
return;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
if (defined(imageryProvider.getTileCredits)) {
|
|
1172
|
+
imagery.credits = imageryProvider.getTileCredits(
|
|
1173
|
+
imagery.x,
|
|
1174
|
+
imagery.y,
|
|
1175
|
+
imagery.level,
|
|
1176
|
+
);
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
imagePromise
|
|
1180
|
+
.then(function (image) {
|
|
1181
|
+
success(image);
|
|
1182
|
+
})
|
|
1183
|
+
.catch(function (e) {
|
|
1184
|
+
failure(e);
|
|
1185
|
+
});
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
doRequest();
|
|
1189
|
+
};
|
|
1190
|
+
|
|
1191
|
+
ImageryLayer.prototype._createTextureWebGL = function (context, imagery) {
|
|
1192
|
+
const sampler = new Sampler({
|
|
1193
|
+
minificationFilter: this.minificationFilter,
|
|
1194
|
+
magnificationFilter: this.magnificationFilter,
|
|
1195
|
+
});
|
|
1196
|
+
|
|
1197
|
+
const image = imagery.image;
|
|
1198
|
+
|
|
1199
|
+
if (defined(image.internalFormat)) {
|
|
1200
|
+
return new Texture({
|
|
1201
|
+
context: context,
|
|
1202
|
+
pixelFormat: image.internalFormat,
|
|
1203
|
+
width: image.width,
|
|
1204
|
+
height: image.height,
|
|
1205
|
+
source: {
|
|
1206
|
+
arrayBufferView: image.bufferView,
|
|
1207
|
+
},
|
|
1208
|
+
sampler: sampler,
|
|
1209
|
+
});
|
|
1210
|
+
}
|
|
1211
|
+
return new Texture({
|
|
1212
|
+
context: context,
|
|
1213
|
+
source: image,
|
|
1214
|
+
pixelFormat: this._imageryProvider.hasAlphaChannel
|
|
1215
|
+
? PixelFormat.RGBA
|
|
1216
|
+
: PixelFormat.RGB,
|
|
1217
|
+
sampler: sampler,
|
|
1218
|
+
});
|
|
1219
|
+
};
|
|
1220
|
+
|
|
1221
|
+
/**
|
|
1222
|
+
* Create a WebGL texture for a given {@link Imagery} instance.
|
|
1223
|
+
*
|
|
1224
|
+
* @private
|
|
1225
|
+
*
|
|
1226
|
+
* @param {Context} context The rendered context to use to create textures.
|
|
1227
|
+
* @param {Imagery} imagery The imagery for which to create a texture.
|
|
1228
|
+
*/
|
|
1229
|
+
ImageryLayer.prototype._createTexture = function (context, imagery) {
|
|
1230
|
+
const imageryProvider = this._imageryProvider;
|
|
1231
|
+
const image = imagery.image;
|
|
1232
|
+
|
|
1233
|
+
// If this imagery provider has a discard policy, use it to check if this
|
|
1234
|
+
// image should be discarded.
|
|
1235
|
+
if (defined(imageryProvider.tileDiscardPolicy)) {
|
|
1236
|
+
const discardPolicy = imageryProvider.tileDiscardPolicy;
|
|
1237
|
+
if (defined(discardPolicy)) {
|
|
1238
|
+
// If the discard policy is not ready yet, transition back to the
|
|
1239
|
+
// RECEIVED state and we'll try again next time.
|
|
1240
|
+
if (!discardPolicy.isReady()) {
|
|
1241
|
+
imagery.state = ImageryState.RECEIVED;
|
|
1242
|
+
return;
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
// Mark discarded imagery tiles invalid. Parent imagery will be used instead.
|
|
1246
|
+
if (discardPolicy.shouldDiscardImage(image)) {
|
|
1247
|
+
imagery.state = ImageryState.INVALID;
|
|
1248
|
+
return;
|
|
1249
|
+
}
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
//>>includeStart('debug', pragmas.debug);
|
|
1254
|
+
if (
|
|
1255
|
+
this.minificationFilter !== TextureMinificationFilter.NEAREST &&
|
|
1256
|
+
this.minificationFilter !== TextureMinificationFilter.LINEAR
|
|
1257
|
+
) {
|
|
1258
|
+
throw new DeveloperError(
|
|
1259
|
+
"ImageryLayer minification filter must be NEAREST or LINEAR",
|
|
1260
|
+
);
|
|
1261
|
+
}
|
|
1262
|
+
//>>includeEnd('debug');
|
|
1263
|
+
|
|
1264
|
+
// Imagery does not need to be discarded, so upload it to WebGL.
|
|
1265
|
+
const texture = this._createTextureWebGL(context, imagery);
|
|
1266
|
+
|
|
1267
|
+
if (
|
|
1268
|
+
imageryProvider.tilingScheme.projection instanceof WebMercatorProjection
|
|
1269
|
+
) {
|
|
1270
|
+
imagery.textureWebMercator = texture;
|
|
1271
|
+
} else {
|
|
1272
|
+
imagery.texture = texture;
|
|
1273
|
+
}
|
|
1274
|
+
imagery.image = undefined;
|
|
1275
|
+
imagery.state = ImageryState.TEXTURE_LOADED;
|
|
1276
|
+
};
|
|
1277
|
+
|
|
1278
|
+
function getSamplerKey(
|
|
1279
|
+
minificationFilter,
|
|
1280
|
+
magnificationFilter,
|
|
1281
|
+
maximumAnisotropy,
|
|
1282
|
+
) {
|
|
1283
|
+
return `${minificationFilter}:${magnificationFilter}:${maximumAnisotropy}`;
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
ImageryLayer.prototype._finalizeReprojectTexture = function (context, texture) {
|
|
1287
|
+
let minificationFilter = this.minificationFilter;
|
|
1288
|
+
const magnificationFilter = this.magnificationFilter;
|
|
1289
|
+
const usesLinearTextureFilter =
|
|
1290
|
+
minificationFilter === TextureMinificationFilter.LINEAR &&
|
|
1291
|
+
magnificationFilter === TextureMagnificationFilter.LINEAR;
|
|
1292
|
+
// Use mipmaps if this texture has power-of-two dimensions.
|
|
1293
|
+
// In addition, mipmaps are only generated if the texture filters are both LINEAR.
|
|
1294
|
+
if (
|
|
1295
|
+
usesLinearTextureFilter &&
|
|
1296
|
+
!PixelFormat.isCompressedFormat(texture.pixelFormat) &&
|
|
1297
|
+
CesiumMath.isPowerOfTwo(texture.width) &&
|
|
1298
|
+
CesiumMath.isPowerOfTwo(texture.height)
|
|
1299
|
+
) {
|
|
1300
|
+
minificationFilter = TextureMinificationFilter.LINEAR_MIPMAP_LINEAR;
|
|
1301
|
+
const maximumSupportedAnisotropy =
|
|
1302
|
+
ContextLimits.maximumTextureFilterAnisotropy;
|
|
1303
|
+
const maximumAnisotropy = Math.min(
|
|
1304
|
+
maximumSupportedAnisotropy,
|
|
1305
|
+
this._maximumAnisotropy ?? maximumSupportedAnisotropy,
|
|
1306
|
+
);
|
|
1307
|
+
const mipmapSamplerKey = getSamplerKey(
|
|
1308
|
+
minificationFilter,
|
|
1309
|
+
magnificationFilter,
|
|
1310
|
+
maximumAnisotropy,
|
|
1311
|
+
);
|
|
1312
|
+
let mipmapSamplers = context.cache.imageryLayerMipmapSamplers;
|
|
1313
|
+
if (!defined(mipmapSamplers)) {
|
|
1314
|
+
mipmapSamplers = {};
|
|
1315
|
+
context.cache.imageryLayerMipmapSamplers = mipmapSamplers;
|
|
1316
|
+
}
|
|
1317
|
+
let mipmapSampler = mipmapSamplers[mipmapSamplerKey];
|
|
1318
|
+
if (!defined(mipmapSampler)) {
|
|
1319
|
+
mipmapSampler = mipmapSamplers[mipmapSamplerKey] = new Sampler({
|
|
1320
|
+
wrapS: TextureWrap.CLAMP_TO_EDGE,
|
|
1321
|
+
wrapT: TextureWrap.CLAMP_TO_EDGE,
|
|
1322
|
+
minificationFilter: minificationFilter,
|
|
1323
|
+
magnificationFilter: magnificationFilter,
|
|
1324
|
+
maximumAnisotropy: maximumAnisotropy,
|
|
1325
|
+
});
|
|
1326
|
+
}
|
|
1327
|
+
texture.generateMipmap(MipmapHint.NICEST);
|
|
1328
|
+
texture.sampler = mipmapSampler;
|
|
1329
|
+
} else {
|
|
1330
|
+
const nonMipmapSamplerKey = getSamplerKey(
|
|
1331
|
+
minificationFilter,
|
|
1332
|
+
magnificationFilter,
|
|
1333
|
+
0,
|
|
1334
|
+
);
|
|
1335
|
+
let nonMipmapSamplers = context.cache.imageryLayerNonMipmapSamplers;
|
|
1336
|
+
if (!defined(nonMipmapSamplers)) {
|
|
1337
|
+
nonMipmapSamplers = {};
|
|
1338
|
+
context.cache.imageryLayerNonMipmapSamplers = nonMipmapSamplers;
|
|
1339
|
+
}
|
|
1340
|
+
let nonMipmapSampler = nonMipmapSamplers[nonMipmapSamplerKey];
|
|
1341
|
+
if (!defined(nonMipmapSampler)) {
|
|
1342
|
+
nonMipmapSampler = nonMipmapSamplers[nonMipmapSamplerKey] = new Sampler({
|
|
1343
|
+
wrapS: TextureWrap.CLAMP_TO_EDGE,
|
|
1344
|
+
wrapT: TextureWrap.CLAMP_TO_EDGE,
|
|
1345
|
+
minificationFilter: minificationFilter,
|
|
1346
|
+
magnificationFilter: magnificationFilter,
|
|
1347
|
+
});
|
|
1348
|
+
}
|
|
1349
|
+
texture.sampler = nonMipmapSampler;
|
|
1350
|
+
}
|
|
1351
|
+
};
|
|
1352
|
+
|
|
1353
|
+
/**
|
|
1354
|
+
* Enqueues a command re-projecting a texture to a {@link GeographicProjection} on the next update, if necessary, and generate
|
|
1355
|
+
* mipmaps for the geographic texture.
|
|
1356
|
+
*
|
|
1357
|
+
* @private
|
|
1358
|
+
*
|
|
1359
|
+
* @param {FrameState} frameState The frameState.
|
|
1360
|
+
* @param {Imagery} imagery The imagery instance to reproject.
|
|
1361
|
+
* @param {boolean} [needGeographicProjection=true] True to reproject to geographic, or false if Web Mercator is fine.
|
|
1362
|
+
*/
|
|
1363
|
+
ImageryLayer.prototype._reprojectTexture = function (
|
|
1364
|
+
frameState,
|
|
1365
|
+
imagery,
|
|
1366
|
+
needGeographicProjection,
|
|
1367
|
+
) {
|
|
1368
|
+
const texture = imagery.textureWebMercator || imagery.texture;
|
|
1369
|
+
const rectangle = imagery.rectangle;
|
|
1370
|
+
const context = frameState.context;
|
|
1371
|
+
|
|
1372
|
+
needGeographicProjection = needGeographicProjection ?? true;
|
|
1373
|
+
|
|
1374
|
+
// Reproject this texture if it is not already in a geographic projection and
|
|
1375
|
+
// the pixels are more than 1e-5 radians apart. The pixel spacing cutoff
|
|
1376
|
+
// avoids precision problems in the reprojection transformation while making
|
|
1377
|
+
// no noticeable difference in the georeferencing of the image.
|
|
1378
|
+
if (
|
|
1379
|
+
needGeographicProjection &&
|
|
1380
|
+
!(
|
|
1381
|
+
this._imageryProvider.tilingScheme.projection instanceof
|
|
1382
|
+
GeographicProjection
|
|
1383
|
+
) &&
|
|
1384
|
+
rectangle.width / texture.width > 1e-5
|
|
1385
|
+
) {
|
|
1386
|
+
const that = this;
|
|
1387
|
+
imagery.addReference();
|
|
1388
|
+
const computeCommand = new ComputeCommand({
|
|
1389
|
+
persists: true,
|
|
1390
|
+
owner: this,
|
|
1391
|
+
// Update render resources right before execution instead of now.
|
|
1392
|
+
// This allows different ImageryLayers to share the same vao and buffers.
|
|
1393
|
+
preExecute: function (command) {
|
|
1394
|
+
reprojectToGeographic(command, context, texture, imagery.rectangle);
|
|
1395
|
+
},
|
|
1396
|
+
postExecute: function (outputTexture) {
|
|
1397
|
+
imagery.texture = outputTexture;
|
|
1398
|
+
that._finalizeReprojectTexture(context, outputTexture);
|
|
1399
|
+
imagery.state = ImageryState.READY;
|
|
1400
|
+
imagery.releaseReference();
|
|
1401
|
+
},
|
|
1402
|
+
canceled: function () {
|
|
1403
|
+
imagery.state = ImageryState.TEXTURE_LOADED;
|
|
1404
|
+
imagery.releaseReference();
|
|
1405
|
+
},
|
|
1406
|
+
});
|
|
1407
|
+
this._reprojectComputeCommands.push(computeCommand);
|
|
1408
|
+
} else {
|
|
1409
|
+
if (needGeographicProjection) {
|
|
1410
|
+
imagery.texture = texture;
|
|
1411
|
+
}
|
|
1412
|
+
this._finalizeReprojectTexture(context, texture);
|
|
1413
|
+
imagery.state = ImageryState.READY;
|
|
1414
|
+
}
|
|
1415
|
+
};
|
|
1416
|
+
|
|
1417
|
+
/**
|
|
1418
|
+
* Updates frame state to execute any queued texture re-projections.
|
|
1419
|
+
*
|
|
1420
|
+
* @private
|
|
1421
|
+
*
|
|
1422
|
+
* @param {FrameState} frameState The frameState.
|
|
1423
|
+
*/
|
|
1424
|
+
ImageryLayer.prototype.queueReprojectionCommands = function (frameState) {
|
|
1425
|
+
const computeCommands = this._reprojectComputeCommands;
|
|
1426
|
+
const length = computeCommands.length;
|
|
1427
|
+
for (let i = 0; i < length; ++i) {
|
|
1428
|
+
frameState.commandList.push(computeCommands[i]);
|
|
1429
|
+
}
|
|
1430
|
+
computeCommands.length = 0;
|
|
1431
|
+
};
|
|
1432
|
+
|
|
1433
|
+
/**
|
|
1434
|
+
* Cancels re-projection commands queued for the next frame.
|
|
1435
|
+
*
|
|
1436
|
+
* @private
|
|
1437
|
+
*/
|
|
1438
|
+
ImageryLayer.prototype.cancelReprojections = function () {
|
|
1439
|
+
this._reprojectComputeCommands.forEach(function (command) {
|
|
1440
|
+
if (defined(command.canceled)) {
|
|
1441
|
+
command.canceled();
|
|
1442
|
+
}
|
|
1443
|
+
});
|
|
1444
|
+
this._reprojectComputeCommands.length = 0;
|
|
1445
|
+
};
|
|
1446
|
+
|
|
1447
|
+
ImageryLayer.prototype.getImageryFromCache = function (
|
|
1448
|
+
x,
|
|
1449
|
+
y,
|
|
1450
|
+
level,
|
|
1451
|
+
imageryRectangle,
|
|
1452
|
+
) {
|
|
1453
|
+
const cacheKey = getImageryCacheKey(x, y, level);
|
|
1454
|
+
let imagery = this._imageryCache[cacheKey];
|
|
1455
|
+
|
|
1456
|
+
if (!defined(imagery)) {
|
|
1457
|
+
imagery = new Imagery(this, x, y, level, imageryRectangle);
|
|
1458
|
+
this._imageryCache[cacheKey] = imagery;
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
imagery.addReference();
|
|
1462
|
+
return imagery;
|
|
1463
|
+
};
|
|
1464
|
+
|
|
1465
|
+
ImageryLayer.prototype.removeImageryFromCache = function (imagery) {
|
|
1466
|
+
const cacheKey = getImageryCacheKey(imagery.x, imagery.y, imagery.level);
|
|
1467
|
+
delete this._imageryCache[cacheKey];
|
|
1468
|
+
};
|
|
1469
|
+
|
|
1470
|
+
function getImageryCacheKey(x, y, level) {
|
|
1471
|
+
return JSON.stringify([x, y, level]);
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1474
|
+
const uniformMap = {
|
|
1475
|
+
u_textureDimensions: function () {
|
|
1476
|
+
return this.textureDimensions;
|
|
1477
|
+
},
|
|
1478
|
+
u_texture: function () {
|
|
1479
|
+
return this.texture;
|
|
1480
|
+
},
|
|
1481
|
+
|
|
1482
|
+
textureDimensions: new Cartesian2(),
|
|
1483
|
+
texture: undefined,
|
|
1484
|
+
};
|
|
1485
|
+
|
|
1486
|
+
const float32ArrayScratch = FeatureDetection.supportsTypedArrays()
|
|
1487
|
+
? new Float32Array(2 * 64)
|
|
1488
|
+
: undefined;
|
|
1489
|
+
|
|
1490
|
+
function reprojectToGeographic(command, context, texture, rectangle) {
|
|
1491
|
+
// This function has gone through a number of iterations, because GPUs are awesome.
|
|
1492
|
+
//
|
|
1493
|
+
// Originally, we had a very simple vertex shader and computed the Web Mercator texture coordinates
|
|
1494
|
+
// per-fragment in the fragment shader. That worked well, except on mobile devices, because
|
|
1495
|
+
// fragment shaders have limited precision on many mobile devices. The result was smearing artifacts
|
|
1496
|
+
// at medium zoom levels because different geographic texture coordinates would be reprojected to Web
|
|
1497
|
+
// Mercator as the same value.
|
|
1498
|
+
//
|
|
1499
|
+
// Our solution was to reproject to Web Mercator in the vertex shader instead of the fragment shader.
|
|
1500
|
+
// This required far more vertex data. With fragment shader reprojection, we only needed a single quad.
|
|
1501
|
+
// But to achieve the same precision with vertex shader reprojection, we needed a vertex for each
|
|
1502
|
+
// output pixel. So we used a grid of 256x256 vertices, because most of our imagery
|
|
1503
|
+
// tiles are 256x256. Fortunately the grid could be created and uploaded to the GPU just once and
|
|
1504
|
+
// re-used for all reprojections, so the performance was virtually unchanged from our original fragment
|
|
1505
|
+
// shader approach. See https://github.com/CesiumGS/cesium/pull/714.
|
|
1506
|
+
//
|
|
1507
|
+
// Over a year later, we noticed (https://github.com/CesiumGS/cesium/issues/2110)
|
|
1508
|
+
// that our reprojection code was creating a rare but severe artifact on some GPUs (Intel HD 4600
|
|
1509
|
+
// for one). The problem was that the GLSL sin function on these GPUs had a discontinuity at fine scales in
|
|
1510
|
+
// a few places.
|
|
1511
|
+
//
|
|
1512
|
+
// We solved this by implementing a more reliable sin function based on the CORDIC algorithm
|
|
1513
|
+
// (https://github.com/CesiumGS/cesium/pull/2111). Even though this was a fair
|
|
1514
|
+
// amount of code to be executing per vertex, the performance seemed to be pretty good on most GPUs.
|
|
1515
|
+
// Unfortunately, on some GPUs, the performance was absolutely terrible
|
|
1516
|
+
// (https://github.com/CesiumGS/cesium/issues/2258).
|
|
1517
|
+
//
|
|
1518
|
+
// So that brings us to our current solution, the one you see here. Effectively, we compute the Web
|
|
1519
|
+
// Mercator texture coordinates on the CPU and store the T coordinate with each vertex (the S coordinate
|
|
1520
|
+
// is the same in Geographic and Web Mercator). To make this faster, we reduced our reprojection mesh
|
|
1521
|
+
// to be only 2 vertices wide and 64 vertices high. We should have reduced the width to 2 sooner,
|
|
1522
|
+
// because the extra vertices weren't buying us anything. The height of 64 means we are technically
|
|
1523
|
+
// doing a slightly less accurate reprojection than we were before, but we can't see the difference
|
|
1524
|
+
// so it's worth the 4x speedup.
|
|
1525
|
+
|
|
1526
|
+
let reproject = context.cache.imageryLayer_reproject;
|
|
1527
|
+
|
|
1528
|
+
if (!defined(reproject)) {
|
|
1529
|
+
reproject = context.cache.imageryLayer_reproject = {
|
|
1530
|
+
vertexArray: undefined,
|
|
1531
|
+
shaderProgram: undefined,
|
|
1532
|
+
sampler: undefined,
|
|
1533
|
+
destroy: function () {
|
|
1534
|
+
if (defined(this.framebuffer)) {
|
|
1535
|
+
this.framebuffer.destroy();
|
|
1536
|
+
}
|
|
1537
|
+
if (defined(this.vertexArray)) {
|
|
1538
|
+
this.vertexArray.destroy();
|
|
1539
|
+
}
|
|
1540
|
+
if (defined(this.shaderProgram)) {
|
|
1541
|
+
this.shaderProgram.destroy();
|
|
1542
|
+
}
|
|
1543
|
+
},
|
|
1544
|
+
};
|
|
1545
|
+
|
|
1546
|
+
const positions = new Float32Array(2 * 64 * 2);
|
|
1547
|
+
let index = 0;
|
|
1548
|
+
for (let j = 0; j < 64; ++j) {
|
|
1549
|
+
const y = j / 63.0;
|
|
1550
|
+
positions[index++] = 0.0;
|
|
1551
|
+
positions[index++] = y;
|
|
1552
|
+
positions[index++] = 1.0;
|
|
1553
|
+
positions[index++] = y;
|
|
1554
|
+
}
|
|
1555
|
+
|
|
1556
|
+
const reprojectAttributeIndices = {
|
|
1557
|
+
position: 0,
|
|
1558
|
+
webMercatorT: 1,
|
|
1559
|
+
};
|
|
1560
|
+
|
|
1561
|
+
const indices = TerrainProvider.getRegularGridIndices(2, 64);
|
|
1562
|
+
const indexBuffer = Buffer.createIndexBuffer({
|
|
1563
|
+
context: context,
|
|
1564
|
+
typedArray: indices,
|
|
1565
|
+
usage: BufferUsage.STATIC_DRAW,
|
|
1566
|
+
indexDatatype: IndexDatatype.UNSIGNED_SHORT,
|
|
1567
|
+
});
|
|
1568
|
+
|
|
1569
|
+
reproject.vertexArray = new VertexArray({
|
|
1570
|
+
context: context,
|
|
1571
|
+
attributes: [
|
|
1572
|
+
{
|
|
1573
|
+
index: reprojectAttributeIndices.position,
|
|
1574
|
+
vertexBuffer: Buffer.createVertexBuffer({
|
|
1575
|
+
context: context,
|
|
1576
|
+
typedArray: positions,
|
|
1577
|
+
usage: BufferUsage.STATIC_DRAW,
|
|
1578
|
+
}),
|
|
1579
|
+
componentsPerAttribute: 2,
|
|
1580
|
+
},
|
|
1581
|
+
{
|
|
1582
|
+
index: reprojectAttributeIndices.webMercatorT,
|
|
1583
|
+
vertexBuffer: Buffer.createVertexBuffer({
|
|
1584
|
+
context: context,
|
|
1585
|
+
sizeInBytes: 64 * 2 * 4,
|
|
1586
|
+
usage: BufferUsage.STREAM_DRAW,
|
|
1587
|
+
}),
|
|
1588
|
+
componentsPerAttribute: 1,
|
|
1589
|
+
},
|
|
1590
|
+
],
|
|
1591
|
+
indexBuffer: indexBuffer,
|
|
1592
|
+
});
|
|
1593
|
+
|
|
1594
|
+
const vs = new ShaderSource({
|
|
1595
|
+
sources: [ReprojectWebMercatorVS],
|
|
1596
|
+
});
|
|
1597
|
+
|
|
1598
|
+
reproject.shaderProgram = ShaderProgram.fromCache({
|
|
1599
|
+
context: context,
|
|
1600
|
+
vertexShaderSource: vs,
|
|
1601
|
+
fragmentShaderSource: ReprojectWebMercatorFS,
|
|
1602
|
+
attributeLocations: reprojectAttributeIndices,
|
|
1603
|
+
});
|
|
1604
|
+
|
|
1605
|
+
reproject.sampler = new Sampler({
|
|
1606
|
+
wrapS: TextureWrap.CLAMP_TO_EDGE,
|
|
1607
|
+
wrapT: TextureWrap.CLAMP_TO_EDGE,
|
|
1608
|
+
minificationFilter: TextureMinificationFilter.LINEAR,
|
|
1609
|
+
magnificationFilter: TextureMagnificationFilter.LINEAR,
|
|
1610
|
+
});
|
|
1611
|
+
}
|
|
1612
|
+
|
|
1613
|
+
texture.sampler = reproject.sampler;
|
|
1614
|
+
|
|
1615
|
+
const width = texture.width;
|
|
1616
|
+
const height = texture.height;
|
|
1617
|
+
|
|
1618
|
+
uniformMap.textureDimensions.x = width;
|
|
1619
|
+
uniformMap.textureDimensions.y = height;
|
|
1620
|
+
uniformMap.texture = texture;
|
|
1621
|
+
|
|
1622
|
+
let sinLatitude = Math.sin(rectangle.south);
|
|
1623
|
+
const southMercatorY = 0.5 * Math.log((1 + sinLatitude) / (1 - sinLatitude));
|
|
1624
|
+
|
|
1625
|
+
sinLatitude = Math.sin(rectangle.north);
|
|
1626
|
+
const northMercatorY = 0.5 * Math.log((1 + sinLatitude) / (1 - sinLatitude));
|
|
1627
|
+
const oneOverMercatorHeight = 1.0 / (northMercatorY - southMercatorY);
|
|
1628
|
+
|
|
1629
|
+
const outputTexture = new Texture({
|
|
1630
|
+
context: context,
|
|
1631
|
+
width: width,
|
|
1632
|
+
height: height,
|
|
1633
|
+
pixelFormat: texture.pixelFormat,
|
|
1634
|
+
pixelDatatype: texture.pixelDatatype,
|
|
1635
|
+
preMultiplyAlpha: texture.preMultiplyAlpha,
|
|
1636
|
+
});
|
|
1637
|
+
|
|
1638
|
+
// Allocate memory for the mipmaps. Failure to do this before rendering
|
|
1639
|
+
// to the texture via the FBO, and calling generateMipmap later,
|
|
1640
|
+
// will result in the texture appearing blank. I can't pretend to
|
|
1641
|
+
// understand exactly why this is.
|
|
1642
|
+
if (CesiumMath.isPowerOfTwo(width) && CesiumMath.isPowerOfTwo(height)) {
|
|
1643
|
+
outputTexture.generateMipmap(MipmapHint.NICEST);
|
|
1644
|
+
}
|
|
1645
|
+
|
|
1646
|
+
const south = rectangle.south;
|
|
1647
|
+
const north = rectangle.north;
|
|
1648
|
+
|
|
1649
|
+
const webMercatorT = float32ArrayScratch;
|
|
1650
|
+
|
|
1651
|
+
let outputIndex = 0;
|
|
1652
|
+
for (let webMercatorTIndex = 0; webMercatorTIndex < 64; ++webMercatorTIndex) {
|
|
1653
|
+
const fraction = webMercatorTIndex / 63.0;
|
|
1654
|
+
const latitude = CesiumMath.lerp(south, north, fraction);
|
|
1655
|
+
sinLatitude = Math.sin(latitude);
|
|
1656
|
+
const mercatorY = 0.5 * Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude));
|
|
1657
|
+
const mercatorFraction =
|
|
1658
|
+
(mercatorY - southMercatorY) * oneOverMercatorHeight;
|
|
1659
|
+
webMercatorT[outputIndex++] = mercatorFraction;
|
|
1660
|
+
webMercatorT[outputIndex++] = mercatorFraction;
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
reproject.vertexArray
|
|
1664
|
+
.getAttribute(1)
|
|
1665
|
+
.vertexBuffer.copyFromArrayView(webMercatorT);
|
|
1666
|
+
|
|
1667
|
+
command.shaderProgram = reproject.shaderProgram;
|
|
1668
|
+
command.outputTexture = outputTexture;
|
|
1669
|
+
command.uniformMap = uniformMap;
|
|
1670
|
+
command.vertexArray = reproject.vertexArray;
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
/**
|
|
1674
|
+
* Gets the level with the specified world coordinate spacing between texels, or less.
|
|
1675
|
+
*
|
|
1676
|
+
* @param {ImageryLayer} layer The imagery layer to use.
|
|
1677
|
+
* @param {number} texelSpacing The texel spacing for which to find a corresponding level.
|
|
1678
|
+
* @param {number} latitudeClosestToEquator The latitude closest to the equator that we're concerned with.
|
|
1679
|
+
* @returns {number} The level with the specified texel spacing or less.
|
|
1680
|
+
* @private
|
|
1681
|
+
*/
|
|
1682
|
+
function getLevelWithMaximumTexelSpacing(
|
|
1683
|
+
layer,
|
|
1684
|
+
texelSpacing,
|
|
1685
|
+
latitudeClosestToEquator,
|
|
1686
|
+
) {
|
|
1687
|
+
// PERFORMANCE_IDEA: factor out the stuff that doesn't change.
|
|
1688
|
+
const imageryProvider = layer._imageryProvider;
|
|
1689
|
+
const tilingScheme = imageryProvider.tilingScheme;
|
|
1690
|
+
const ellipsoid = tilingScheme.ellipsoid;
|
|
1691
|
+
const latitudeFactor = !(
|
|
1692
|
+
layer._imageryProvider.tilingScheme.projection instanceof
|
|
1693
|
+
GeographicProjection
|
|
1694
|
+
)
|
|
1695
|
+
? Math.cos(latitudeClosestToEquator)
|
|
1696
|
+
: 1.0;
|
|
1697
|
+
const tilingSchemeRectangle = tilingScheme.rectangle;
|
|
1698
|
+
const levelZeroMaximumTexelSpacing =
|
|
1699
|
+
(ellipsoid.maximumRadius * tilingSchemeRectangle.width * latitudeFactor) /
|
|
1700
|
+
(imageryProvider.tileWidth * tilingScheme.getNumberOfXTilesAtLevel(0));
|
|
1701
|
+
|
|
1702
|
+
const twoToTheLevelPower = levelZeroMaximumTexelSpacing / texelSpacing;
|
|
1703
|
+
const level = Math.log(twoToTheLevelPower) / Math.log(2);
|
|
1704
|
+
const rounded = Math.round(level);
|
|
1705
|
+
return rounded | 0;
|
|
1706
|
+
}
|
|
1707
|
+
|
|
1708
|
+
function handleError(errorEvent, error) {
|
|
1709
|
+
if (errorEvent.numberOfListeners > 0) {
|
|
1710
|
+
errorEvent.raiseEvent(error);
|
|
1711
|
+
} else {
|
|
1712
|
+
// Default handler is to log to the console
|
|
1713
|
+
console.error(error);
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
async function handlePromise(instance, promise) {
|
|
1718
|
+
let provider;
|
|
1719
|
+
try {
|
|
1720
|
+
provider = await Promise.resolve(promise);
|
|
1721
|
+
if (instance.isDestroyed()) {
|
|
1722
|
+
return;
|
|
1723
|
+
}
|
|
1724
|
+
instance._imageryProvider = provider;
|
|
1725
|
+
instance._readyEvent.raiseEvent(provider);
|
|
1726
|
+
} catch (error) {
|
|
1727
|
+
handleError(instance._errorEvent, error);
|
|
1728
|
+
}
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
export default ImageryLayer;
|
|
1732
|
+
|
|
1733
|
+
/**
|
|
1734
|
+
* A function that is called when an error occurs.
|
|
1735
|
+
* @callback ImageryLayer.ErrorEventCallback
|
|
1736
|
+
*
|
|
1737
|
+
* @this ImageryLayer
|
|
1738
|
+
* @param {Error} err An object holding details about the error that occurred.
|
|
1739
|
+
*/
|
|
1740
|
+
|
|
1741
|
+
/**
|
|
1742
|
+
* A function that is called when the provider has been created
|
|
1743
|
+
* @callback ImageryLayer.ReadyEventCallback
|
|
1744
|
+
*
|
|
1745
|
+
* @this ImageryLayer
|
|
1746
|
+
* @param {ImageryProvider} provider The created imagery provider.
|
|
1747
|
+
*/
|