@hztxi/cesium-engine 25.0.6 → 26.2.1
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/Workers/chunk-2GJAWJJT.js +1344 -0
- package/Build/Workers/chunk-2J2VS5RI.js +288 -0
- package/Build/Workers/chunk-2NCNUVAT.js +56 -0
- package/Build/Workers/chunk-2ZYRUVVU.js +301 -0
- package/Build/Workers/chunk-36IU7N4V.js +1284 -0
- package/Build/Workers/chunk-375SHKGW.js +44 -0
- package/Build/Workers/chunk-3BDLET5S.js +198 -0
- package/Build/Workers/chunk-3PRHI4KX.js +241 -0
- package/Build/Workers/chunk-3R6E2SH4.js +672 -0
- package/Build/Workers/chunk-3ZKKXEXL.js +415 -0
- package/Build/Workers/chunk-47KVKPTO.js +415 -0
- package/Build/Workers/chunk-4N227IPR.js +973 -0
- package/Build/Workers/chunk-4P6OAPBM.js +97 -0
- package/Build/Workers/chunk-4ZOLEPZK.js +519 -0
- package/Build/Workers/chunk-5EF3WWQG.js +352 -0
- package/Build/Workers/chunk-5FYUSABU.js +945 -0
- package/Build/Workers/chunk-5I76476T.js +288 -0
- package/Build/Workers/chunk-5PBZKBAP.js +511 -0
- package/Build/Workers/chunk-5RVAAW26.js +82 -0
- package/Build/Workers/chunk-5VWK76PO.js +511 -0
- package/Build/Workers/chunk-5WU37CUJ.js +630 -0
- package/Build/Workers/chunk-6EBDN5WS.js +97 -0
- package/Build/Workers/chunk-75HIWCEV.js +301 -0
- package/Build/Workers/chunk-77DBX23X.js +455 -0
- package/Build/Workers/chunk-7AMVPXZY.js +1992 -0
- package/Build/Workers/chunk-7BMDD6SM.js +124 -0
- package/Build/Workers/chunk-7GQOWCSN.js +959 -0
- package/Build/Workers/chunk-7J2ONMKC.js +198 -0
- package/Build/Workers/chunk-7MHUHXZZ.js +219 -0
- package/Build/Workers/chunk-7MQPHOAS.js +455 -0
- package/Build/Workers/chunk-7NJ5O7TP.js +387 -0
- package/Build/Workers/chunk-7OME2OKM.js +171 -0
- package/Build/Workers/chunk-7Y642MCO.js +352 -0
- package/Build/Workers/chunk-7ZFKBLUE.js +1054 -0
- package/Build/Workers/chunk-A2BROW3D.js +352 -0
- package/Build/Workers/chunk-A7LGY5XS.js +140 -0
- package/Build/Workers/chunk-AN2NVYL6.js +1483 -0
- package/Build/Workers/chunk-B4XOVZGA.js +476 -0
- package/Build/Workers/chunk-B7PT2VL5.js +630 -0
- package/Build/Workers/chunk-C6XQGBPV.js +476 -0
- package/Build/Workers/chunk-CAEC5DA2.js +57 -0
- package/Build/Workers/chunk-CBCOHH5O.js +837 -0
- package/Build/Workers/chunk-CDLPLYLV.js +1287 -0
- package/Build/Workers/chunk-CEKCKPFN.js +368 -0
- package/Build/Workers/chunk-CEMXKBQO.js +1800 -0
- package/Build/Workers/chunk-CHMDKP5L.js +2342 -0
- package/Build/Workers/chunk-CKW3STKA.js +1067 -0
- package/Build/Workers/chunk-CV5RICKT.js +1992 -0
- package/Build/Workers/chunk-CWGB3D4Z.js +257 -0
- package/Build/Workers/chunk-DBWSISJT.js +56 -0
- package/Build/Workers/chunk-DQEUGBGA.js +2719 -0
- package/Build/Workers/chunk-DSBSPPPJ.js +1344 -0
- package/Build/Workers/chunk-DSGLDRTI.js +278 -0
- package/Build/Workers/chunk-DUBE5G2H.js +497 -0
- package/Build/Workers/chunk-DXD7OPSP.js +1992 -0
- package/Build/Workers/chunk-DXECZBSA.js +368 -0
- package/Build/Workers/chunk-DZIRO6ZK.js +682 -0
- package/Build/Workers/chunk-E4CRPGX5.js +140 -0
- package/Build/Workers/chunk-E4IVMEBH.js +52 -0
- package/Build/Workers/chunk-E4PBNWWK.js +58 -0
- package/Build/Workers/chunk-E5MWOMVC.js +57 -0
- package/Build/Workers/chunk-ECN3VUMA.js +73 -0
- package/Build/Workers/chunk-ECSKVHUB.js +476 -0
- package/Build/Workers/chunk-EE3XBOQI.js +1483 -0
- package/Build/Workers/chunk-EHA2ZDPZ.js +415 -0
- package/Build/Workers/chunk-EKEKPAJF.js +454 -0
- package/Build/Workers/chunk-EL4B5CSQ.js +162 -0
- package/Build/Workers/chunk-EOHKUXPX.js +198 -0
- package/Build/Workers/chunk-ERENMHG2.js +754 -0
- package/Build/Workers/chunk-ESQGFRLZ.js +163 -0
- package/Build/Workers/chunk-FAYBQGKO.js +219 -0
- package/Build/Workers/chunk-FGCXPEZM.js +3201 -0
- package/Build/Workers/chunk-FHCRXPA6.js +44 -0
- package/Build/Workers/chunk-FQ42MT7M.js +58 -0
- package/Build/Workers/chunk-FQDYQG4P.js +1284 -0
- package/Build/Workers/chunk-FTCBY5HH.js +138 -0
- package/Build/Workers/chunk-FV4OWDV4.js +9230 -0
- package/Build/Workers/chunk-FYRNNQSL.js +280 -0
- package/Build/Workers/chunk-GI5RWJAY.js +101 -0
- package/Build/Workers/chunk-GNLMSDRO.js +945 -0
- package/Build/Workers/chunk-GVUJ6O3R.js +73 -0
- package/Build/Workers/chunk-HCGU7OCG.js +97 -0
- package/Build/Workers/chunk-HRIPVWSC.js +58 -0
- package/Build/Workers/chunk-IC3BR6SC.js +102 -0
- package/Build/Workers/chunk-IU3YAYPT.js +1344 -0
- package/Build/Workers/chunk-J7MZR7B2.js +1483 -0
- package/Build/Workers/chunk-JMF4ATAS.js +3794 -0
- package/Build/Workers/chunk-KEJKMITY.js +82 -0
- package/Build/Workers/chunk-KSIEJYNL.js +3822 -0
- package/Build/Workers/chunk-KT3GG7AW.js +754 -0
- package/Build/Workers/chunk-KW2QZDUS.js +147 -0
- package/Build/Workers/chunk-KYCEM22I.js +1800 -0
- package/Build/Workers/chunk-L6B5XPBL.js +73 -0
- package/Build/Workers/chunk-LGJXN2VP.js +352 -0
- package/Build/Workers/chunk-LJTQW46H.js +57 -0
- package/Build/Workers/chunk-LMQGYJME.js +672 -0
- package/Build/Workers/chunk-LOBYJQA4.js +76 -0
- package/Build/Workers/chunk-LOF32O7F.js +163 -0
- package/Build/Workers/chunk-LOTIJA7D.js +124 -0
- package/Build/Workers/chunk-LY2UG3HV.js +38 -0
- package/Build/Workers/chunk-M7Z3MPAX.js +973 -0
- package/Build/Workers/chunk-MHNLTQHO.js +3201 -0
- package/Build/Workers/chunk-ML7OMD72.js +2342 -0
- package/Build/Workers/chunk-NBTGXEMT.js +945 -0
- package/Build/Workers/chunk-NCPJBP24.js +140 -0
- package/Build/Workers/chunk-NFY5V6MR.js +102 -0
- package/Build/Workers/chunk-NQZC37F7.js +38 -0
- package/Build/Workers/chunk-O3X3D2Z3.js +352 -0
- package/Build/Workers/chunk-OBUIHPKF.js +352 -0
- package/Build/Workers/chunk-OYPSUED3.js +1067 -0
- package/Build/Workers/chunk-PAEWNYIV.js +138 -0
- package/Build/Workers/chunk-PANJ7YH6.js +102 -0
- package/Build/Workers/chunk-PCL3Y7H5.js +82 -0
- package/Build/Workers/chunk-PIIUGRQD.js +387 -0
- package/Build/Workers/chunk-POKD22OT.js +2719 -0
- package/Build/Workers/chunk-PQMA7MFS.js +9237 -0
- package/Build/Workers/chunk-PURIPUSY.js +682 -0
- package/Build/Workers/chunk-QIOOTLWN.js +56 -0
- package/Build/Workers/chunk-QQZPPXY4.js +3822 -0
- package/Build/Workers/chunk-QUPRALOD.js +101 -0
- package/Build/Workers/chunk-QXLQLGL2.js +1067 -0
- package/Build/Workers/chunk-RBEVHHXK.js +3201 -0
- package/Build/Workers/chunk-RC4YC3VU.js +278 -0
- package/Build/Workers/chunk-RGNNWVR6.js +171 -0
- package/Build/Workers/chunk-RHO5HV52.js +305 -0
- package/Build/Workers/chunk-SBBIEHYT.js +44 -0
- package/Build/Workers/chunk-SVCZUP5R.js +837 -0
- package/Build/Workers/chunk-SWVZTU6X.js +305 -0
- package/Build/Workers/chunk-T3EUPM5A.js +454 -0
- package/Build/Workers/chunk-TA6IU2XL.js +171 -0
- package/Build/Workers/chunk-TBHW5UME.js +973 -0
- package/Build/Workers/chunk-TLSGD5TR.js +280 -0
- package/Build/Workers/chunk-TOXDLWKZ.js +368 -0
- package/Build/Workers/chunk-TPOX6IOR.js +1054 -0
- package/Build/Workers/chunk-TZBM6TAB.js +124 -0
- package/Build/Workers/chunk-U2OY6MX6.js +398 -0
- package/Build/Workers/chunk-UCY4B5EV.js +288 -0
- package/Build/Workers/chunk-ULNBTI6R.js +138 -0
- package/Build/Workers/chunk-UMUS2AQQ.js +398 -0
- package/Build/Workers/chunk-UZ7GTP2L.js +162 -0
- package/Build/Workers/chunk-V52FEPCV.js +754 -0
- package/Build/Workers/chunk-VBEXZBG5.js +147 -0
- package/Build/Workers/chunk-VC76B6GM.js +959 -0
- package/Build/Workers/chunk-VCUOYHWC.js +519 -0
- package/Build/Workers/chunk-VJIL5H6K.js +2719 -0
- package/Build/Workers/chunk-VMF7KOGY.js +162 -0
- package/Build/Workers/chunk-W3C7OHXF.js +387 -0
- package/Build/Workers/chunk-W5OCKMPJ.js +101 -0
- package/Build/Workers/chunk-WB5GWYDP.js +455 -0
- package/Build/Workers/chunk-WN6MAL25.js +682 -0
- package/Build/Workers/chunk-WTR7KMQA.js +693 -0
- package/Build/Workers/chunk-WTTFMU3P.js +241 -0
- package/Build/Workers/chunk-WULONJZC.js +1800 -0
- package/Build/Workers/chunk-WZPMAVTV.js +511 -0
- package/Build/Workers/chunk-XHT5SVP4.js +52 -0
- package/Build/Workers/chunk-XITBARMZ.js +2342 -0
- package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
- package/Build/Workers/chunk-XZ6HDXKM.js +76 -0
- package/Build/Workers/chunk-Y7KVUJEB.js +219 -0
- package/Build/Workers/chunk-Y7NDFEQ3.js +398 -0
- package/Build/Workers/chunk-YBBQDYX2.js +301 -0
- package/Build/Workers/chunk-YHPYPVAB.js +837 -0
- package/Build/Workers/chunk-YNKK6BXY.js +454 -0
- package/Build/Workers/chunk-YRAJ74HR.js +305 -0
- package/Build/Workers/chunk-YULTZK5O.js +147 -0
- package/Build/Workers/chunk-YUNQYP3Z.js +9237 -0
- package/Build/Workers/chunk-Z6JV4DZG.js +1046 -0
- package/Build/Workers/chunk-Z7BONRW2.js +241 -0
- package/Build/Workers/chunk-ZK2R3DEJ.js +1054 -0
- package/Build/Workers/chunk-ZTK5EBUI.js +76 -0
- package/Build/Workers/chunk-ZZPDORJK.js +56 -0
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +18 -18
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +39 -39
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +33 -33
- package/Build/Workers/createCorridorGeometry.js +36 -37
- package/Build/Workers/createCorridorOutlineGeometry.js +34 -35
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +20 -20
- package/Build/Workers/createEllipseGeometry.js +26 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
- package/Build/Workers/createEllipsoidGeometry.js +19 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
- package/Build/Workers/createFrustumGeometry.js +18 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +20 -20
- package/Build/Workers/createGeometry.js +25 -24
- package/Build/Workers/createGroundPolylineGeometry.js +98 -34
- package/Build/Workers/createMvtTile.js +111 -19
- package/Build/Workers/createPlaneGeometry.js +18 -18
- package/Build/Workers/createPlaneOutlineGeometry.js +17 -17
- package/Build/Workers/createPolygonGeometry.js +36 -36
- package/Build/Workers/createPolygonOutlineGeometry.js +33 -33
- package/Build/Workers/createPolylineGeometry.js +28 -28
- package/Build/Workers/createPolylineVolumeGeometry.js +38 -36
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -31
- package/Build/Workers/createRectangleGeometry.js +29 -29
- package/Build/Workers/createRectangleOutlineGeometry.js +23 -23
- package/Build/Workers/createSimplePolylineGeometry.js +26 -26
- package/Build/Workers/createSphereGeometry.js +19 -19
- package/Build/Workers/createSphereOutlineGeometry.js +18 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
- package/Build/Workers/createVectorTileGeometries.js +24 -24
- package/Build/Workers/createVectorTilePoints.js +13 -13
- package/Build/Workers/createVectorTilePolygons.js +22 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -14
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +26 -26
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +23 -23
- package/Build/Workers/createVerticesFromHeightmap.js +23 -23
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +21 -21
- package/Build/Workers/createWallGeometry.js +26 -26
- package/Build/Workers/createWallOutlineGeometry.js +26 -26
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +993 -2334
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/gaussianSplatSorter.js +4 -4
- package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
- package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
- package/Build/Workers/transcodeKTX2.js +6 -6
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +23 -23
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +26 -26
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
- package/Source/Core/BoundingRectangle.js +6 -8
- package/Source/Core/BoundingSphere.js +0 -3
- package/Source/Core/Cartesian2.js +1 -1
- package/Source/Core/Cartesian3.js +1 -1
- package/Source/Core/Cartesian4.js +1 -1
- package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
- package/Source/Core/Color.js +1 -0
- package/Source/Core/ComponentDatatype.js +35 -0
- package/Source/Core/CoplanarPolygonGeometry.js +2 -2
- package/Source/Core/CorridorGeometry.js +2 -4
- package/Source/Core/CorridorOutlineGeometry.js +1 -3
- package/Source/Core/EarthOrientationParameters.js +2 -2
- package/Source/Core/EllipseGeometryLibrary.js +2 -2
- package/Source/Core/EllipsoidGeodesic.js +3 -3
- package/Source/Core/EllipsoidRhumbLine.js +1 -1
- package/Source/Core/GroundPolylineGeometry.js +99 -4
- package/Source/Core/Heap.js +1 -1
- package/Source/Core/HermitePolynomialApproximation.js +215 -179
- package/Source/Core/InterpolationAlgorithm.js +58 -50
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/JulianDate.js +1 -1
- package/Source/Core/LagrangePolynomialApproximation.js +55 -52
- package/Source/Core/LinearApproximation.js +69 -66
- package/Source/Core/MapProjection.js +1 -0
- package/Source/Core/Math.js +59 -0
- package/Source/Core/Matrix2.js +3 -3
- package/Source/Core/Matrix3.js +3 -3
- package/Source/Core/Matrix4.js +1 -1
- package/Source/Core/OrthographicFrustum.js +1 -1
- package/Source/Core/PerspectiveFrustum.js +1 -1
- package/Source/Core/PolygonGeometry.js +2 -2
- package/Source/Core/PolygonGeometryLibrary.js +1 -1
- package/Source/Core/PolygonOutlineGeometry.js +1 -1
- package/Source/Core/PolylineGeometry.js +1 -1
- package/Source/Core/PolylinePipeline.js +9 -2
- package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
- package/Source/Core/Rectangle.js +7 -1
- package/Source/Core/RectangleOutlineGeometry.js +1 -1
- package/Source/Core/Resource.js +1 -1
- package/Source/Core/ScreenSpaceEventHandler.js +51 -41
- package/Source/Core/SimplePolylineGeometry.js +1 -1
- package/Source/Core/TerrainEncoding.js +2 -2
- package/Source/Core/TerrainMesh.js +3 -3
- package/Source/Core/TerrainPicker.js +180 -168
- package/Source/Core/TimeIntervalCollection.js +1 -3
- package/Source/Core/Tipsify.js +1 -1
- package/Source/Core/Transforms.js +5 -1
- package/Source/Core/VectorPipeline.js +1117 -0
- package/Source/Core/VectorProvider.js +429 -0
- package/Source/Core/WallOutlineGeometry.js +1 -1
- package/Source/Core/createColorRamp.js +37 -0
- package/Source/Core/getTimestamp.js +4 -2
- package/Source/Core/globalTypes.js +25 -0
- package/Source/Core/writeTextToCanvas.js +1 -0
- package/Source/DataSources/CompositeEntityCollection.js +0 -1
- package/Source/DataSources/CzmlDataSource.js +14 -0
- package/Source/DataSources/DataSourceDisplay.js +1 -1
- package/Source/DataSources/GeoJsonDataSource.js +0 -1
- package/Source/DataSources/GeometryVisualizer.js +1 -1
- package/Source/DataSources/KmlDataSource.js +529 -557
- package/Source/DataSources/PathGraphics.js +8 -1
- package/Source/DataSources/PathMode.js +27 -0
- package/Source/DataSources/PathVisualizer.js +298 -1
- package/Source/DataSources/PolylineGeometryUpdater.js +125 -7
- package/Source/DataSources/PolylineVisualizer.js +1 -1
- package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
- package/Source/Renderer/AutomaticUniforms.js +23 -0
- package/Source/Renderer/Context.js +9 -3
- package/Source/Renderer/DrawCommand.js +22 -0
- package/Source/Renderer/Framebuffer.js +4 -0
- package/Source/Renderer/Pass.js +11 -9
- package/Source/Renderer/Texture.js +12 -1
- package/Source/Renderer/UniformState.js +7 -0
- package/Source/Renderer/VertexArray.js +1 -1
- package/Source/Renderer/createUniform.js +346 -239
- package/Source/Renderer/createUniformArray.js +494 -381
- package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/Billboard.js +2 -1
- package/Source/Scene/BillboardCollection.js +15 -5
- package/Source/Scene/BillboardTexture.js +5 -3
- package/Source/Scene/BufferPointCollection.js +11 -1
- package/Source/Scene/BufferPolygonCollection.js +26 -0
- package/Source/Scene/BufferPolylineCollection.js +2 -0
- package/Source/Scene/BufferPrimitiveCollection.js +105 -32
- package/Source/Scene/Camera.js +137 -8
- package/Source/Scene/CameraEventAggregator.js +30 -18
- package/Source/Scene/CameraFlightPath.js +17 -0
- package/Source/Scene/Cesium3DTile.js +102 -4
- package/Source/Scene/Cesium3DTileContent.js +195 -254
- package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
- package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
- package/Source/Scene/Cesium3DTileStyle.js +40 -0
- package/Source/Scene/Cesium3DTileset.js +213 -8
- package/Source/Scene/Cesium3DTilesetTraversal.js +14 -0
- package/Source/Scene/ClippingPlaneCollection.js +4 -4
- package/Source/Scene/ClippingPolygon.js +2 -0
- package/Source/Scene/ClippingPolygonCollection.js +2 -2
- package/Source/Scene/ColumbusWorlds.js +190 -0
- package/Source/Scene/Composite3DTileContent.js +254 -292
- package/Source/Scene/Controllers/Controller.js +63 -0
- package/Source/Scene/Controllers/ControllerHost.js +78 -0
- package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
- package/Source/Scene/Controllers/MouseButton.js +32 -0
- package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
- package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
- package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
- package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
- package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
- package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
- package/Source/Scene/DerivedCommand.js +98 -0
- package/Source/Scene/EdgeDisplayMode.js +50 -0
- package/Source/Scene/EdgeFramebuffer.js +1 -5
- package/Source/Scene/Empty3DTileContent.js +100 -132
- package/Source/Scene/Expression.js +6 -8
- package/Source/Scene/FrameState.js +27 -0
- package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
- package/Source/Scene/GeoJsonPrimitive.js +874 -0
- package/Source/Scene/Geometry3DTileContent.js +151 -185
- package/Source/Scene/Globe.js +110 -22
- package/Source/Scene/GlobeDepth.js +243 -6
- package/Source/Scene/GlobeSurfaceShaderSet.js +637 -540
- package/Source/Scene/GlobeSurfaceTile.js +575 -398
- package/Source/Scene/GlobeSurfaceTileProvider.js +2289 -1842
- package/Source/Scene/GltfBufferViewLoader.js +3 -3
- package/Source/Scene/GltfLoader.js +146 -3
- package/Source/Scene/GltfLoaderUtil.js +20 -4
- package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
- package/Source/Scene/GltfSpzLoader.js +1 -1
- package/Source/Scene/GltfVertexBufferLoader.js +6 -3
- package/Source/Scene/GroundPolylinePrimitive.js +2 -1
- package/Source/Scene/I3SDataProvider.js +1 -1
- package/Source/Scene/I3SLayer.js +1 -1
- package/Source/Scene/I3SNode.js +2 -2
- package/Source/Scene/ImageryLayer.js +2 -2
- package/Source/Scene/ImageryLayerCollection.js +190 -6
- package/Source/Scene/Implicit3DTileContent.js +192 -216
- package/Source/Scene/ImplicitTileCoordinates.js +17 -0
- package/Source/Scene/IonImageryProvider.js +1 -5
- package/Source/Scene/Label.js +4 -4
- package/Source/Scene/LabelCollection.js +4 -1
- package/Source/Scene/MVTDataProvider.js +555 -0
- package/Source/Scene/Material.js +1 -0
- package/Source/Scene/Model/B3dmLoader.js +1 -2
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +82 -312
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
- package/Source/Scene/Model/I3dmLoader.js +1 -1
- package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
- package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
- package/Source/Scene/Model/Model.js +45 -10
- package/Source/Scene/Model/Model3DTileContent.js +424 -458
- package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
- package/Source/Scene/Model/ModelDrawCommand.js +180 -8
- package/Source/Scene/Model/ModelDrawCommands.js +4 -0
- package/Source/Scene/Model/ModelSceneGraph.js +21 -0
- package/Source/Scene/Model/ModelUtility.js +5 -0
- package/Source/Scene/Model/PickingPipelineStage.js +29 -0
- package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
- package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +645 -153
- package/Source/Scene/ModelComponents.js +112 -0
- package/Source/Scene/Multiple3DTileContent.js +291 -334
- package/Source/Scene/MvtLabelCandidates.js +295 -0
- package/Source/Scene/MvtLabelManager.js +1069 -0
- package/Source/Scene/Picking.js +19 -3
- package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
- package/Source/Scene/PntsParser.js +1 -1
- package/Source/Scene/Polyline.js +32 -5
- package/Source/Scene/PolylineCollection.js +39 -0
- package/Source/Scene/PostProcessStage.js +4 -2
- package/Source/Scene/Primitive.js +12 -13
- package/Source/Scene/PrimitivePipeline.js +158 -28
- package/Source/Scene/QuadtreePrimitive.js +3 -2
- package/Source/Scene/ResourceCache.js +7 -4
- package/Source/Scene/ResourceCacheKey.js +21 -18
- package/Source/Scene/Scene.js +655 -6
- package/Source/Scene/SceneTransforms.js +18 -0
- package/Source/Scene/ScreenSpaceCameraController.js +12 -3
- package/Source/Scene/ShadowMap.js +9 -3
- package/Source/Scene/ShadowMapShader.js +50 -2
- package/Source/Scene/SnapFramebuffer.js +121 -0
- package/Source/Scene/Snapping.js +184 -0
- package/Source/Scene/TerrainFillMesh.js +3 -2
- package/Source/Scene/Tileset3DTileContent.js +113 -146
- package/Source/Scene/UrlTemplate3DTilesDataProvider.js +543 -0
- package/Source/Scene/Vector3DTileContent.js +207 -237
- package/Source/Scene/VectorGltf3DTileContent.js +185 -45
- package/Source/Scene/View.js +10 -8
- package/Source/Scene/VoxelPrimitive.js +159 -175
- package/Source/Scene/VoxelProvider.js +64 -91
- package/Source/Scene/VoxelTraversal.js +1 -1
- package/Source/Scene/buildVectorGltfFromMVT.js +1208 -0
- package/Source/Scene/buildVoxelCustomShader.js +199 -0
- package/Source/Scene/createElevationBandMaterial.js +1 -1
- package/Source/Scene/decodeMVT.js +877 -0
- package/Source/Scene/findMeshoptExtension.js +23 -0
- package/Source/Scene/renderBufferPointCollection.js +114 -64
- package/Source/Scene/renderBufferPolygonCollection.js +245 -53
- package/Source/Scene/renderBufferPolylineCollection.js +271 -145
- package/Source/Shaders/BillboardCollectionVS.glsl +23 -25
- package/Source/Shaders/BillboardCollectionVS.js +23 -25
- package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
- package/Source/Shaders/BufferPointMaterialFS.js +1 -0
- package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
- package/Source/Shaders/BufferPointMaterialVS.js +20 -10
- package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolygonMaterialFS.js +13 -0
- package/Source/Shaders/BufferPolygonMaterialVS.glsl +22 -4
- package/Source/Shaders/BufferPolygonMaterialVS.js +23 -5
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
- package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
- package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
- package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
- package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
- package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
- package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
- package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
- package/Source/Shaders/GlobeFS.glsl +10 -6
- package/Source/Shaders/GlobeFS.js +10 -6
- package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
- package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
- package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
- package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
- package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
- package/Source/Shaders/Model/MaterialStageFS.js +8 -2
- package/Source/Shaders/Model/ModelFS.glsl +105 -0
- package/Source/Shaders/Model/ModelFS.js +105 -0
- package/Source/Shaders/PolylineShadowVolumeFS.glsl +14 -0
- package/Source/Shaders/PolylineShadowVolumeFS.js +14 -0
- package/Source/Shaders/RestoreDepth.glsl +8 -0
- package/Source/Shaders/RestoreDepth.js +10 -0
- package/Source/Shaders/VectorCommon.glsl +178 -0
- package/Source/Shaders/VectorCommon.js +180 -0
- package/Source/ThirdParty/zip-module.wasm +0 -0
- package/Source/Widget/CesiumWidget.js +30 -0
- package/Source/Workers/createMvtTile.js +39 -0
- package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
- package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
- package/index.d.ts +535 -1393
- package/index.js +125 -93
- package/package.json +13 -13
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Check from "../Core/Check.js";
|
|
2
2
|
import Frozen from "../Core/Frozen.js";
|
|
3
3
|
import defined from "../Core/defined.js";
|
|
4
|
-
import
|
|
4
|
+
import findMeshoptExtension from "./findMeshoptExtension.js";
|
|
5
5
|
import { MeshoptDecoder } from "meshoptimizer";
|
|
6
6
|
import ResourceLoader from "./ResourceLoader.js";
|
|
7
7
|
import ResourceLoaderState from "./ResourceLoaderState.js";
|
|
@@ -54,8 +54,8 @@ class GltfBufferViewLoader extends ResourceLoader {
|
|
|
54
54
|
let meshoptMode;
|
|
55
55
|
let meshoptFilter;
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
const meshopt = findMeshoptExtension(bufferView);
|
|
58
|
+
if (defined(meshopt)) {
|
|
59
59
|
bufferId = meshopt.buffer;
|
|
60
60
|
byteOffset = meshopt.byteOffset ?? 0;
|
|
61
61
|
byteLength = meshopt.byteLength;
|
|
@@ -61,9 +61,11 @@ const {
|
|
|
61
61
|
Specular,
|
|
62
62
|
Anisotropy,
|
|
63
63
|
Clearcoat,
|
|
64
|
+
PlanarFill,
|
|
64
65
|
LineStyle,
|
|
65
66
|
Material,
|
|
66
67
|
Vector,
|
|
68
|
+
Polygon,
|
|
67
69
|
} = ModelComponents;
|
|
68
70
|
|
|
69
71
|
/**
|
|
@@ -533,6 +535,7 @@ class GltfLoader extends ResourceLoader {
|
|
|
533
535
|
|
|
534
536
|
/**
|
|
535
537
|
* Loads the gltf object
|
|
538
|
+
* @ignore
|
|
536
539
|
*/
|
|
537
540
|
async function loadGltfJson(loader) {
|
|
538
541
|
loader._state = GltfLoaderState.LOADING;
|
|
@@ -899,6 +902,38 @@ function loadAccessor(loader, accessor, useQuaternion) {
|
|
|
899
902
|
return loadDefaultAccessorValues(accessor, values);
|
|
900
903
|
}
|
|
901
904
|
|
|
905
|
+
function loadAccessorTypedArray(loader, accessor) {
|
|
906
|
+
const values = ComponentDatatype.createTypedArray(
|
|
907
|
+
accessor.componentType,
|
|
908
|
+
accessor.count * AttributeType.getNumberOfComponents(accessor.type),
|
|
909
|
+
);
|
|
910
|
+
|
|
911
|
+
if (!defined(accessor.bufferView)) {
|
|
912
|
+
return values;
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
const bufferViewLoader = getBufferViewLoader(loader, accessor.bufferView);
|
|
916
|
+
|
|
917
|
+
// Save a link to the gltfJson, which is removed after bufferViewLoader.load()
|
|
918
|
+
const { gltfJson } = loader;
|
|
919
|
+
|
|
920
|
+
const promise = bufferViewLoader.load().then(() => {
|
|
921
|
+
if (loader.isDestroyed()) {
|
|
922
|
+
return;
|
|
923
|
+
}
|
|
924
|
+
const result = getPackedTypedArray(
|
|
925
|
+
gltfJson,
|
|
926
|
+
accessor,
|
|
927
|
+
bufferViewLoader.typedArray,
|
|
928
|
+
);
|
|
929
|
+
values.set(result);
|
|
930
|
+
});
|
|
931
|
+
|
|
932
|
+
loader._loaderPromises.push(promise);
|
|
933
|
+
|
|
934
|
+
return values;
|
|
935
|
+
}
|
|
936
|
+
|
|
902
937
|
function fromArray(MathType, values) {
|
|
903
938
|
if (!defined(values)) {
|
|
904
939
|
return undefined;
|
|
@@ -1753,6 +1788,23 @@ function loadClearcoat(loader, clearcoatInfo, frameState) {
|
|
|
1753
1788
|
return clearcoat;
|
|
1754
1789
|
}
|
|
1755
1790
|
|
|
1791
|
+
/**
|
|
1792
|
+
* Load properties for the BENTLEY_materials_planar_fill extension.
|
|
1793
|
+
*
|
|
1794
|
+
* Note: The wireframeFill property is loaded but is currently a NO-OP in the
|
|
1795
|
+
* rendering pipeline. CesiumJS does not yet have a proper wireframe rendering
|
|
1796
|
+
* mode, so this value is stored for completeness but has no effect on rendering.
|
|
1797
|
+
* See https://github.com/CesiumGS/cesium/issues/13620 and
|
|
1798
|
+
* MaterialPipelineStage.js for more details.
|
|
1799
|
+
*
|
|
1800
|
+
* @param {object} planarFillInfo The contents of the BENTLEY_materials_planar_fill extension in the parsed glTF JSON
|
|
1801
|
+
* @returns {ModelComponents.PlanarFill}
|
|
1802
|
+
* @private
|
|
1803
|
+
*/
|
|
1804
|
+
function loadPlanarFill(planarFillInfo) {
|
|
1805
|
+
return new PlanarFill(planarFillInfo);
|
|
1806
|
+
}
|
|
1807
|
+
|
|
1756
1808
|
function loadLineStyle(lineStyleInfo) {
|
|
1757
1809
|
if (!defined(lineStyleInfo)) {
|
|
1758
1810
|
return undefined;
|
|
@@ -1799,6 +1851,7 @@ function loadMaterial(loader, gltfMaterial, frameState) {
|
|
|
1799
1851
|
const pbrAnisotropy = extensions.KHR_materials_anisotropy;
|
|
1800
1852
|
const pbrClearcoat = extensions.KHR_materials_clearcoat;
|
|
1801
1853
|
const pbrMetallicRoughness = gltfMaterial.pbrMetallicRoughness;
|
|
1854
|
+
const planarFill = extensions.BENTLEY_materials_planar_fill;
|
|
1802
1855
|
|
|
1803
1856
|
material.unlit = defined(extensions.KHR_materials_unlit);
|
|
1804
1857
|
|
|
@@ -1855,6 +1908,11 @@ function loadMaterial(loader, gltfMaterial, frameState) {
|
|
|
1855
1908
|
material.alphaCutoff = gltfMaterial.alphaCutoff;
|
|
1856
1909
|
material.doubleSided = gltfMaterial.doubleSided;
|
|
1857
1910
|
|
|
1911
|
+
// BENTLEY_materials_planar_fill extension
|
|
1912
|
+
if (defined(planarFill)) {
|
|
1913
|
+
material.planarFill = loadPlanarFill(planarFill);
|
|
1914
|
+
}
|
|
1915
|
+
|
|
1858
1916
|
// BENTLEY_materials_point_style extension
|
|
1859
1917
|
const pointStyleExtension = extensions.BENTLEY_materials_point_style;
|
|
1860
1918
|
if (defined(pointStyleExtension) && defined(pointStyleExtension.diameter)) {
|
|
@@ -2122,7 +2180,7 @@ function loadEdgeVisibilityLineStrings(
|
|
|
2122
2180
|
throw new RuntimeError("Edge visibility line string accessor not found!");
|
|
2123
2181
|
}
|
|
2124
2182
|
|
|
2125
|
-
const indices =
|
|
2183
|
+
const indices = loadAccessorTypedArray(loader, accessor);
|
|
2126
2184
|
const restartIndex = getLineStringPrimitiveRestartValue(
|
|
2127
2185
|
accessor.componentType,
|
|
2128
2186
|
);
|
|
@@ -2154,7 +2212,10 @@ function loadEdgeVisibility(loader, edgeVisibilityExtension) {
|
|
|
2154
2212
|
if (!defined(visibilityAccessor)) {
|
|
2155
2213
|
throw new RuntimeError("Edge visibility accessor not found!");
|
|
2156
2214
|
}
|
|
2157
|
-
edgeVisibility.visibility =
|
|
2215
|
+
edgeVisibility.visibility = loadAccessorTypedArray(
|
|
2216
|
+
loader,
|
|
2217
|
+
visibilityAccessor,
|
|
2218
|
+
);
|
|
2158
2219
|
}
|
|
2159
2220
|
|
|
2160
2221
|
edgeVisibility.materialColor = getEdgeVisibilityMaterialColor(
|
|
@@ -2166,7 +2227,9 @@ function loadEdgeVisibility(loader, edgeVisibilityExtension) {
|
|
|
2166
2227
|
const silhouetteNormalsAccessor =
|
|
2167
2228
|
loader.gltfJson.accessors[edgeVisibilityExtension.silhouetteNormals];
|
|
2168
2229
|
if (defined(silhouetteNormalsAccessor)) {
|
|
2169
|
-
|
|
2230
|
+
// Packed typed array (x0,y0,z0, x1,y1,z1, ...), not an array of
|
|
2231
|
+
// Cartesian3s. Avoids a large JS heap cost for edge-heavy tiles.
|
|
2232
|
+
edgeVisibility.silhouetteNormals = loadAccessorTypedArray(
|
|
2170
2233
|
loader,
|
|
2171
2234
|
silhouetteNormalsAccessor,
|
|
2172
2235
|
);
|
|
@@ -2208,6 +2271,17 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
|
|
|
2208
2271
|
}
|
|
2209
2272
|
|
|
2210
2273
|
const extensions = gltfPrimitive.extensions ?? Frozen.EMPTY_OBJECT;
|
|
2274
|
+
|
|
2275
|
+
const polygonExtension = extensions.EXT_mesh_polygon;
|
|
2276
|
+
if (defined(polygonExtension)) {
|
|
2277
|
+
primitive.polygon = loadMeshPolygonExtension(
|
|
2278
|
+
loader,
|
|
2279
|
+
gltfPrimitive,
|
|
2280
|
+
polygonExtension,
|
|
2281
|
+
);
|
|
2282
|
+
}
|
|
2283
|
+
|
|
2284
|
+
// @deprecated CESIUM_mesh_vector to be removed after v1.142 release.
|
|
2211
2285
|
const meshVectorExtension = extensions.CESIUM_mesh_vector;
|
|
2212
2286
|
if (defined(meshVectorExtension)) {
|
|
2213
2287
|
primitive.vector = loadMeshVectorExtension(loader, meshVectorExtension);
|
|
@@ -2365,12 +2439,77 @@ function loadPrimitiveOutline(loader, outlineExtension) {
|
|
|
2365
2439
|
return loadAccessor(loader, accessor, useQuaternion);
|
|
2366
2440
|
}
|
|
2367
2441
|
|
|
2442
|
+
/**
|
|
2443
|
+
* @typedef {object} EXTMeshPolygonExtension
|
|
2444
|
+
* @property {number} count
|
|
2445
|
+
* @property {number} indicesOffsets
|
|
2446
|
+
* @property {number} [loopIndices]
|
|
2447
|
+
* @property {number} [loopIndicesOffsets]
|
|
2448
|
+
* @property {number} [triangleIndices]
|
|
2449
|
+
* @property {number} [triangleIndicesOffsets]
|
|
2450
|
+
*/
|
|
2451
|
+
|
|
2452
|
+
/**
|
|
2453
|
+
* Load EXT_mesh_polygon.
|
|
2454
|
+
* @param {GltfLoader} loader
|
|
2455
|
+
* @param {object} gltfPrimitive
|
|
2456
|
+
* @param {EXTMeshPolygonExtension} polygonExtension
|
|
2457
|
+
* @returns {ModelComponents.Polygon}
|
|
2458
|
+
* @ignore
|
|
2459
|
+
*/
|
|
2460
|
+
function loadMeshPolygonExtension(loader, gltfPrimitive, polygonExtension) {
|
|
2461
|
+
const result = new Polygon();
|
|
2462
|
+
const accessors = loader.gltfJson.accessors;
|
|
2463
|
+
|
|
2464
|
+
result.count = polygonExtension.count;
|
|
2465
|
+
|
|
2466
|
+
// See ModelComponents.Polygon definition.
|
|
2467
|
+
if (gltfPrimitive.mode === PrimitiveType.LINE_LOOP) {
|
|
2468
|
+
result.loopIndices = loadAccessorTypedArray(
|
|
2469
|
+
loader,
|
|
2470
|
+
accessors[gltfPrimitive.indices],
|
|
2471
|
+
);
|
|
2472
|
+
result.loopIndicesOffsets = loadAccessorTypedArray(
|
|
2473
|
+
loader,
|
|
2474
|
+
accessors[polygonExtension.indicesOffsets],
|
|
2475
|
+
);
|
|
2476
|
+
result.triangleIndices = loadAccessorTypedArray(
|
|
2477
|
+
loader,
|
|
2478
|
+
accessors[polygonExtension.triangleIndices],
|
|
2479
|
+
);
|
|
2480
|
+
result.triangleIndicesOffsets = loadAccessorTypedArray(
|
|
2481
|
+
loader,
|
|
2482
|
+
accessors[polygonExtension.triangleIndicesOffsets],
|
|
2483
|
+
);
|
|
2484
|
+
} else if (gltfPrimitive.mode === PrimitiveType.TRIANGLES) {
|
|
2485
|
+
result.loopIndices = loadAccessorTypedArray(
|
|
2486
|
+
loader,
|
|
2487
|
+
accessors[polygonExtension.loopIndices],
|
|
2488
|
+
);
|
|
2489
|
+
result.loopIndicesOffsets = loadAccessorTypedArray(
|
|
2490
|
+
loader,
|
|
2491
|
+
accessors[polygonExtension.loopIndicesOffsets],
|
|
2492
|
+
);
|
|
2493
|
+
result.triangleIndices = loadAccessorTypedArray(
|
|
2494
|
+
loader,
|
|
2495
|
+
accessors[gltfPrimitive.indices],
|
|
2496
|
+
);
|
|
2497
|
+
result.triangleIndicesOffsets = loadAccessorTypedArray(
|
|
2498
|
+
loader,
|
|
2499
|
+
accessors[polygonExtension.indicesOffsets],
|
|
2500
|
+
);
|
|
2501
|
+
}
|
|
2502
|
+
|
|
2503
|
+
return result;
|
|
2504
|
+
}
|
|
2505
|
+
|
|
2368
2506
|
/**
|
|
2369
2507
|
* Load CESIUM_mesh_vector.
|
|
2370
2508
|
* @param {GltfLoader} loader
|
|
2371
2509
|
* @param {*} meshVectorExtension
|
|
2372
2510
|
* @returns {ModelComponents.Vector}
|
|
2373
2511
|
* @ignore
|
|
2512
|
+
* @deprecated
|
|
2374
2513
|
*/
|
|
2375
2514
|
function loadMeshVectorExtension(loader, meshVectorExtension) {
|
|
2376
2515
|
if (!defined(meshVectorExtension)) {
|
|
@@ -2405,6 +2544,10 @@ function loadMeshVectorExtension(loader, meshVectorExtension) {
|
|
|
2405
2544
|
meshVectorExtension.polygonIndicesOffsets,
|
|
2406
2545
|
"polygonIndicesOffsets",
|
|
2407
2546
|
);
|
|
2547
|
+
result.polygonTileBoundaryFlags = loadVectorAccessor(
|
|
2548
|
+
meshVectorExtension.polygonTileBoundaryFlags,
|
|
2549
|
+
"polygonTileBoundaryFlags",
|
|
2550
|
+
);
|
|
2408
2551
|
|
|
2409
2552
|
return result;
|
|
2410
2553
|
}
|
|
@@ -111,6 +111,22 @@ GltfLoaderUtil.createSampler = function (options) {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
+
if (!TextureWrap.validate(wrapS)) {
|
|
115
|
+
wrapS = TextureWrap.REPEAT;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (!TextureWrap.validate(wrapT)) {
|
|
119
|
+
wrapT = TextureWrap.REPEAT;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (!TextureMinificationFilter.validate(minFilter)) {
|
|
123
|
+
minFilter = TextureMinificationFilter.LINEAR;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (!TextureMagnificationFilter.validate(magFilter)) {
|
|
127
|
+
magFilter = TextureMagnificationFilter.LINEAR;
|
|
128
|
+
}
|
|
129
|
+
|
|
114
130
|
return new Sampler({
|
|
115
131
|
wrapS: wrapS,
|
|
116
132
|
wrapT: wrapT,
|
|
@@ -164,10 +180,10 @@ GltfLoaderUtil.createModelTextureReader = function (options) {
|
|
|
164
180
|
|
|
165
181
|
// prettier-ignore
|
|
166
182
|
transform = new Matrix3(
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
183
|
+
Math.cos(rotation) * scale.x, -Math.sin(rotation) * scale.y, offset.x,
|
|
184
|
+
Math.sin(rotation) * scale.x, Math.cos(rotation) * scale.y, offset.y,
|
|
185
|
+
0.0, 0.0, 1.0
|
|
186
|
+
);
|
|
171
187
|
}
|
|
172
188
|
|
|
173
189
|
const modelTextureReader = new ModelComponents.TextureReader();
|
|
@@ -73,6 +73,16 @@ function forEachTextureInMaterial(material, handler) {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
+
// Transmission extension
|
|
77
|
+
const transmission = extensions.KHR_materials_transmission;
|
|
78
|
+
if (defined(transmission) && defined(transmission.transmissionTexture)) {
|
|
79
|
+
const textureInfo = transmission.transmissionTexture;
|
|
80
|
+
const value = handler(textureInfo.index, textureInfo);
|
|
81
|
+
if (defined(value)) {
|
|
82
|
+
return value;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
76
86
|
// Materials common extension (may be present in models converted from glTF 1.0)
|
|
77
87
|
const materialsCommon = extensions.KHR_materials_common;
|
|
78
88
|
if (defined(materialsCommon) && defined(materialsCommon.values)) {
|
|
@@ -148,11 +148,16 @@ Remove.buffer = function (gltf, bufferId) {
|
|
|
148
148
|
bufferView.buffer--;
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
151
|
+
const extensions = bufferView.extensions;
|
|
152
|
+
if (defined(extensions)) {
|
|
153
|
+
const ext = extensions.EXT_meshopt_compression;
|
|
154
|
+
if (defined(ext) && ext.buffer > bufferId) {
|
|
155
|
+
ext.buffer--;
|
|
156
|
+
}
|
|
157
|
+
const khr = extensions.KHR_meshopt_compression;
|
|
158
|
+
if (defined(khr) && khr.buffer > bufferId) {
|
|
159
|
+
khr.buffer--;
|
|
160
|
+
}
|
|
156
161
|
}
|
|
157
162
|
});
|
|
158
163
|
};
|
|
@@ -583,12 +588,17 @@ getListOfElementsIdsInUse.buffer = function (gltf) {
|
|
|
583
588
|
if (defined(bufferView.buffer)) {
|
|
584
589
|
usedBufferIds[bufferView.buffer] = true;
|
|
585
590
|
}
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
true;
|
|
591
|
+
|
|
592
|
+
const extensions = bufferView.extensions;
|
|
593
|
+
if (defined(extensions)) {
|
|
594
|
+
const ext = extensions.EXT_meshopt_compression;
|
|
595
|
+
if (defined(ext)) {
|
|
596
|
+
usedBufferIds[ext.buffer] = true;
|
|
597
|
+
}
|
|
598
|
+
const khr = extensions.KHR_meshopt_compression;
|
|
599
|
+
if (defined(khr)) {
|
|
600
|
+
usedBufferIds[khr.buffer] = true;
|
|
601
|
+
}
|
|
592
602
|
}
|
|
593
603
|
});
|
|
594
604
|
|
|
@@ -267,7 +267,7 @@ async function loadResources(loader) {
|
|
|
267
267
|
try {
|
|
268
268
|
const bufferViewLoader = resourceCache.getBufferViewLoader({
|
|
269
269
|
gltf: loader._gltf,
|
|
270
|
-
bufferViewId:
|
|
270
|
+
bufferViewId: loader._spz.bufferView,
|
|
271
271
|
gltfResource: loader._gltfResource,
|
|
272
272
|
baseResource: loader._baseResource,
|
|
273
273
|
});
|
|
@@ -29,6 +29,7 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
29
29
|
* @param {number} [options.bufferViewId] The bufferView ID corresponding to the vertex buffer.
|
|
30
30
|
* @param {object} [options.primitive] The primitive containing the Draco extension.
|
|
31
31
|
* @param {object} [options.draco] The Draco extension object.
|
|
32
|
+
* @param {object} [options.spz] The SPZ extension object.
|
|
32
33
|
* @param {string} [options.attributeSemantic] The attribute semantic, e.g. POSITION or NORMAL.
|
|
33
34
|
* @param {number} [options.accessorId] The accessor id.
|
|
34
35
|
* @param {string} [options.cacheKey] The cache key of the resource.
|
|
@@ -36,7 +37,7 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
36
37
|
* @param {boolean} [options.loadBuffer=false] Load vertex buffer as a GPU vertex buffer.
|
|
37
38
|
* @param {boolean} [options.loadTypedArray=false] Load vertex buffer as a typed array.
|
|
38
39
|
*
|
|
39
|
-
* @exception {DeveloperError}
|
|
40
|
+
* @exception {DeveloperError} Exactly one vertex buffer source must be effective: options.bufferViewId, options.spz, or options.draco for options.attributeSemantic.
|
|
40
41
|
* @exception {DeveloperError} When options.draco is defined options.attributeSemantic must also be defined.
|
|
41
42
|
* @exception {DeveloperError} When options.draco is defined options.accessorId must also be defined.
|
|
42
43
|
*/
|
|
@@ -76,9 +77,11 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
76
77
|
const hasAttributeSemantic = defined(attributeSemantic);
|
|
77
78
|
const hasAccessorId = defined(accessorId);
|
|
78
79
|
const hasSpz = defined(spz);
|
|
79
|
-
|
|
80
|
+
const sourceCount =
|
|
81
|
+
Number(hasBufferViewId) + Number(hasDraco) + Number(hasSpz);
|
|
82
|
+
if (sourceCount !== 1) {
|
|
80
83
|
throw new DeveloperError(
|
|
81
|
-
"
|
|
84
|
+
"Exactly one vertex buffer source must be effective: options.bufferViewId, options.spz, or options.draco for options.attributeSemantic.",
|
|
82
85
|
);
|
|
83
86
|
}
|
|
84
87
|
|
|
@@ -182,7 +182,7 @@ function GroundPolylinePrimitive(options) {
|
|
|
182
182
|
|
|
183
183
|
this._retainedGeometryInstances = undefined;
|
|
184
184
|
|
|
185
|
-
/**
|
|
185
|
+
/** Root {@link GroundPolylineGeometry} ref from the last inner {@link Primitive} build. @private */
|
|
186
186
|
this._lastGroundPolylineRootGeometry = undefined;
|
|
187
187
|
|
|
188
188
|
this._ready = false;
|
|
@@ -816,6 +816,7 @@ GroundPolylinePrimitive.prototype.update = function (frameState) {
|
|
|
816
816
|
GroundPolylineGeometry.setProjectionAndEllipsoid(
|
|
817
817
|
geometryInstance.geometry,
|
|
818
818
|
frameState.mapProjection,
|
|
819
|
+
frameState.columbusRepeatWorlds,
|
|
819
820
|
);
|
|
820
821
|
geometryInstance.geometry._verticalExaggeration =
|
|
821
822
|
frameState.verticalExaggeration;
|
|
@@ -408,7 +408,7 @@ I3SDataProvider.prototype.updateForPass = function (frameState, passState) {
|
|
|
408
408
|
function buildLayerUrl(provider, layerId) {
|
|
409
409
|
const dataProviderUrl = provider.resource.getUrlComponent();
|
|
410
410
|
|
|
411
|
-
let layerUrl
|
|
411
|
+
let layerUrl;
|
|
412
412
|
if (dataProviderUrl.match(/layers\/\d/)) {
|
|
413
413
|
layerUrl = `${dataProviderUrl}`.replace(/\/+$/, "");
|
|
414
414
|
} else {
|
package/Source/Scene/I3SLayer.js
CHANGED
|
@@ -31,7 +31,7 @@ function I3SLayer(dataProvider, layerData, parent) {
|
|
|
31
31
|
|
|
32
32
|
const parentUrl = this._parent.resource.getUrlComponent();
|
|
33
33
|
|
|
34
|
-
let tilesetUrl
|
|
34
|
+
let tilesetUrl;
|
|
35
35
|
if (parentUrl.match(/layers\/\d/)) {
|
|
36
36
|
tilesetUrl = `${parentUrl}`.replace(/\/+$/, "");
|
|
37
37
|
} else {
|
package/Source/Scene/I3SNode.js
CHANGED
|
@@ -867,11 +867,11 @@ ImageryLayer.prototype.getImageryRectangle = function () {
|
|
|
867
867
|
* Create skeletons for the imagery tiles that partially or completely overlap a given terrain
|
|
868
868
|
* tile.
|
|
869
869
|
*
|
|
870
|
-
* @
|
|
870
|
+
* @ignore
|
|
871
871
|
*
|
|
872
872
|
* @param {QuadtreeTile} tile The terrain tile.
|
|
873
873
|
* @param {TerrainProvider|undefined} terrainProvider The terrain provider associated with the terrain tile.
|
|
874
|
-
* @param {number} insertionPoint The position to insert new skeletons before in the tile's imagery list.
|
|
874
|
+
* @param {number} [insertionPoint] The position to insert new skeletons before in the tile's imagery list.
|
|
875
875
|
* @returns {boolean} true if this layer overlaps any portion of the terrain tile; otherwise, false.
|
|
876
876
|
*/
|
|
877
877
|
ImageryLayer.prototype._createTileImagerySkeletons = function (
|