@cesium/engine 23.0.1 → 25.0.0
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-ZEMJQKHD.js → chunk-35H3UBIO.js} +13 -12
- package/Build/Workers/{chunk-PQTSXJBJ.js → chunk-3LSD7OOA.js} +16 -16
- package/Build/Workers/{chunk-PUO7BYDY.js → chunk-3RFFPH4M.js} +1 -1
- package/Build/Workers/{chunk-PBECJOWF.js → chunk-3TKLDHV3.js} +2 -2
- package/Build/Workers/{chunk-TMCTZ5E3.js → chunk-3VDDRF2E.js} +14 -14
- package/Build/Workers/{chunk-FKU77FNM.js → chunk-3XY3MVPG.js} +4 -4
- package/Build/Workers/{chunk-2OBWHTIC.js → chunk-4GF4MVPY.js} +7 -7
- package/Build/Workers/{chunk-JUKGMJX7.js → chunk-4MTRQFJP.js} +3 -2
- package/Build/Workers/{chunk-66OWUDO7.js → chunk-4QQXGTCE.js} +8 -8
- package/Build/Workers/{chunk-ALTCIHRH.js → chunk-4XXHJI6Y.js} +17 -17
- package/Build/Workers/{chunk-K7UTK4OM.js → chunk-5T6QQAJW.js} +3 -2
- package/Build/Workers/{chunk-IJ3SUMK3.js → chunk-6SDGQI27.js} +3 -2
- package/Build/Workers/{chunk-FXSRA5UG.js → chunk-77RL3MBD.js} +6 -5
- package/Build/Workers/{chunk-G6MJ3ZW3.js → chunk-7LSFAEWF.js} +12 -11
- package/Build/Workers/{chunk-C6HHBKT5.js → chunk-A7A433MD.js} +5 -5
- package/Build/Workers/{chunk-PGZ3B6CB.js → chunk-A7ZBMVFS.js} +14 -14
- package/Build/Workers/{chunk-OZYB3AOR.js → chunk-ACFFCHHZ.js} +11 -11
- package/Build/Workers/{chunk-DNMASBMH.js → chunk-AEAVLYPS.js} +2 -2
- package/Build/Workers/{chunk-VPWYHFQA.js → chunk-AWFZHD2B.js} +4 -4
- package/Build/Workers/{chunk-TFPG3ZKW.js → chunk-BTX2NL3P.js} +59 -46
- package/Build/Workers/{chunk-TNXOPEIG.js → chunk-BVAIWR7O.js} +12 -12
- package/Build/Workers/chunk-CKQP3DSS.js +973 -0
- package/Build/Workers/{chunk-N6HRZLS6.js → chunk-CZ23Y3RM.js} +2 -2
- package/Build/Workers/{chunk-EIC3VAOZ.js → chunk-DFEI5MAV.js} +7 -7
- package/Build/Workers/{chunk-BTP3634E.js → chunk-DH26SNAB.js} +4 -1
- package/Build/Workers/{chunk-TXYQNXNW.js → chunk-DYT5NR6P.js} +3 -3
- package/Build/Workers/{chunk-O67UP5YO.js → chunk-EZARA5FJ.js} +13 -13
- package/Build/Workers/{chunk-YSJRB2UZ.js → chunk-FIBS5S7R.js} +2 -2
- package/Build/Workers/{chunk-2M7DKGLW.js → chunk-FVLVVOBQ.js} +10 -10
- package/Build/Workers/{chunk-B2VA6IEL.js → chunk-GL7DNVUS.js} +5 -5
- package/Build/Workers/{chunk-77DJBHMI.js → chunk-GPIGURCG.js} +59 -32
- package/Build/Workers/{chunk-QPXGGVHC.js → chunk-H2A4USJR.js} +10 -10
- package/Build/Workers/chunk-HSVQATK2.js +147 -0
- package/Build/Workers/{chunk-HXEPZWJN.js → chunk-HVMG6AG4.js} +11 -10
- package/Build/Workers/{chunk-H3TVRJLY.js → chunk-I3A6DXYZ.js} +4 -4
- package/Build/Workers/{chunk-UEWYSOFD.js → chunk-ITD2IN7N.js} +2 -2
- package/Build/Workers/{chunk-CYOPNGPX.js → chunk-J3OFS2RD.js} +12 -12
- package/Build/Workers/{chunk-RZX6LOG6.js → chunk-J647NNZW.js} +6 -6
- package/Build/Workers/{chunk-GLCPE2BJ.js → chunk-J7KQEKPK.js} +13 -13
- package/Build/Workers/{chunk-XPMXRJDD.js → chunk-K6NFIRFB.js} +5 -5
- package/Build/Workers/{chunk-CID5SY7L.js → chunk-LH5SF3XV.js} +7 -6
- package/Build/Workers/{chunk-UOQB7XQI.js → chunk-ND3NTTOF.js} +713 -435
- package/Build/Workers/chunk-QO2CGXMP.js +2342 -0
- package/Build/Workers/chunk-QSDY4NS7.js +1287 -0
- package/Build/Workers/chunk-QXNQQYPV.js +3201 -0
- package/Build/Workers/{chunk-CJ7ZDY77.js → chunk-ST2UWDUU.js} +5 -5
- package/Build/Workers/{chunk-YDR5LX5Z.js → chunk-TA777BGS.js} +3 -2
- package/Build/Workers/{chunk-U4SWB6TI.js → chunk-TAI4HLII.js} +4 -4
- package/Build/Workers/{chunk-VX774SWE.js → chunk-URUCCIPS.js} +6 -6
- package/Build/Workers/{chunk-MNSNOONX.js → chunk-VQKLRBIK.js} +7 -7
- package/Build/Workers/{chunk-CVAAIRNP.js → chunk-WC57YYBN.js} +2 -2
- package/Build/Workers/{chunk-QNABVTTP.js → chunk-WN6P5UDH.js} +12 -12
- package/Build/Workers/{chunk-CNLXMOPM.js → chunk-WNN5D4W3.js} +12 -11
- package/Build/Workers/{chunk-4JJQRZYL.js → chunk-WTQGE7Q6.js} +17 -17
- package/Build/Workers/{chunk-FCJQO4NC.js → chunk-WUBKZFF6.js} +2213 -1349
- package/Build/Workers/{chunk-3UQ2YMPP.js → chunk-ZAPOS52G.js} +12 -10
- package/Build/Workers/{chunk-LHFC4R7Z.js → chunk-ZCCIIBZT.js} +6 -6
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +16 -16
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
- package/Build/Workers/createCorridorGeometry.js +29 -29
- package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
- package/Build/Workers/createEllipseGeometry.js +26 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
- package/Build/Workers/createEllipsoidGeometry.js +19 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
- package/Build/Workers/createFrustumGeometry.js +18 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
- package/Build/Workers/createGeometry.js +24 -24
- package/Build/Workers/createGroundPolylineGeometry.js +175 -118
- package/Build/Workers/createPlaneGeometry.js +16 -16
- package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
- package/Build/Workers/createPolygonGeometry.js +32 -32
- package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
- package/Build/Workers/createPolylineGeometry.js +25 -25
- package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
- package/Build/Workers/createRectangleGeometry.js +27 -27
- package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
- package/Build/Workers/createSimplePolylineGeometry.js +23 -23
- package/Build/Workers/createSphereGeometry.js +19 -19
- package/Build/Workers/createSphereOutlineGeometry.js +18 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
- package/Build/Workers/createVectorTileGeometries.js +24 -24
- package/Build/Workers/createVectorTilePoints.js +13 -13
- package/Build/Workers/createVectorTilePolygons.js +22 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -14
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
- package/Build/Workers/createVerticesFromHeightmap.js +24 -23
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
- package/Build/Workers/createWallGeometry.js +25 -25
- package/Build/Workers/createWallOutlineGeometry.js +24 -24
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +12 -12
- 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 +12 -9
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Source/Core/ArcType.js +6 -1
- package/Source/Core/ArticulationStageType.js +5 -1
- package/Source/Core/AssociativeArray.js +100 -94
- package/Source/Core/BoundingSphere.js +1296 -1300
- package/Source/Core/Cartesian2.js +7 -5
- package/Source/Core/Cartesian3.js +9 -8
- package/Source/Core/Cartesian4.js +8 -6
- package/Source/Core/Cartographic.js +257 -249
- package/Source/Core/ClockRange.js +6 -1
- package/Source/Core/ClockStep.js +6 -1
- package/Source/Core/Color.js +846 -835
- package/Source/Core/ComponentDatatype.js +4 -1
- package/Source/Core/CornerType.js +6 -1
- package/Source/Core/Credit.js +121 -124
- package/Source/Core/DeveloperError.js +2 -1
- package/Source/Core/Ellipsoid.js +637 -660
- package/Source/Core/ExtrapolationType.js +6 -1
- package/Source/Core/GeocodeType.js +6 -1
- package/Source/Core/GeographicProjection.js +74 -74
- package/Source/Core/GeographicTilingScheme.js +179 -198
- package/Source/Core/GeometryOffsetAttribute.js +7 -1
- package/Source/Core/GeometryType.js +7 -1
- package/Source/Core/HeightmapEncoding.js +6 -1
- package/Source/Core/ITwinPlatform.js +1 -0
- package/Source/Core/Iau2006XysData.js +24 -13
- package/Source/Core/IndexDatatype.js +3 -1
- package/Source/Core/InterpolationType.js +5 -1
- package/Source/Core/Intersect.js +6 -1
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocodeProviderType.js +5 -1
- package/Source/Core/JulianDate.js +850 -848
- package/Source/Core/KeyboardEventModifier.js +6 -1
- package/Source/Core/MapProjection.js +39 -44
- package/Source/Core/Matrix2.js +906 -893
- package/Source/Core/Matrix3.js +1643 -1575
- package/Source/Core/Matrix4.js +2903 -2872
- package/Source/Core/PixelFormat.js +3 -1
- package/Source/Core/PrimitiveType.js +11 -1
- package/Source/Core/Ray.js +62 -60
- package/Source/Core/Rectangle.js +913 -904
- package/Source/Core/ReferenceFrame.js +6 -1
- package/Source/Core/RequestScheduler.js +8 -3
- package/Source/Core/RequestState.js +6 -1
- package/Source/Core/RequestType.js +6 -1
- package/Source/Core/S2Cell.js +2 -2
- package/Source/Core/ScreenSpaceEventType.js +6 -1
- package/Source/Core/TerrainMesh.js +10 -1
- package/Source/Core/TerrainPicker.js +1 -0
- package/Source/Core/TerrainQuantization.js +6 -1
- package/Source/Core/TilingScheme.js +100 -98
- package/Source/Core/TimeConstants.js +6 -1
- package/Source/Core/TimeStandard.js +6 -1
- package/Source/Core/TrackingReferenceFrame.js +6 -1
- package/Source/Core/Visibility.js +6 -1
- package/Source/Core/VulkanConstants.js +6 -1
- package/Source/Core/WallGeometry.js +1 -1
- package/Source/Core/WallOutlineGeometry.js +1 -1
- package/Source/Core/WebGLConstants.js +6 -1
- package/Source/Core/WebMercatorProjection.js +108 -109
- package/Source/Core/WebMercatorTilingScheme.js +246 -242
- package/Source/Core/WindingOrder.js +3 -1
- package/Source/Core/assert.js +27 -0
- package/Source/Core/globalTypes.js +4 -0
- package/Source/DataSources/CzmlDataSource.js +9 -0
- package/Source/DataSources/PathGraphics.js +13 -0
- package/Source/DataSources/PathVisualizer.js +330 -18
- package/Source/DataSources/StaticGeometryColorBatch.js +7 -2
- package/Source/DataSources/StaticGeometryPerMaterialBatch.js +7 -2
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +4 -1
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +4 -1
- package/Source/DataSources/StripeOrientation.js +6 -1
- package/Source/Renderer/BufferUsage.js +20 -9
- package/Source/Renderer/Context.js +2 -29
- package/Source/Renderer/DrawCommand.js +435 -403
- package/Source/Renderer/MipmapHint.js +5 -1
- package/Source/Renderer/Pass.js +7 -1
- package/Source/Renderer/PickId.js +44 -0
- package/Source/Renderer/PixelDatatype.js +3 -1
- package/Source/Renderer/RenderState.js +2 -2
- package/Source/Renderer/RenderbufferFormat.js +5 -1
- package/Source/Renderer/ShaderDestination.js +4 -1
- package/Source/Renderer/TextureMagnificationFilter.js +3 -1
- package/Source/Renderer/TextureMinificationFilter.js +3 -1
- package/Source/Renderer/TextureWrap.js +5 -1
- package/Source/Renderer/VertexArray.js +80 -0
- package/Source/Scene/AlphaMode.js +5 -1
- package/Source/Scene/ArcGisBaseMapType.js +6 -1
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/AttributeType.js +3 -1
- package/Source/Scene/Axis.js +3 -1
- package/Source/Scene/BillboardCollection.js +65 -364
- package/Source/Scene/BingMapsStyle.js +6 -1
- package/Source/Scene/BlendEquation.js +6 -1
- package/Source/Scene/BlendFunction.js +6 -1
- package/Source/Scene/BlendOption.js +6 -1
- package/Source/Scene/BlendingState.js +6 -1
- package/Source/Scene/BufferLoader.js +0 -2
- package/Source/Scene/BufferPoint.js +148 -0
- package/Source/Scene/BufferPointCollection.js +138 -0
- package/Source/Scene/BufferPointMaterial.js +95 -0
- package/Source/Scene/BufferPolygon.js +516 -0
- package/Source/Scene/BufferPolygonCollection.js +370 -0
- package/Source/Scene/BufferPolygonMaterial.js +41 -0
- package/Source/Scene/BufferPolyline.js +185 -0
- package/Source/Scene/BufferPolylineCollection.js +138 -0
- package/Source/Scene/BufferPolylineMaterial.js +93 -0
- package/Source/Scene/BufferPrimitive.js +347 -0
- package/Source/Scene/BufferPrimitiveCollection.js +818 -0
- package/Source/Scene/BufferPrimitiveMaterial.js +140 -0
- package/Source/Scene/CameraEventType.js +6 -1
- package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
- package/Source/Scene/Cesium3DTileContent.js +5 -1
- package/Source/Scene/Cesium3DTileContentFactory.js +9 -0
- package/Source/Scene/Cesium3DTileContentState.js +6 -1
- package/Source/Scene/Cesium3DTileContentType.js +3 -1
- package/Source/Scene/Cesium3DTileFeature.js +289 -306
- package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
- package/Source/Scene/Cesium3DTilePass.js +5 -1
- package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
- package/Source/Scene/Cesium3DTileRefine.js +6 -1
- package/Source/Scene/Cesium3DTileStyle.js +22 -0
- package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
- package/Source/Scene/Cesium3DTileset.js +2 -1
- package/Source/Scene/ClassificationType.js +3 -1
- package/Source/Scene/ClippingPolygonCollection.js +270 -101
- package/Source/Scene/CloudType.js +3 -1
- package/Source/Scene/ColorBlendMode.js +4 -1
- package/Source/Scene/CubeMapPanorama.js +4 -4
- package/Source/Scene/CullFace.js +6 -1
- package/Source/Scene/DepthFunction.js +6 -1
- package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
- package/Source/Scene/EquirectangularPanorama.js +1 -0
- package/Source/Scene/ExpressionNodeType.js +6 -1
- package/Source/Scene/GaussianSplat3DTileContent.js +40 -46
- package/Source/Scene/GaussianSplatPrimitive.js +413 -70
- package/Source/Scene/GetFeatureInfoFormat.js +3 -3
- package/Source/Scene/GltfBufferViewLoader.js +0 -2
- package/Source/Scene/GltfDracoLoader.js +0 -2
- package/Source/Scene/GltfImageLoader.js +0 -3
- package/Source/Scene/GltfIndexBufferLoader.js +0 -4
- package/Source/Scene/GltfJsonLoader.js +0 -2
- package/Source/Scene/GltfLoader.js +215 -39
- package/Source/Scene/GltfLoaderUtil.js +14 -0
- package/Source/Scene/GltfSpzLoader.js +109 -2
- package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
- package/Source/Scene/GltfTextureLoader.js +0 -2
- package/Source/Scene/GltfVertexBufferLoader.js +0 -4
- package/Source/Scene/HeightReference.js +5 -1
- package/Source/Scene/HorizontalOrigin.js +6 -1
- package/Source/Scene/ITwinData.js +1 -0
- package/Source/Scene/ImageryProvider.js +1 -1
- package/Source/Scene/ImageryState.js +6 -1
- package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
- package/Source/Scene/InstanceAttributeSemantic.js +3 -1
- package/Source/Scene/IonWorldImageryStyle.js +6 -1
- package/Source/Scene/JobType.js +6 -1
- package/Source/Scene/Label.js +32 -0
- package/Source/Scene/LabelCollection.js +14 -13
- package/Source/Scene/LabelStyle.js +6 -1
- package/Source/Scene/MapMode2D.js +6 -1
- package/Source/Scene/Material.js +2 -0
- package/Source/Scene/Megatexture.js +1 -0
- package/Source/Scene/MetadataClassProperty.js +24 -10
- package/Source/Scene/MetadataComponentType.js +118 -24
- package/Source/Scene/MetadataSchemaLoader.js +0 -2
- package/Source/Scene/MetadataSemantic.js +6 -2
- package/Source/Scene/MetadataType.js +3 -1
- package/Source/Scene/Model/B3dmLoader.js +0 -3
- package/Source/Scene/Model/CustomShaderMode.js +3 -1
- package/Source/Scene/Model/CustomShaderPipelineStage.js +3 -1
- package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +735 -264
- package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
- package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
- package/Source/Scene/Model/GeoJsonLoader.js +0 -2
- package/Source/Scene/Model/I3dmLoader.js +0 -3
- package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
- package/Source/Scene/Model/LightingModel.js +5 -1
- package/Source/Scene/Model/MaterialPipelineStage.js +331 -3
- package/Source/Scene/Model/MetadataPipelineStage.js +3 -3
- package/Source/Scene/Model/ModelDrawCommand.js +6 -0
- package/Source/Scene/Model/ModelReader.js +475 -4
- package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
- package/Source/Scene/Model/ModelType.js +3 -1
- package/Source/Scene/Model/ModelUtility.js +3 -1
- package/Source/Scene/Model/PntsLoader.js +4 -3
- package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
- package/Source/Scene/Model/UniformType.js +5 -1
- package/Source/Scene/Model/VaryingType.js +5 -1
- package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +375 -0
- package/Source/Scene/Model/pickModel.js +94 -299
- package/Source/Scene/ModelAnimationLoop.js +6 -1
- package/Source/Scene/ModelAnimationState.js +6 -1
- package/Source/Scene/ModelComponents.js +1639 -1542
- package/Source/Scene/PickedMetadataInfo.js +1 -0
- package/Source/Scene/PrimitiveState.js +7 -1
- package/Source/Scene/QuadtreeOccluders.js +20 -15
- package/Source/Scene/QuadtreeTile.js +547 -541
- package/Source/Scene/QuadtreeTileLoadState.js +6 -1
- package/Source/Scene/QuadtreeTileProvider.js +159 -175
- package/Source/Scene/ResourceLoader.js +0 -1
- package/Source/Scene/ResourceLoaderState.js +7 -1
- package/Source/Scene/SceneMode.js +4 -1
- package/Source/Scene/ScreenSpaceCameraController.js +13 -0
- package/Source/Scene/ShadowMode.js +3 -1
- package/Source/Scene/SkyBox.js +17 -8
- package/Source/Scene/SplitDirection.js +6 -1
- package/Source/Scene/StencilFunction.js +6 -1
- package/Source/Scene/StencilOperation.js +6 -1
- package/Source/Scene/TerrainState.js +7 -1
- package/Source/Scene/TileBoundingRegion.js +1 -1
- package/Source/Scene/TileBoundingS2Cell.js +1 -1
- package/Source/Scene/TileBoundingSphere.js +1 -1
- package/Source/Scene/TileState.js +7 -1
- package/Source/Scene/Tonemapper.js +5 -1
- package/Source/Scene/TweenCollection.js +7 -0
- package/Source/Scene/VectorGltf3DTileContent.js +403 -0
- package/Source/Scene/VertexAttributeSemantic.js +17 -1
- package/Source/Scene/VerticalOrigin.js +6 -1
- package/Source/Scene/VoxelBoxShape.js +12 -6
- package/Source/Scene/VoxelContent.js +2 -0
- package/Source/Scene/VoxelCylinderShape.js +39 -38
- package/Source/Scene/VoxelEllipsoidShape.js +46 -96
- package/Source/Scene/VoxelMetadataOrder.js +6 -1
- package/Source/Scene/VoxelProvider.js +1 -0
- package/Source/Scene/VoxelShapeType.js +3 -1
- package/Source/Scene/WebMapServiceImageryProvider.js +2 -2
- package/Source/Scene/WebMapTileServiceImageryProvider.js +366 -131
- package/Source/Scene/parseStructuralMetadata.js +97 -37
- package/Source/Scene/renderBufferPointCollection.js +285 -0
- package/Source/Scene/renderBufferPolygonCollection.js +339 -0
- package/Source/Scene/renderBufferPolylineCollection.js +478 -0
- package/Source/Shaders/BillboardCollectionFS.glsl +2 -77
- package/Source/Shaders/BillboardCollectionFS.js +2 -77
- package/Source/Shaders/BillboardCollectionVS.glsl +2 -60
- package/Source/Shaders/BillboardCollectionVS.js +2 -60
- package/Source/Shaders/BufferPointMaterialFS.glsl +27 -0
- package/Source/Shaders/BufferPointMaterialFS.js +29 -0
- package/Source/Shaders/BufferPointMaterialVS.glsl +48 -0
- package/Source/Shaders/BufferPointMaterialVS.js +50 -0
- package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolygonMaterialFS.js +15 -0
- package/Source/Shaders/BufferPolygonMaterialVS.glsl +30 -0
- package/Source/Shaders/BufferPolygonMaterialVS.js +32 -0
- package/Source/Shaders/BufferPolylineMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolylineMaterialFS.js +15 -0
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +49 -0
- package/Source/Shaders/BufferPolylineMaterialVS.js +51 -0
- package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
- package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
- package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
- package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
- package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
- package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
- package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +34 -48
- package/Source/Shaders/Model/EdgeVisibilityStageFS.js +34 -49
- package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +98 -0
- package/Source/Shaders/Model/EdgeVisibilityStageVS.js +100 -0
- package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
- package/Source/Shaders/Model/MaterialStageFS.js +46 -20
- package/Source/Shaders/Model/ModelFS.glsl +15 -0
- package/Source/Shaders/Model/ModelFS.js +15 -0
- package/Source/Shaders/Model/ModelVS.glsl +8 -0
- package/Source/Shaders/Model/ModelVS.js +8 -0
- package/Source/Shaders/PolygonSignedDistanceFS.glsl +64 -33
- package/Source/Shaders/PolygonSignedDistanceFS.js +64 -33
- package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +9 -2
- package/Source/Shaders/PrimitiveGaussianSplatVS.js +9 -2
- package/Source/Shaders/Voxels/VoxelFS.glsl +1 -1
- package/Source/Shaders/Voxels/VoxelFS.js +1 -1
- package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
- package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
- package/Source/Widget/CesiumWidget.js +11 -4
- package/Source/Workers/decodeDraco.js +3 -0
- package/Source/Workers/decodeI3S.js +5 -2
- package/index.d.ts +1332 -402
- package/index.js +111 -81
- package/package.json +3 -3
- package/Build/Workers/chunk-54O3AGOA.js +0 -642
- package/Build/Workers/chunk-6U5QMZU3.js +0 -940
- package/Build/Workers/chunk-HNDE73JK.js +0 -1829
- package/Build/Workers/chunk-PAFMAR7A.js +0 -2357
- package/Build/Workers/chunk-S53HSRT6.js +0 -114
|
@@ -52,49 +52,80 @@ void main() {\n\
|
|
|
52
52
|
dimension = ceil(log2(float(u_extentsLength)));\n\
|
|
53
53
|
}\n\
|
|
54
54
|
int regionIndex = getPolygonIndex(dimension, v_textureCoordinates);\n\
|
|
55
|
+
\n\
|
|
56
|
+
if (regionIndex >= u_extentsLength) {\n\
|
|
57
|
+
return; // done (no polygons in this region)\n\
|
|
58
|
+
}\n\
|
|
55
59
|
\n\
|
|
56
60
|
for (int polygonIndex = 0; polygonIndex < u_polygonsLength; polygonIndex++) {\n\
|
|
57
61
|
ivec2 positionsLengthAndExtents = getPositionsLengthAndExtentsIndex(lastPolygonIndex);\n\
|
|
58
62
|
int positionsLength = positionsLengthAndExtents.x;\n\
|
|
59
63
|
int polygonExtentsIndex = positionsLengthAndExtents.y;\n\
|
|
60
64
|
lastPolygonIndex += 1;\n\
|
|
65
|
+
\n\
|
|
66
|
+
// Read the individual polygon extent (2 pixels: south/west, latRange/lonRange)\n\
|
|
67
|
+
vec2 extentsSouthWest = getPolygonPosition(lastPolygonIndex);\n\
|
|
68
|
+
vec2 extentsRange = getPolygonPosition(lastPolygonIndex + 1);\n\
|
|
69
|
+
vec4 polygonExtent = vec4(extentsSouthWest, extentsRange);\n\
|
|
70
|
+
lastPolygonIndex += 2;\n\
|
|
71
|
+
\n\
|
|
72
|
+
if (polygonExtentsIndex < regionIndex) {\n\
|
|
73
|
+
lastPolygonIndex += positionsLength;\n\
|
|
74
|
+
continue; // skip to next (TODO: could optimize further if we knew how many polygons to skip)\n\
|
|
75
|
+
} else if (polygonExtentsIndex > regionIndex) {\n\
|
|
76
|
+
break; // done (we know polygons are sorted by regionIndex)\n\
|
|
77
|
+
}\n\
|
|
61
78
|
\n\
|
|
62
79
|
// Only compute signed distance for the relevant part of the atlas\n\
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
\n\
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
\n\
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
80
|
+
float clipAmount = czm_infinity;\n\
|
|
81
|
+
vec4 extents = getExtents(polygonExtentsIndex);\n\
|
|
82
|
+
vec2 textureOffset = vec2(mod(float(polygonExtentsIndex), dimension), floor(float(polygonExtentsIndex) / dimension)) / dimension;\n\
|
|
83
|
+
vec2 p = getCoordinates((v_textureCoordinates - textureOffset) * dimension, extents); // current pixel position\n\
|
|
84
|
+
\n\
|
|
85
|
+
// Only consider polygons whos boundingbox includes current pixel (with a slight padding)\n\
|
|
86
|
+
float padding = 0.05; // 5% of polygon extents\n\
|
|
87
|
+
float polygonNorth = polygonExtent.x + polygonExtent.z;\n\
|
|
88
|
+
float polygonEast = polygonExtent.y + polygonExtent.w;\n\
|
|
89
|
+
float latPadding = padding * polygonExtent.z; // padding as fraction of latitude range\n\
|
|
90
|
+
float lonPadding = padding * polygonExtent.w; // padding as fraction of longitude range\n\
|
|
91
|
+
if (p.x < polygonExtent.x - latPadding || p.x > polygonNorth + latPadding ||\n\
|
|
92
|
+
p.y < polygonExtent.y - lonPadding || p.y > polygonEast + lonPadding) {\n\
|
|
93
|
+
lastPolygonIndex += positionsLength;\n\
|
|
94
|
+
continue; // skip to next\n\
|
|
95
|
+
}\n\
|
|
96
|
+
\n\
|
|
97
|
+
float s = 1.0;\n\
|
|
98
|
+
\n\
|
|
99
|
+
// Check each edge for absolute distance.\n\
|
|
100
|
+
// Cache the previous vertex to halve the texture reads per iteration.\n\
|
|
101
|
+
vec2 prev = getPolygonPosition(lastPolygonIndex + positionsLength - 1);\n\
|
|
102
|
+
for (int i = 0; i < positionsLength; i++) {\n\
|
|
103
|
+
vec2 a = getPolygonPosition(lastPolygonIndex + i);\n\
|
|
104
|
+
vec2 b = prev;\n\
|
|
105
|
+
prev = a;\n\
|
|
106
|
+
\n\
|
|
107
|
+
vec2 ab = b - a;\n\
|
|
108
|
+
vec2 pa = p - a;\n\
|
|
109
|
+
float t = dot(pa, ab) / dot(ab, ab);\n\
|
|
110
|
+
t = clamp(t, 0.0, 1.0);\n\
|
|
111
|
+
\n\
|
|
112
|
+
vec2 pq = pa - t * ab;\n\
|
|
113
|
+
float d = length(pq);\n\
|
|
114
|
+
\n\
|
|
115
|
+
// Inside / outside computation to determine sign\n\
|
|
116
|
+
bvec3 cond = bvec3(p.y >= a.y, \n\
|
|
117
|
+
p.y < b.y, \n\
|
|
118
|
+
ab.x * pa.y > ab.y * pa.x);\n\
|
|
119
|
+
if (all(cond) || all(not(cond))) s = -s;\n\
|
|
120
|
+
if (abs(d) < abs(clipAmount)) {\n\
|
|
121
|
+
clipAmount = d;\n\
|
|
91
122
|
}\n\
|
|
123
|
+
}\n\
|
|
92
124
|
\n\
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}\n\
|
|
125
|
+
// Normalize the range to [0,1]\n\
|
|
126
|
+
vec4 result = (s * vec4(clipAmount * length(extents.zw))) / 2.0 + 0.5;\n\
|
|
127
|
+
// In the case where we've iterated through multiple polygons, take the minimum\n\
|
|
128
|
+
out_FragColor = min(out_FragColor, result);\n\
|
|
98
129
|
\n\
|
|
99
130
|
lastPolygonIndex += positionsLength;\n\
|
|
100
131
|
}\n\
|
|
@@ -142,7 +142,14 @@ highp vec4 discardVec = vec4(0.0, 0.0, 2.0, 1.0);
|
|
|
142
142
|
|
|
143
143
|
void main() {
|
|
144
144
|
uint texIdx = uint(a_splatIndex);
|
|
145
|
-
|
|
145
|
+
// u_splatRowMask and u_splatRowShift encode the row width of the splat
|
|
146
|
+
// attribute texture. The texture width is always maximumTextureSize, which
|
|
147
|
+
// varies by GPU, so these are passed as uniforms rather than constants.
|
|
148
|
+
// rowMask = maximumTextureSize/2 - 1
|
|
149
|
+
// rowShift = log2(maximumTextureSize/2)
|
|
150
|
+
uint rowMask = uint(u_splatRowMask);
|
|
151
|
+
uint rowShift = uint(u_splatRowShift);
|
|
152
|
+
ivec2 posCoord = ivec2(int((texIdx & rowMask) << 1), int(texIdx >> rowShift));
|
|
146
153
|
vec4 splatPosition = vec4( uintBitsToFloat(uvec4(texelFetch(u_splatAttributeTexture, posCoord, 0))) );
|
|
147
154
|
|
|
148
155
|
vec4 splatViewPos = czm_modelView * vec4(splatPosition.xyz, 1.0);
|
|
@@ -155,7 +162,7 @@ void main() {
|
|
|
155
162
|
return;
|
|
156
163
|
}
|
|
157
164
|
|
|
158
|
-
ivec2 covCoord = ivec2(((texIdx &
|
|
165
|
+
ivec2 covCoord = ivec2(int(((texIdx & rowMask) << 1) | 1u), int(texIdx >> rowShift));
|
|
159
166
|
uvec4 covariance = uvec4(texelFetch(u_splatAttributeTexture, covCoord, 0));
|
|
160
167
|
|
|
161
168
|
gl_Position = clipPosition;
|
|
@@ -143,7 +143,14 @@ highp vec4 discardVec = vec4(0.0, 0.0, 2.0, 1.0);\n\
|
|
|
143
143
|
\n\
|
|
144
144
|
void main() {\n\
|
|
145
145
|
uint texIdx = uint(a_splatIndex);\n\
|
|
146
|
-
|
|
146
|
+
// u_splatRowMask and u_splatRowShift encode the row width of the splat\n\
|
|
147
|
+
// attribute texture. The texture width is always maximumTextureSize, which\n\
|
|
148
|
+
// varies by GPU, so these are passed as uniforms rather than constants.\n\
|
|
149
|
+
// rowMask = maximumTextureSize/2 - 1\n\
|
|
150
|
+
// rowShift = log2(maximumTextureSize/2)\n\
|
|
151
|
+
uint rowMask = uint(u_splatRowMask);\n\
|
|
152
|
+
uint rowShift = uint(u_splatRowShift);\n\
|
|
153
|
+
ivec2 posCoord = ivec2(int((texIdx & rowMask) << 1), int(texIdx >> rowShift));\n\
|
|
147
154
|
vec4 splatPosition = vec4( uintBitsToFloat(uvec4(texelFetch(u_splatAttributeTexture, posCoord, 0))) );\n\
|
|
148
155
|
\n\
|
|
149
156
|
vec4 splatViewPos = czm_modelView * vec4(splatPosition.xyz, 1.0);\n\
|
|
@@ -156,7 +163,7 @@ void main() {\n\
|
|
|
156
163
|
return;\n\
|
|
157
164
|
}\n\
|
|
158
165
|
\n\
|
|
159
|
-
ivec2 covCoord = ivec2(((texIdx &
|
|
166
|
+
ivec2 covCoord = ivec2(int(((texIdx & rowMask) << 1) | 1u), int(texIdx >> rowShift));\n\
|
|
160
167
|
uvec4 covariance = uvec4(texelFetch(u_splatAttributeTexture, covCoord, 0));\n\
|
|
161
168
|
\n\
|
|
162
169
|
gl_Position = clipPosition;\n\
|
|
@@ -214,7 +214,7 @@ void main()\n\
|
|
|
214
214
|
if (step.w == 0.0) {\n\
|
|
215
215
|
// Shape is infinitely thin. The ray may have hit the edge of a\n\
|
|
216
216
|
// foreground voxel. Step ahead slightly to check for more voxels\n\
|
|
217
|
-
step.w
|
|
217
|
+
step.w = 0.001;\n\
|
|
218
218
|
}\n\
|
|
219
219
|
\n\
|
|
220
220
|
// Keep raymarching\n\
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
uniform
|
|
2
|
-
uniform vec2 u_cylinderLocalToShapeUvHeight; // x = scale, y = offset
|
|
3
|
-
uniform vec2 u_cylinderLocalToShapeUvAngle; // x = scale, y = offset
|
|
1
|
+
uniform vec3 u_cylinderLocalToShapeUvScale; // x = radius scale, y = angle scale, z = height scale
|
|
4
2
|
uniform float u_cylinderShapeUvAngleRangeOrigin;
|
|
5
3
|
uniform mat3 u_cylinderEcToRadialTangentUp;
|
|
6
4
|
uniform ivec4 u_cameraTileCoordinates;
|
|
@@ -15,9 +13,9 @@ mat3 convertLocalToShapeSpaceDerivative(in vec3 position) {
|
|
|
15
13
|
}
|
|
16
14
|
|
|
17
15
|
vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) {
|
|
18
|
-
float radius = shapeUv.x /
|
|
19
|
-
float angle = shapeUv.y * czm_twoPi /
|
|
20
|
-
float height = shapeUv.z /
|
|
16
|
+
float radius = shapeUv.x / u_cylinderLocalToShapeUvScale.x;
|
|
17
|
+
float angle = shapeUv.y * czm_twoPi / u_cylinderLocalToShapeUvScale.y;
|
|
18
|
+
float height = shapeUv.z / u_cylinderLocalToShapeUvScale.z;
|
|
21
19
|
|
|
22
20
|
return vec3(radius, angle, height);
|
|
23
21
|
}
|
|
@@ -49,7 +47,7 @@ vec3 convertEcToDeltaShape(in vec3 positionEC) {
|
|
|
49
47
|
vec3 convertEcToDeltaTile(in vec3 positionEC) {
|
|
50
48
|
vec3 deltaShape = convertEcToDeltaShape(positionEC);
|
|
51
49
|
// Convert to tileset coordinates in [0, 1]
|
|
52
|
-
float dx =
|
|
50
|
+
float dx = u_cylinderLocalToShapeUvScale.x * deltaShape.x;
|
|
53
51
|
float dy = deltaShape.y / czm_twoPi;
|
|
54
52
|
#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE)
|
|
55
53
|
// Wrap to ensure dy is not crossing through the unoccupied angle range, where
|
|
@@ -60,8 +58,8 @@ vec3 convertEcToDeltaTile(in vec3 positionEC) {
|
|
|
60
58
|
float rotation = floor(rawOutputUvAngle);
|
|
61
59
|
dy -= rotation;
|
|
62
60
|
#endif
|
|
63
|
-
dy *=
|
|
64
|
-
float dz =
|
|
61
|
+
dy *= u_cylinderLocalToShapeUvScale.y;
|
|
62
|
+
float dz = u_cylinderLocalToShapeUvScale.z * deltaShape.z;
|
|
65
63
|
// Convert to tile coordinate changes
|
|
66
64
|
return vec3(dx, dy, dz) * float(1 << u_cameraTileCoordinates.w);
|
|
67
65
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
-
export default "uniform
|
|
3
|
-
uniform vec2 u_cylinderLocalToShapeUvHeight; // x = scale, y = offset\n\
|
|
4
|
-
uniform vec2 u_cylinderLocalToShapeUvAngle; // x = scale, y = offset\n\
|
|
2
|
+
export default "uniform vec3 u_cylinderLocalToShapeUvScale; // x = radius scale, y = angle scale, z = height scale\n\
|
|
5
3
|
uniform float u_cylinderShapeUvAngleRangeOrigin;\n\
|
|
6
4
|
uniform mat3 u_cylinderEcToRadialTangentUp;\n\
|
|
7
5
|
uniform ivec4 u_cameraTileCoordinates;\n\
|
|
@@ -16,9 +14,9 @@ mat3 convertLocalToShapeSpaceDerivative(in vec3 position) {\n\
|
|
|
16
14
|
}\n\
|
|
17
15
|
\n\
|
|
18
16
|
vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) {\n\
|
|
19
|
-
float radius = shapeUv.x /
|
|
20
|
-
float angle = shapeUv.y * czm_twoPi /
|
|
21
|
-
float height = shapeUv.z /
|
|
17
|
+
float radius = shapeUv.x / u_cylinderLocalToShapeUvScale.x;\n\
|
|
18
|
+
float angle = shapeUv.y * czm_twoPi / u_cylinderLocalToShapeUvScale.y;\n\
|
|
19
|
+
float height = shapeUv.z / u_cylinderLocalToShapeUvScale.z;\n\
|
|
22
20
|
\n\
|
|
23
21
|
return vec3(radius, angle, height);\n\
|
|
24
22
|
}\n\
|
|
@@ -50,7 +48,7 @@ vec3 convertEcToDeltaShape(in vec3 positionEC) {\n\
|
|
|
50
48
|
vec3 convertEcToDeltaTile(in vec3 positionEC) {\n\
|
|
51
49
|
vec3 deltaShape = convertEcToDeltaShape(positionEC);\n\
|
|
52
50
|
// Convert to tileset coordinates in [0, 1]\n\
|
|
53
|
-
float dx =
|
|
51
|
+
float dx = u_cylinderLocalToShapeUvScale.x * deltaShape.x;\n\
|
|
54
52
|
float dy = deltaShape.y / czm_twoPi;\n\
|
|
55
53
|
#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE)\n\
|
|
56
54
|
// Wrap to ensure dy is not crossing through the unoccupied angle range, where\n\
|
|
@@ -61,8 +59,8 @@ vec3 convertEcToDeltaTile(in vec3 positionEC) {\n\
|
|
|
61
59
|
float rotation = floor(rawOutputUvAngle);\n\
|
|
62
60
|
dy -= rotation;\n\
|
|
63
61
|
#endif\n\
|
|
64
|
-
dy *=
|
|
65
|
-
float dz =
|
|
62
|
+
dy *= u_cylinderLocalToShapeUvScale.y;\n\
|
|
63
|
+
float dz = u_cylinderLocalToShapeUvScale.z * deltaShape.z;\n\
|
|
66
64
|
// Convert to tile coordinate changes\n\
|
|
67
65
|
return vec3(dx, dy, dz) * float(1 << u_cameraTileCoordinates.w);\n\
|
|
68
66
|
}\n\
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js)
|
|
2
|
-
#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY
|
|
3
|
-
#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY
|
|
4
2
|
#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE
|
|
5
|
-
#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED
|
|
6
3
|
#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE
|
|
7
4
|
*/
|
|
8
5
|
|
|
@@ -12,17 +9,10 @@ uniform mat3 u_ellipsoidEcToEastNorthUp;
|
|
|
12
9
|
uniform vec3 u_ellipsoidRadii;
|
|
13
10
|
uniform vec2 u_evoluteScale; // (radii.x ^ 2 - radii.z ^ 2) * vec2(1.0, -1.0) / radii;
|
|
14
11
|
uniform vec3 u_ellipsoidInverseRadiiSquared;
|
|
15
|
-
#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED)
|
|
16
|
-
uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid;
|
|
17
|
-
#endif
|
|
18
12
|
#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE)
|
|
19
|
-
uniform vec2 u_ellipsoidLocalToShapeUvLongitude; // x = scale, y = offset
|
|
20
13
|
uniform float u_ellipsoidShapeUvLongitudeRangeOrigin;
|
|
21
14
|
#endif
|
|
22
|
-
|
|
23
|
-
uniform vec2 u_ellipsoidLocalToShapeUvLatitude; // x = scale, y = offset
|
|
24
|
-
#endif
|
|
25
|
-
uniform float u_ellipsoidInverseHeightDifference;
|
|
15
|
+
uniform vec3 u_ellipsoidLocalToShapeUvScale; // x = longitude scale, y = latitude scale, z = height scale
|
|
26
16
|
|
|
27
17
|
uniform ivec4 u_cameraTileCoordinates;
|
|
28
18
|
uniform vec3 u_cameraTileUv;
|
|
@@ -82,16 +72,16 @@ vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) {
|
|
|
82
72
|
// Convert from [0, 1] to radians [-pi, pi]
|
|
83
73
|
float longitude = shapeUv.x * czm_twoPi;
|
|
84
74
|
#if defined (ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE)
|
|
85
|
-
longitude /=
|
|
75
|
+
longitude /= u_ellipsoidLocalToShapeUvScale.x;
|
|
86
76
|
#endif
|
|
87
77
|
|
|
88
78
|
// Convert from [0, 1] to radians [-pi/2, pi/2]
|
|
89
79
|
float latitude = shapeUv.y * czm_pi;
|
|
90
80
|
#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE)
|
|
91
|
-
latitude /=
|
|
81
|
+
latitude /= u_ellipsoidLocalToShapeUvScale.y;
|
|
92
82
|
#endif
|
|
93
83
|
|
|
94
|
-
float height = shapeUv.z /
|
|
84
|
+
float height = shapeUv.z / u_ellipsoidLocalToShapeUvScale.z;
|
|
95
85
|
|
|
96
86
|
return vec3(longitude, latitude, height);
|
|
97
87
|
}
|
|
@@ -149,15 +139,15 @@ vec3 convertEcToDeltaTile(in vec3 positionEC) {
|
|
|
149
139
|
float rawOutputUvLongitude = cameraUvLongitudeShift + dx;
|
|
150
140
|
float rotation = floor(rawOutputUvLongitude);
|
|
151
141
|
dx -= rotation;
|
|
152
|
-
dx *=
|
|
142
|
+
dx *= u_ellipsoidLocalToShapeUvScale.x;
|
|
153
143
|
#endif
|
|
154
144
|
|
|
155
145
|
float dy = deltaShape.y / czm_pi;
|
|
156
146
|
#if (defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE))
|
|
157
|
-
dy *=
|
|
147
|
+
dy *= u_ellipsoidLocalToShapeUvScale.y;
|
|
158
148
|
#endif
|
|
159
149
|
|
|
160
|
-
float dz =
|
|
150
|
+
float dz = u_ellipsoidLocalToShapeUvScale.z * deltaShape.z;
|
|
161
151
|
// Convert to tile coordinate changes
|
|
162
152
|
return vec3(dx, dy, dz) * float(1 << u_cameraTileCoordinates.w);
|
|
163
153
|
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
2
|
export default "/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js)\n\
|
|
3
|
-
#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY\n\
|
|
4
|
-
#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY\n\
|
|
5
3
|
#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE\n\
|
|
6
|
-
#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED\n\
|
|
7
4
|
#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE\n\
|
|
8
5
|
*/\n\
|
|
9
6
|
\n\
|
|
@@ -13,17 +10,10 @@ uniform mat3 u_ellipsoidEcToEastNorthUp;\n\
|
|
|
13
10
|
uniform vec3 u_ellipsoidRadii;\n\
|
|
14
11
|
uniform vec2 u_evoluteScale; // (radii.x ^ 2 - radii.z ^ 2) * vec2(1.0, -1.0) / radii;\n\
|
|
15
12
|
uniform vec3 u_ellipsoidInverseRadiiSquared;\n\
|
|
16
|
-
#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED)\n\
|
|
17
|
-
uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid;\n\
|
|
18
|
-
#endif\n\
|
|
19
13
|
#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE)\n\
|
|
20
|
-
uniform vec2 u_ellipsoidLocalToShapeUvLongitude; // x = scale, y = offset\n\
|
|
21
14
|
uniform float u_ellipsoidShapeUvLongitudeRangeOrigin;\n\
|
|
22
15
|
#endif\n\
|
|
23
|
-
|
|
24
|
-
uniform vec2 u_ellipsoidLocalToShapeUvLatitude; // x = scale, y = offset\n\
|
|
25
|
-
#endif\n\
|
|
26
|
-
uniform float u_ellipsoidInverseHeightDifference;\n\
|
|
16
|
+
uniform vec3 u_ellipsoidLocalToShapeUvScale; // x = longitude scale, y = latitude scale, z = height scale\n\
|
|
27
17
|
\n\
|
|
28
18
|
uniform ivec4 u_cameraTileCoordinates;\n\
|
|
29
19
|
uniform vec3 u_cameraTileUv;\n\
|
|
@@ -83,16 +73,16 @@ vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) {\n\
|
|
|
83
73
|
// Convert from [0, 1] to radians [-pi, pi]\n\
|
|
84
74
|
float longitude = shapeUv.x * czm_twoPi;\n\
|
|
85
75
|
#if defined (ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE)\n\
|
|
86
|
-
longitude /=
|
|
76
|
+
longitude /= u_ellipsoidLocalToShapeUvScale.x;\n\
|
|
87
77
|
#endif\n\
|
|
88
78
|
\n\
|
|
89
79
|
// Convert from [0, 1] to radians [-pi/2, pi/2]\n\
|
|
90
80
|
float latitude = shapeUv.y * czm_pi;\n\
|
|
91
81
|
#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE)\n\
|
|
92
|
-
latitude /=
|
|
82
|
+
latitude /= u_ellipsoidLocalToShapeUvScale.y;\n\
|
|
93
83
|
#endif\n\
|
|
94
84
|
\n\
|
|
95
|
-
float height = shapeUv.z /
|
|
85
|
+
float height = shapeUv.z / u_ellipsoidLocalToShapeUvScale.z;\n\
|
|
96
86
|
\n\
|
|
97
87
|
return vec3(longitude, latitude, height);\n\
|
|
98
88
|
}\n\
|
|
@@ -150,15 +140,15 @@ vec3 convertEcToDeltaTile(in vec3 positionEC) {\n\
|
|
|
150
140
|
float rawOutputUvLongitude = cameraUvLongitudeShift + dx;\n\
|
|
151
141
|
float rotation = floor(rawOutputUvLongitude);\n\
|
|
152
142
|
dx -= rotation;\n\
|
|
153
|
-
dx *=
|
|
143
|
+
dx *= u_ellipsoidLocalToShapeUvScale.x;\n\
|
|
154
144
|
#endif\n\
|
|
155
145
|
\n\
|
|
156
146
|
float dy = deltaShape.y / czm_pi;\n\
|
|
157
147
|
#if (defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE))\n\
|
|
158
|
-
dy *=
|
|
148
|
+
dy *= u_ellipsoidLocalToShapeUvScale.y;\n\
|
|
159
149
|
#endif\n\
|
|
160
150
|
\n\
|
|
161
|
-
float dz =
|
|
151
|
+
float dz = u_ellipsoidLocalToShapeUvScale.z * deltaShape.z;\n\
|
|
162
152
|
// Convert to tile coordinate changes\n\
|
|
163
153
|
return vec3(dx, dy, dz) * float(1 << u_cameraTileCoordinates.w);\n\
|
|
164
154
|
}\n\
|
|
@@ -33,6 +33,7 @@ import SkyBox from "../Scene/SkyBox.js";
|
|
|
33
33
|
import Sun from "../Scene/Sun.js";
|
|
34
34
|
import TimeDynamicPointCloud from "../Scene/TimeDynamicPointCloud.js";
|
|
35
35
|
import VoxelPrimitive from "../Scene/VoxelPrimitive.js";
|
|
36
|
+
import BufferPrimitiveCollection from "../Scene/BufferPrimitiveCollection.js";
|
|
36
37
|
|
|
37
38
|
function trackDataSourceClock(clock, dataSource) {
|
|
38
39
|
if (defined(dataSource)) {
|
|
@@ -1241,7 +1242,7 @@ CesiumWidget.prototype._onDataSourceRemoved = function (
|
|
|
1241
1242
|
* target will be the range. The heading will be determined from the offset. If the heading cannot be
|
|
1242
1243
|
* determined from the offset, the heading will be north.</p>
|
|
1243
1244
|
*
|
|
1244
|
-
* @param {Entity|Entity[]|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|Promise<Entity|Entity[]|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive
|
|
1245
|
+
* @param {Entity|Entity[]|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|Promise<Entity|Entity[]|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive|BufferPrimitiveCollection<BufferPrimitive>>} target The entity, array of entities, entity collection, data source, Cesium3DTileset, point cloud, or imagery layer to view. You can also pass a promise that resolves to one of the previously mentioned types.
|
|
1245
1246
|
* @param {HeadingPitchRange} [offset] The offset from the center of the entity in the local east-north-up reference frame.
|
|
1246
1247
|
* @returns {Promise<boolean>} A Promise that resolves to true if the zoom was successful or false if the target is not currently visualized in the scene or the zoom was cancelled.
|
|
1247
1248
|
*/
|
|
@@ -1267,7 +1268,7 @@ CesiumWidget.prototype.zoomTo = function (target, offset) {
|
|
|
1267
1268
|
* target will be the range. The heading will be determined from the offset. If the heading cannot be
|
|
1268
1269
|
* determined from the offset, the heading will be north.</p>
|
|
1269
1270
|
*
|
|
1270
|
-
* @param {Entity|Entity[]|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|Promise<Entity|Entity[]|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive
|
|
1271
|
+
* @param {Entity|Entity[]|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|Promise<Entity|Entity[]|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud|VoxelPrimitive|BufferPrimitiveCollection<BufferPrimitive>>} target The entity, array of entities, entity collection, data source, Cesium3DTileset, point cloud, or imagery layer to view. You can also pass a promise that resolves to one of the previously mentioned types.
|
|
1271
1272
|
* @param {object} [options] Object with the following properties:
|
|
1272
1273
|
* @param {number} [options.duration=3.0] The duration of the flight in seconds.
|
|
1273
1274
|
* @param {number} [options.maximumHeight] The maximum height at the peak of the flight.
|
|
@@ -1336,7 +1337,8 @@ function zoomToOrFly(that, zoomTarget, options, isFlight) {
|
|
|
1336
1337
|
if (
|
|
1337
1338
|
zoomTarget instanceof Cesium3DTileset ||
|
|
1338
1339
|
zoomTarget instanceof TimeDynamicPointCloud ||
|
|
1339
|
-
zoomTarget instanceof VoxelPrimitive
|
|
1340
|
+
zoomTarget instanceof VoxelPrimitive ||
|
|
1341
|
+
zoomTarget instanceof BufferPrimitiveCollection
|
|
1340
1342
|
) {
|
|
1341
1343
|
that._zoomTarget = zoomTarget;
|
|
1342
1344
|
return;
|
|
@@ -1439,7 +1441,7 @@ function updateZoomTarget(widget) {
|
|
|
1439
1441
|
};
|
|
1440
1442
|
|
|
1441
1443
|
if (widget._zoomIsFlight) {
|
|
1442
|
-
camera.flyToBoundingSphere(
|
|
1444
|
+
camera.flyToBoundingSphere(boundingSphere, options);
|
|
1443
1445
|
} else {
|
|
1444
1446
|
camera.viewBoundingSphere(boundingSphere, zoomOptions.offset);
|
|
1445
1447
|
camera.lookAtTransform(Matrix4.IDENTITY);
|
|
@@ -1472,6 +1474,11 @@ function updateZoomTarget(widget) {
|
|
|
1472
1474
|
return;
|
|
1473
1475
|
}
|
|
1474
1476
|
|
|
1477
|
+
if (target instanceof BufferPrimitiveCollection) {
|
|
1478
|
+
zoomToBoundingSphere(target.boundingVolume);
|
|
1479
|
+
return;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1475
1482
|
// If zoomTarget was an ImageryLayer
|
|
1476
1483
|
if (target instanceof Cartographic) {
|
|
1477
1484
|
options = {
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// Draco API uses many capitalized non-constructor methods.
|
|
2
|
+
/* eslint-disable new-cap */
|
|
3
|
+
|
|
1
4
|
import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
|
|
2
5
|
import defined from "../Core/defined.js";
|
|
3
6
|
import WebMercatorProjection from "../Core/WebMercatorProjection.js";
|
|
@@ -808,8 +811,8 @@ function generateGltfBuffer(
|
|
|
808
811
|
componentType: 5126,
|
|
809
812
|
count: meshPositions.length / 3,
|
|
810
813
|
type: "VEC3",
|
|
811
|
-
|
|
812
|
-
|
|
814
|
+
min: [minX, minY, minZ],
|
|
815
|
+
max: [maxX, maxY, maxZ],
|
|
813
816
|
});
|
|
814
817
|
|
|
815
818
|
// NORMALS
|