@cesium/engine 14.0.0 → 16.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-WVNLSTOF.js → chunk-2TQ64T4I.js} +2 -2
- package/Build/Workers/{chunk-ED6GLQTK.js → chunk-34EWMUFG.js} +1 -1
- package/Build/Workers/{chunk-HEZHXDYB.js → chunk-4LHK6E47.js} +1 -1
- package/Build/Workers/{chunk-7EO56M5R.js → chunk-5TN3LG2T.js} +2 -2
- package/Build/Workers/{chunk-7ZB2RVIQ.js → chunk-6B7KGA5P.js} +16 -19
- package/Build/Workers/{chunk-3QLSKXKF.js → chunk-B75OO2DU.js} +7 -10
- package/Build/Workers/{chunk-Q4ZVWJXX.js → chunk-COOLDICB.js} +9 -11
- package/Build/Workers/{chunk-3PIZQT3I.js → chunk-CQNYYX3N.js} +4 -4
- package/Build/Workers/{chunk-JPDKYBLF.js → chunk-CUJH7PS5.js} +27 -29
- package/Build/Workers/{chunk-CI2HEJFC.js → chunk-EAWYQ44R.js} +39 -41
- package/Build/Workers/{chunk-SDIDRZDG.js → chunk-EJJDBH5W.js} +7 -7
- package/Build/Workers/{chunk-5KWRW7YL.js → chunk-EO44CO62.js} +2 -2
- package/Build/Workers/{chunk-N2XAJBC6.js → chunk-EOIUWEAK.js} +26 -28
- package/Build/Workers/{chunk-YJX7X577.js → chunk-ERKJ7IWJ.js} +21 -23
- package/Build/Workers/{chunk-J7IH4EYI.js → chunk-ESED7XBA.js} +13 -16
- package/Build/Workers/{chunk-F4CUH4MR.js → chunk-FW2OX42E.js} +18 -21
- package/Build/Workers/{chunk-FX4R4MTH.js → chunk-GH6I7PBY.js} +6 -9
- package/Build/Workers/{chunk-FYGLNDKG.js → chunk-GQVSADCI.js} +19 -22
- package/Build/Workers/{chunk-TY4DKOWR.js → chunk-ICU72UPR.js} +4 -4
- package/Build/Workers/{chunk-DT5NFR5C.js → chunk-ILVAXLMC.js} +7 -7
- package/Build/Workers/{chunk-ZGFIT57T.js → chunk-KKV6XBF5.js} +27 -23
- package/Build/Workers/{chunk-HKHQ3EDR.js → chunk-KV6TEHXY.js} +4 -4
- package/Build/Workers/{chunk-B4GSRXE3.js → chunk-LCSH4ZOB.js} +7 -10
- package/Build/Workers/{chunk-LNSWJ43X.js → chunk-M5J3S3HY.js} +17 -26
- package/Build/Workers/{chunk-LJBJM6VI.js → chunk-NB6D74SQ.js} +6 -6
- package/Build/Workers/{chunk-4CHMVQTQ.js → chunk-NREPBWCX.js} +14 -14
- package/Build/Workers/{chunk-PWF4EY5P.js → chunk-OD4Q7HE5.js} +4 -4
- package/Build/Workers/{chunk-77XPS7ZA.js → chunk-OMFZ4IN6.js} +15 -24
- package/Build/Workers/{chunk-HUFQVUMY.js → chunk-OMZGZVHI.js} +12 -17
- package/Build/Workers/{chunk-LOZ4NKY3.js → chunk-ORIMMEHO.js} +18 -20
- package/Build/Workers/{chunk-5S5OOA6U.js → chunk-OWLBD6BL.js} +1 -1
- package/Build/Workers/{chunk-VCNOFQYH.js → chunk-PB6SE3SZ.js} +9 -12
- package/Build/Workers/{chunk-3JBEPBPL.js → chunk-PT6U7UNY.js} +25 -30
- package/Build/Workers/{chunk-G3BVMPWG.js → chunk-RWAFHSX3.js} +2 -2
- package/Build/Workers/{chunk-KHWLAQVA.js → chunk-S2NKKWYE.js} +1 -1
- package/Build/Workers/{chunk-FFBJDW4A.js → chunk-S3IQBSIB.js} +6 -6
- package/Build/Workers/{chunk-3LYROPON.js → chunk-SCUQTTCN.js} +16 -19
- package/Build/Workers/{chunk-ZMNLEL6W.js → chunk-TBSA4MNF.js} +5 -8
- package/Build/Workers/{chunk-EWDGNOJE.js → chunk-TEUGW455.js} +9 -12
- package/Build/Workers/{chunk-XK4OP6VA.js → chunk-TL5YKZJF.js} +33 -41
- package/Build/Workers/{chunk-KM6MITPF.js → chunk-V4Y7C25O.js} +46 -42
- package/Build/Workers/{chunk-OMXHEJTK.js → chunk-VNDECE6N.js} +2 -2
- package/Build/Workers/{chunk-LS3KVHYY.js → chunk-VVTAI2TN.js} +6 -9
- package/Build/Workers/{chunk-WEHZP4SE.js → chunk-VXAAIRJ7.js} +129 -146
- package/Build/Workers/{chunk-MVM4JV5U.js → chunk-WGIOUM2S.js} +9 -12
- package/Build/Workers/{chunk-JHBPC4LK.js → chunk-XF6EBVKV.js} +7 -7
- package/Build/Workers/{chunk-D7ZBZPHV.js → chunk-XMKE4XB2.js} +5 -5
- package/Build/Workers/{chunk-7UHKH6M3.js → chunk-YA4XALD5.js} +34 -36
- package/Build/Workers/{chunk-KSYBJA4M.js → chunk-YFXXUW6U.js} +6 -12
- package/Build/Workers/{chunk-Z3QWTHI7.js → chunk-YL26OJCG.js} +21 -23
- package/Build/Workers/{chunk-K4AH3TDT.js → chunk-ZLJDDRGB.js} +14 -17
- package/Build/Workers/combineGeometry.js +21 -22
- package/Build/Workers/createBoxGeometry.js +15 -16
- package/Build/Workers/createBoxOutlineGeometry.js +20 -25
- package/Build/Workers/createCircleGeometry.js +26 -28
- package/Build/Workers/createCircleOutlineGeometry.js +19 -21
- package/Build/Workers/createCoplanarPolygonGeometry.js +38 -42
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +34 -36
- package/Build/Workers/createCorridorGeometry.js +42 -49
- package/Build/Workers/createCorridorOutlineGeometry.js +36 -43
- package/Build/Workers/createCylinderGeometry.js +17 -18
- package/Build/Workers/createCylinderOutlineGeometry.js +23 -25
- package/Build/Workers/createEllipseGeometry.js +23 -24
- package/Build/Workers/createEllipseOutlineGeometry.js +16 -17
- package/Build/Workers/createEllipsoidGeometry.js +16 -17
- package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -16
- package/Build/Workers/createFrustumGeometry.js +15 -16
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -21
- package/Build/Workers/createGeometry.js +22 -25
- package/Build/Workers/createGroundPolylineGeometry.js +34 -42
- package/Build/Workers/createPlaneGeometry.js +19 -21
- package/Build/Workers/createPlaneOutlineGeometry.js +12 -13
- package/Build/Workers/createPolygonGeometry.js +45 -50
- package/Build/Workers/createPolygonOutlineGeometry.js +39 -44
- package/Build/Workers/createPolylineGeometry.js +33 -40
- package/Build/Workers/createPolylineVolumeGeometry.js +37 -44
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -39
- package/Build/Workers/createRectangleGeometry.js +41 -51
- package/Build/Workers/createRectangleOutlineGeometry.js +28 -33
- package/Build/Workers/createSimplePolylineGeometry.js +29 -34
- package/Build/Workers/createSphereGeometry.js +17 -20
- package/Build/Workers/createSphereOutlineGeometry.js +16 -19
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +12 -13
- package/Build/Workers/createVectorTileGeometries.js +21 -22
- package/Build/Workers/createVectorTilePoints.js +11 -12
- package/Build/Workers/createVectorTilePolygons.js +19 -20
- package/Build/Workers/createVectorTilePolylines.js +12 -13
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -23
- package/Build/Workers/createVerticesFromHeightmap.js +31 -58
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -18
- package/Build/Workers/createWallGeometry.js +30 -35
- package/Build/Workers/createWallOutlineGeometry.js +28 -33
- package/Build/Workers/decodeDraco.js +10 -11
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +10 -16
- package/Build/Workers/transcodeKTX2.js +50 -46
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -20
- package/Source/Core/ApproximateTerrainHeights.js +2 -3
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +6 -6
- package/Source/Core/AxisAlignedBoundingBox.js +2 -3
- package/Source/Core/BingMapsGeocoderService.js +2 -2
- package/Source/Core/BoundingRectangle.js +7 -8
- package/Source/Core/BoundingSphere.js +10 -11
- package/Source/Core/BoxGeometry.js +7 -7
- package/Source/Core/BoxOutlineGeometry.js +7 -9
- package/Source/Core/Cartesian2.js +4 -5
- package/Source/Core/Cartesian3.js +7 -8
- package/Source/Core/Cartesian4.js +6 -7
- package/Source/Core/Cartographic.js +5 -6
- package/Source/Core/CatmullRomSpline.js +2 -2
- package/Source/Core/CesiumTerrainProvider.js +11 -14
- package/Source/Core/CircleGeometry.js +2 -2
- package/Source/Core/CircleOutlineGeometry.js +2 -2
- package/Source/Core/Clock.js +7 -10
- package/Source/Core/Color.js +28 -28
- package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
- package/Source/Core/ComponentDatatype.js +4 -6
- package/Source/Core/CoplanarPolygonGeometry.js +8 -10
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
- package/Source/Core/CorridorGeometry.js +15 -20
- package/Source/Core/CorridorOutlineGeometry.js +10 -15
- package/Source/Core/Credit.js +1 -2
- package/Source/Core/CullingVolume.js +1 -2
- package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
- package/Source/Core/CylinderGeometry.js +7 -7
- package/Source/Core/CylinderOutlineGeometry.js +7 -7
- package/Source/Core/DistanceDisplayCondition.js +4 -5
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
- package/Source/Core/EarthOrientationParameters.js +4 -4
- package/Source/Core/EllipseGeometry.js +17 -23
- package/Source/Core/EllipseOutlineGeometry.js +12 -15
- package/Source/Core/Ellipsoid.js +7 -8
- package/Source/Core/EllipsoidGeodesic.js +1 -2
- package/Source/Core/EllipsoidGeometry.js +15 -15
- package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
- package/Source/Core/EllipsoidRhumbLine.js +3 -4
- package/Source/Core/EllipsoidTangentPlane.js +1 -2
- package/Source/Core/EllipsoidTerrainProvider.js +4 -4
- package/Source/Core/EllipsoidalOccluder.js +2 -3
- package/Source/Core/FeatureDetection.js +1 -2
- package/Source/Core/Frozen.js +24 -0
- package/Source/Core/FrustumGeometry.js +7 -8
- package/Source/Core/FrustumOutlineGeometry.js +3 -4
- package/Source/Core/GeographicProjection.js +1 -2
- package/Source/Core/GeographicTilingScheme.js +6 -12
- package/Source/Core/Geometry.js +4 -7
- package/Source/Core/GeometryAttribute.js +3 -3
- package/Source/Core/GeometryAttributes.js +2 -2
- package/Source/Core/GeometryInstance.js +4 -6
- package/Source/Core/GeometryInstanceAttribute.js +3 -3
- package/Source/Core/GeometryPipeline.js +3 -4
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
- package/Source/Core/GoogleGeocoderService.js +2 -2
- package/Source/Core/GregorianDate.js +8 -9
- package/Source/Core/GroundPolylineGeometry.js +8 -8
- package/Source/Core/HeadingPitchRange.js +3 -4
- package/Source/Core/HeadingPitchRoll.js +3 -4
- package/Source/Core/Heap.js +3 -4
- package/Source/Core/HeightmapTerrainData.js +22 -38
- package/Source/Core/HeightmapTessellator.js +21 -37
- package/Source/Core/HermitePolynomialApproximation.js +1 -2
- package/Source/Core/HermiteSpline.js +5 -5
- package/Source/Core/ITwinPlatform.js +66 -12
- package/Source/Core/Iau2006XysData.js +8 -10
- package/Source/Core/IntersectionTests.js +1 -2
- package/Source/Core/Interval.js +2 -4
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +6 -10
- package/Source/Core/IonResource.js +6 -6
- package/Source/Core/JulianDate.js +11 -12
- package/Source/Core/LinearSpline.js +2 -2
- package/Source/Core/ManagedArray.js +2 -3
- package/Source/Core/Math.js +36 -27
- package/Source/Core/Matrix2.js +7 -8
- package/Source/Core/Matrix3.js +12 -13
- package/Source/Core/Matrix4.js +28 -28
- package/Source/Core/MorphWeightSpline.js +2 -2
- package/Source/Core/NearFarScalar.js +6 -7
- package/Source/Core/Occluder.js +1 -2
- package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
- package/Source/Core/OpenCageGeocoderService.js +1 -2
- package/Source/Core/OrientedBoundingBox.js +7 -8
- package/Source/Core/OrthographicFrustum.js +6 -6
- package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
- package/Source/Core/PerspectiveFrustum.js +8 -8
- package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
- package/Source/Core/PlaneGeometry.js +5 -5
- package/Source/Core/PolygonGeometry.js +16 -19
- package/Source/Core/PolygonGeometryLibrary.js +27 -6
- package/Source/Core/PolygonOutlineGeometry.js +11 -14
- package/Source/Core/PolygonPipeline.js +5 -6
- package/Source/Core/PolylineGeometry.js +10 -15
- package/Source/Core/PolylinePipeline.js +7 -14
- package/Source/Core/PolylineVolumeGeometry.js +8 -13
- package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
- package/Source/Core/QuantizedMeshTerrainData.js +12 -16
- package/Source/Core/Quaternion.js +7 -8
- package/Source/Core/QuaternionSpline.js +2 -2
- package/Source/Core/Ray.js +2 -3
- package/Source/Core/Rectangle.js +18 -19
- package/Source/Core/RectangleGeometry.js +17 -25
- package/Source/Core/RectangleGeometryLibrary.js +1 -1
- package/Source/Core/RectangleOutlineGeometry.js +10 -13
- package/Source/Core/Request.js +6 -6
- package/Source/Core/RequestScheduler.js +4 -6
- package/Source/Core/Resource.js +13 -16
- package/Source/Core/S2Cell.js +2 -3
- package/Source/Core/ScreenSpaceEventHandler.js +1 -2
- package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
- package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
- package/Source/Core/SimplePolylineGeometry.js +8 -11
- package/Source/Core/SphereGeometry.js +1 -2
- package/Source/Core/SphereOutlineGeometry.js +1 -2
- package/Source/Core/Spherical.js +4 -5
- package/Source/Core/Spline.js +1 -2
- package/Source/Core/SteppedSpline.js +2 -2
- package/Source/Core/TaskProcessor.js +2 -9
- package/Source/Core/TerrainData.js +1 -1
- package/Source/Core/TerrainEncoding.js +4 -11
- package/Source/Core/TerrainMesh.js +1 -3
- package/Source/Core/TerrainProvider.js +1 -1
- package/Source/Core/TexturePacker.js +166 -0
- package/Source/Core/TileProviderError.js +1 -2
- package/Source/Core/TimeInterval.js +7 -7
- package/Source/Core/TimeIntervalCollection.js +7 -7
- package/Source/Core/Tipsify.js +5 -5
- package/Source/Core/Transforms.js +10 -15
- package/Source/Core/TranslationRotationScale.js +3 -6
- package/Source/Core/VRTheWorldTerrainProvider.js +5 -5
- package/Source/Core/VertexFormat.js +10 -10
- package/Source/Core/VerticalExaggeration.js +1 -1
- package/Source/Core/VideoSynchronizer.js +6 -6
- package/Source/Core/WallGeometry.js +8 -11
- package/Source/Core/WallOutlineGeometry.js +7 -10
- package/Source/Core/WebMercatorProjection.js +1 -2
- package/Source/Core/WebMercatorTilingScheme.js +5 -11
- package/Source/Core/arrayRemoveDuplicates.js +1 -2
- package/Source/Core/clone.js +1 -3
- package/Source/Core/combine.js +1 -2
- package/Source/Core/createWorldBathymetryAsync.js +3 -3
- package/Source/Core/createWorldTerrainAsync.js +4 -4
- package/Source/Core/defaultValue.js +20 -1
- package/Source/Core/destroyObject.js +1 -5
- package/Source/Core/getAbsoluteUri.js +1 -2
- package/Source/Core/getMagic.js +1 -2
- package/Source/Core/getStringFromTypedArray.js +2 -3
- package/Source/Core/loadImageFromTypedArray.js +2 -6
- package/Source/Core/oneTimeWarning.js +1 -2
- package/Source/Core/writeTextToCanvas.js +10 -13
- package/Source/DataSources/BillboardGraphics.js +27 -53
- package/Source/DataSources/BillboardVisualizer.js +3 -3
- package/Source/DataSources/BoxGraphics.js +13 -18
- package/Source/DataSources/CallbackPositionProperty.js +1 -2
- package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
- package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
- package/Source/DataSources/CompositePositionProperty.js +1 -2
- package/Source/DataSources/ConstantPositionProperty.js +1 -2
- package/Source/DataSources/CorridorGraphics.js +23 -35
- package/Source/DataSources/CylinderGraphics.js +18 -25
- package/Source/DataSources/CzmlDataSource.js +34 -60
- package/Source/DataSources/DataSourceClock.js +12 -13
- package/Source/DataSources/DataSourceCollection.js +2 -3
- package/Source/DataSources/DataSourceDisplay.js +2 -5
- package/Source/DataSources/EllipseGraphics.js +26 -40
- package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
- package/Source/DataSources/EllipsoidGraphics.js +21 -32
- package/Source/DataSources/Entity.js +7 -9
- package/Source/DataSources/EntityCluster.js +53 -28
- package/Source/DataSources/EntityView.js +1 -2
- package/Source/DataSources/GeoJsonDataSource.js +12 -12
- package/Source/DataSources/GeometryUpdater.js +12 -17
- package/Source/DataSources/GeometryVisualizer.js +2 -3
- package/Source/DataSources/GpxDataSource.js +4 -7
- package/Source/DataSources/GridMaterialProperty.js +2 -2
- package/Source/DataSources/GroundGeometryUpdater.js +1 -2
- package/Source/DataSources/ImageMaterialProperty.js +2 -2
- package/Source/DataSources/KmlDataSource.js +84 -158
- package/Source/DataSources/LabelGraphics.js +27 -56
- package/Source/DataSources/LabelVisualizer.js +1 -2
- package/Source/DataSources/ModelGraphics.js +29 -63
- package/Source/DataSources/ModelVisualizer.js +1 -2
- package/Source/DataSources/NodeTransformationProperty.js +2 -2
- package/Source/DataSources/PathGraphics.js +10 -12
- package/Source/DataSources/PlaneGraphics.js +13 -15
- package/Source/DataSources/PointGraphics.js +17 -32
- package/Source/DataSources/PolygonGraphics.js +28 -45
- package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
- package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineGraphics.js +16 -23
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineVisualizer.js +2 -3
- package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
- package/Source/DataSources/PositionPropertyArray.js +1 -2
- package/Source/DataSources/Property.js +1 -2
- package/Source/DataSources/PropertyBag.js +1 -2
- package/Source/DataSources/RectangleGraphics.js +23 -35
- package/Source/DataSources/Rotation.js +4 -5
- package/Source/DataSources/SampledPositionProperty.js +2 -3
- package/Source/DataSources/SampledProperty.js +6 -11
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
- package/Source/DataSources/StripeMaterialProperty.js +2 -2
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
- package/Source/DataSources/VelocityOrientationProperty.js +1 -2
- package/Source/DataSources/VelocityVectorProperty.js +1 -2
- package/Source/DataSources/WallGraphics.js +15 -23
- package/Source/DataSources/createPropertyDescriptor.js +2 -3
- package/Source/DataSources/exportKml.js +11 -14
- package/Source/Renderer/Buffer.js +5 -5
- package/Source/Renderer/ClearCommand.js +2 -2
- package/Source/Renderer/ComputeCommand.js +3 -3
- package/Source/Renderer/Context.js +22 -37
- package/Source/Renderer/CubeMap.js +6 -6
- package/Source/Renderer/CubeMapFace.js +11 -12
- package/Source/Renderer/DrawCommand.js +14 -25
- package/Source/Renderer/Framebuffer.js +3 -3
- package/Source/Renderer/FramebufferManager.js +25 -39
- package/Source/Renderer/MultisampleFramebuffer.js +2 -2
- package/Source/Renderer/RenderState.js +63 -92
- package/Source/Renderer/Renderbuffer.js +4 -4
- package/Source/Renderer/Sampler.js +2 -2
- package/Source/Renderer/ShaderBuilder.js +2 -3
- package/Source/Renderer/ShaderProgram.js +3 -3
- package/Source/Renderer/ShaderSource.js +3 -3
- package/Source/Renderer/Texture.js +16 -15
- package/Source/Renderer/TextureAtlas.js +802 -0
- package/Source/Renderer/UniformState.js +6 -11
- package/Source/Renderer/VertexArray.js +14 -23
- package/Source/Renderer/VertexArrayFacade.js +7 -11
- package/Source/Scene/Appearance.js +4 -4
- package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/B3dmParser.js +2 -3
- package/Source/Scene/BatchTableHierarchy.js +6 -13
- package/Source/Scene/Billboard.js +105 -182
- package/Source/Scene/BillboardCollection.js +140 -224
- package/Source/Scene/BillboardLoadState.js +44 -0
- package/Source/Scene/BillboardTexture.js +348 -0
- package/Source/Scene/BingMapsImageryProvider.js +6 -6
- package/Source/Scene/BoxEmitter.js +1 -2
- package/Source/Scene/BufferLoader.js +2 -2
- package/Source/Scene/Camera.js +45 -64
- package/Source/Scene/CameraFlightPath.js +6 -6
- package/Source/Scene/Cesium3DContentGroup.js +2 -2
- package/Source/Scene/Cesium3DTile.js +3 -4
- package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
- package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
- package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
- package/Source/Scene/Cesium3DTileStyle.js +4 -7
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +419 -137
- package/Source/Scene/Cesium3DTileset.js +77 -143
- package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
- package/Source/Scene/Cesium3DTilesetStatistics.js +0 -1
- package/Source/Scene/CircleEmitter.js +2 -3
- package/Source/Scene/ClassificationPrimitive.js +15 -26
- package/Source/Scene/ClippingPlaneCollection.js +7 -12
- package/Source/Scene/ClippingPolygon.js +1 -2
- package/Source/Scene/ClippingPolygonCollection.js +4 -4
- package/Source/Scene/CloudCollection.js +9 -11
- package/Source/Scene/Composite3DTileContent.js +1 -2
- package/Source/Scene/ConeEmitter.js +1 -2
- package/Source/Scene/ContentMetadata.js +2 -2
- package/Source/Scene/CreditDisplay.js +5 -9
- package/Source/Scene/CumulusCloud.js +9 -15
- package/Source/Scene/DebugAppearance.js +7 -7
- package/Source/Scene/DebugCameraPrimitive.js +5 -5
- package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
- package/Source/Scene/DepthPlane.js +1 -2
- package/Source/Scene/DirectionalLight.js +2 -3
- package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
- package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
- package/Source/Scene/EllipsoidPrimitive.js +11 -19
- package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
- package/Source/Scene/Expression.js +1 -0
- package/Source/Scene/FrameRateMonitor.js +12 -21
- package/Source/Scene/FrustumCommands.js +2 -3
- package/Source/Scene/Geometry3DTileContent.js +9 -16
- package/Source/Scene/Globe.js +3 -4
- package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
- package/Source/Scene/GlobeTranslucencyState.js +12 -25
- package/Source/Scene/GltfBufferViewLoader.js +4 -4
- package/Source/Scene/GltfDracoLoader.js +2 -2
- package/Source/Scene/GltfImageLoader.js +2 -2
- package/Source/Scene/GltfIndexBufferLoader.js +5 -5
- package/Source/Scene/GltfJsonLoader.js +2 -2
- package/Source/Scene/GltfLoader.js +22 -37
- package/Source/Scene/GltfLoaderUtil.js +11 -11
- package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
- package/Source/Scene/GltfPipeline/addToArray.js +1 -3
- package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
- package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
- package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
- package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
- package/Source/Scene/GltfTextureLoader.js +3 -3
- package/Source/Scene/GltfVertexBufferLoader.js +5 -5
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
- package/Source/Scene/GridImageryProvider.js +10 -13
- package/Source/Scene/GroundPolylinePrimitive.js +11 -22
- package/Source/Scene/GroundPrimitive.js +13 -24
- package/Source/Scene/GroupMetadata.js +2 -2
- package/Source/Scene/I3SDataProvider.js +10 -15
- package/Source/Scene/I3SNode.js +1 -6
- package/Source/Scene/I3SSublayer.js +1 -2
- package/Source/Scene/I3SSymbology.js +2 -3
- package/Source/Scene/I3dmParser.js +1 -2
- package/Source/Scene/ITwinData.js +11 -6
- package/Source/Scene/ImageBasedLighting.js +2 -2
- package/Source/Scene/ImageryLayer.js +42 -71
- package/Source/Scene/ImageryLayerCollection.js +2 -3
- package/Source/Scene/Implicit3DTileContent.js +3 -4
- package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
- package/Source/Scene/ImplicitMetadataView.js +2 -2
- package/Source/Scene/ImplicitSubtree.js +10 -15
- package/Source/Scene/ImplicitSubtreeCache.js +3 -3
- package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
- package/Source/Scene/InstanceAttributeSemantic.js +1 -1
- package/Source/Scene/IonImageryProvider.js +3 -3
- package/Source/Scene/KeyframeNode.js +16 -2
- package/Source/Scene/Label.js +19 -36
- package/Source/Scene/LabelCollection.js +218 -196
- package/Source/Scene/MapboxImageryProvider.js +4 -4
- package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
- package/Source/Scene/Material.js +14 -20
- package/Source/Scene/MaterialAppearance.js +12 -18
- package/Source/Scene/Megatexture.js +145 -82
- package/Source/Scene/MetadataClass.js +4 -4
- package/Source/Scene/MetadataClassProperty.js +11 -14
- package/Source/Scene/MetadataEnum.js +4 -7
- package/Source/Scene/MetadataEnumValue.js +2 -2
- package/Source/Scene/MetadataSchema.js +4 -4
- package/Source/Scene/MetadataSchemaLoader.js +2 -2
- package/Source/Scene/MetadataTable.js +2 -2
- package/Source/Scene/MetadataTableProperty.js +17 -31
- package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
- package/Source/Scene/Model/B3dmLoader.js +15 -26
- package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
- package/Source/Scene/Model/CustomShader.js +10 -14
- package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
- package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
- package/Source/Scene/Model/GeoJsonLoader.js +5 -8
- package/Source/Scene/Model/I3dmLoader.js +13 -21
- package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
- package/Source/Scene/Model/Model.js +41 -63
- package/Source/Scene/Model/ModelAnimation.js +5 -6
- package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
- package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
- package/Source/Scene/Model/ModelArticulation.js +2 -2
- package/Source/Scene/Model/ModelArticulationStage.js +2 -2
- package/Source/Scene/Model/ModelDrawCommand.js +3 -3
- package/Source/Scene/Model/ModelFeatureTable.js +3 -9
- package/Source/Scene/Model/ModelLightingOptions.js +3 -3
- package/Source/Scene/Model/ModelNode.js +1 -1
- package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
- package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
- package/Source/Scene/Model/ModelSceneGraph.js +2 -2
- package/Source/Scene/Model/ModelSkin.js +2 -2
- package/Source/Scene/Model/ModelUtility.js +5 -1
- package/Source/Scene/Model/PickingPipelineStage.js +1 -2
- package/Source/Scene/Model/PntsLoader.js +6 -6
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
- package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
- package/Source/Scene/Model/TextureUniform.js +5 -8
- package/Source/Scene/Model/VaryingType.js +2 -2
- package/Source/Scene/Model/pickModel.js +4 -5
- package/Source/Scene/Moon.js +5 -5
- package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
- package/Source/Scene/Particle.js +11 -17
- package/Source/Scene/ParticleBurst.js +5 -5
- package/Source/Scene/ParticleSystem.js +24 -54
- package/Source/Scene/PerInstanceColorAppearance.js +8 -8
- package/Source/Scene/PerformanceDisplay.js +3 -3
- package/Source/Scene/PickFramebuffer.js +4 -5
- package/Source/Scene/Picking.js +3 -4
- package/Source/Scene/PntsParser.js +1 -2
- package/Source/Scene/PointCloud.js +6 -12
- package/Source/Scene/PointCloudShading.js +9 -18
- package/Source/Scene/PointPrimitive.js +11 -21
- package/Source/Scene/PointPrimitiveCollection.js +6 -14
- package/Source/Scene/Polyline.js +5 -5
- package/Source/Scene/PolylineCollection.js +5 -10
- package/Source/Scene/PolylineColorAppearance.js +7 -11
- package/Source/Scene/PolylineMaterialAppearance.js +7 -11
- package/Source/Scene/PostProcessStage.js +2 -2
- package/Source/Scene/PostProcessStageComposite.js +3 -6
- package/Source/Scene/Primitive.js +21 -42
- package/Source/Scene/PrimitiveCollection.js +4 -4
- package/Source/Scene/PrimitivePipeline.js +1 -2
- package/Source/Scene/PropertyAttribute.js +2 -2
- package/Source/Scene/PropertyAttributeProperty.js +4 -4
- package/Source/Scene/PropertyTable.js +2 -2
- package/Source/Scene/PropertyTexture.js +2 -2
- package/Source/Scene/PropertyTextureProperty.js +4 -4
- package/Source/Scene/QuadtreePrimitive.js +84 -66
- package/Source/Scene/QuadtreeTile.js +170 -0
- package/Source/Scene/ResourceCache.js +11 -11
- package/Source/Scene/ResourceCacheKey.js +11 -11
- package/Source/Scene/Scene.js +66 -40
- package/Source/Scene/ScreenSpaceCameraController.js +10 -20
- package/Source/Scene/ShadowMap.js +15 -15
- package/Source/Scene/ShadowVolumeAppearance.js +1 -2
- package/Source/Scene/SingleTileImageryProvider.js +4 -4
- package/Source/Scene/SkyAtmosphere.js +1 -2
- package/Source/Scene/SkyBox.js +1 -2
- package/Source/Scene/SpatialNode.js +4 -11
- package/Source/Scene/SphereEmitter.js +2 -3
- package/Source/Scene/StructuralMetadata.js +2 -2
- package/Source/Scene/SunLight.js +4 -4
- package/Source/Scene/SupportedImageFormats.js +4 -4
- package/Source/Scene/TileBoundingRegion.js +4 -5
- package/Source/Scene/TileBoundingS2Cell.js +3 -4
- package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
- package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
- package/Source/Scene/TileMetadata.js +2 -2
- package/Source/Scene/TilesetMetadata.js +2 -2
- package/Source/Scene/TimeDynamicImagery.js +2 -2
- package/Source/Scene/TimeDynamicPointCloud.js +8 -10
- package/Source/Scene/TweenCollection.js +13 -16
- package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
- package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
- package/Source/Scene/Vector3DTileContent.js +16 -20
- package/Source/Scene/Vector3DTileGeometry.js +1 -2
- package/Source/Scene/Vector3DTilePoints.js +2 -5
- package/Source/Scene/Vector3DTilePolygons.js +2 -3
- package/Source/Scene/Vector3DTilePolylines.js +1 -2
- package/Source/Scene/Vector3DTilePrimitive.js +9 -13
- package/Source/Scene/VoxelBoxShape.js +14 -8
- package/Source/Scene/VoxelCell.js +6 -5
- package/Source/Scene/VoxelContent.js +171 -107
- package/Source/Scene/VoxelCylinderShape.js +69 -69
- package/Source/Scene/VoxelEllipsoidShape.js +17 -8
- package/Source/Scene/VoxelMetadataOrder.js +24 -0
- package/Source/Scene/VoxelPrimitive.js +134 -79
- package/Source/Scene/VoxelProvider.js +22 -29
- package/Source/Scene/VoxelRenderResources.js +26 -7
- package/Source/Scene/VoxelShape.js +10 -3
- package/Source/Scene/VoxelTraversal.js +260 -180
- package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
- package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
- package/Source/Scene/createElevationBandMaterial.js +4 -4
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
- package/Source/Scene/createOsmBuildingsAsync.js +3 -6
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
- package/Source/Scene/createWorldImageryAsync.js +3 -3
- package/Source/Scene/findContentMetadata.js +2 -5
- package/Source/Scene/findTileMetadata.js +2 -5
- package/Source/Scene/parseBatchTable.js +1 -5
- package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
- package/Source/Scene/parseStructuralMetadata.js +2 -2
- package/Source/Scene/processVoxelProperties.js +3 -0
- package/Source/Shaders/GlobeFS.glsl +10 -1
- package/Source/Shaders/GlobeFS.js +10 -1
- package/Source/Shaders/Voxels/Megatexture.glsl +4 -16
- package/Source/Shaders/Voxels/Megatexture.js +4 -16
- package/Source/Shaders/Voxels/Octree.glsl +44 -7
- package/Source/Shaders/Voxels/Octree.js +44 -7
- package/Source/Shaders/Voxels/VoxelFS.glsl +9 -15
- package/Source/Shaders/Voxels/VoxelFS.js +9 -15
- package/Source/Shaders/Voxels/convertUvToCylinder.glsl +15 -15
- package/Source/Shaders/Voxels/convertUvToCylinder.js +15 -15
- package/Source/Widget/CesiumWidget.js +17 -25
- package/Source/Workers/createGeometry.js +1 -2
- package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
- package/Source/Workers/decodeI3S.js +1 -5
- package/Source/Workers/transcodeKTX2.js +1 -2
- package/index.d.ts +231 -92
- package/index.js +315 -310
- package/package.json +3 -3
- package/Build/Workers/chunk-TVL3F7IU.js +0 -39
- package/Source/Scene/TextureAtlas.js +0 -558
|
@@ -2,30 +2,32 @@ import buildVoxelDrawCommands from "./buildVoxelDrawCommands.js";
|
|
|
2
2
|
import Cartesian2 from "../Core/Cartesian2.js";
|
|
3
3
|
import Cartesian3 from "../Core/Cartesian3.js";
|
|
4
4
|
import Cartesian4 from "../Core/Cartesian4.js";
|
|
5
|
+
import Cartographic from "../Core/Cartographic.js";
|
|
6
|
+
import Cesium3DTilesetStatistics from "./Cesium3DTilesetStatistics.js";
|
|
5
7
|
import CesiumMath from "../Core/Math.js";
|
|
6
8
|
import Check from "../Core/Check.js";
|
|
7
|
-
import clone from "../Core/clone.js";
|
|
8
9
|
import Color from "../Core/Color.js";
|
|
9
|
-
import
|
|
10
|
+
import ClippingPlaneCollection from "./ClippingPlaneCollection.js";
|
|
11
|
+
import clone from "../Core/clone.js";
|
|
12
|
+
import CustomShader from "./Model/CustomShader.js";
|
|
13
|
+
import Frozen from "../Core/Frozen.js";
|
|
10
14
|
import defined from "../Core/defined.js";
|
|
11
15
|
import destroyObject from "../Core/destroyObject.js";
|
|
16
|
+
import Ellipsoid from "../Core/Ellipsoid.js";
|
|
12
17
|
import Event from "../Core/Event.js";
|
|
13
18
|
import JulianDate from "../Core/JulianDate.js";
|
|
19
|
+
import Material from "./Material.js";
|
|
14
20
|
import Matrix3 from "../Core/Matrix3.js";
|
|
15
21
|
import Matrix4 from "../Core/Matrix4.js";
|
|
16
|
-
import oneTimeWarning from "../Core/oneTimeWarning.js";
|
|
17
|
-
import ClippingPlaneCollection from "./ClippingPlaneCollection.js";
|
|
18
|
-
import Material from "./Material.js";
|
|
19
22
|
import MetadataComponentType from "./MetadataComponentType.js";
|
|
20
23
|
import MetadataType from "./MetadataType.js";
|
|
24
|
+
import oneTimeWarning from "../Core/oneTimeWarning.js";
|
|
21
25
|
import PolylineCollection from "./PolylineCollection.js";
|
|
26
|
+
import VerticalExaggeration from "../Core/VerticalExaggeration.js";
|
|
27
|
+
import VoxelContent from "./VoxelContent.js";
|
|
22
28
|
import VoxelShapeType from "./VoxelShapeType.js";
|
|
23
29
|
import VoxelTraversal from "./VoxelTraversal.js";
|
|
24
|
-
import
|
|
25
|
-
import Cartographic from "../Core/Cartographic.js";
|
|
26
|
-
import Ellipsoid from "../Core/Ellipsoid.js";
|
|
27
|
-
import VerticalExaggeration from "../Core/VerticalExaggeration.js";
|
|
28
|
-
import Cesium3DTilesetStatistics from "./Cesium3DTilesetStatistics.js";
|
|
30
|
+
import VoxelMetadataOrder from "./VoxelMetadataOrder.js";
|
|
29
31
|
|
|
30
32
|
/**
|
|
31
33
|
* A primitive that renders voxel data from a {@link VoxelProvider}.
|
|
@@ -38,6 +40,7 @@ import Cesium3DTilesetStatistics from "./Cesium3DTilesetStatistics.js";
|
|
|
38
40
|
* @param {Matrix4} [options.modelMatrix=Matrix4.IDENTITY] The model matrix used to transform the primitive.
|
|
39
41
|
* @param {CustomShader} [options.customShader] The custom shader used to style the primitive.
|
|
40
42
|
* @param {Clock} [options.clock] The clock used to control time dynamic behavior.
|
|
43
|
+
* @param {Boolean} [options.calculateStatistics] Generate statistics for performance profile.
|
|
41
44
|
*
|
|
42
45
|
* @see VoxelProvider
|
|
43
46
|
* @see Cesium3DTilesVoxelProvider
|
|
@@ -46,7 +49,7 @@ import Cesium3DTilesetStatistics from "./Cesium3DTilesetStatistics.js";
|
|
|
46
49
|
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
47
50
|
*/
|
|
48
51
|
function VoxelPrimitive(options) {
|
|
49
|
-
options =
|
|
52
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
50
53
|
|
|
51
54
|
/**
|
|
52
55
|
* @type {boolean}
|
|
@@ -58,10 +61,7 @@ function VoxelPrimitive(options) {
|
|
|
58
61
|
* @type {VoxelProvider}
|
|
59
62
|
* @private
|
|
60
63
|
*/
|
|
61
|
-
this._provider =
|
|
62
|
-
options.provider,
|
|
63
|
-
VoxelPrimitive.DefaultProvider,
|
|
64
|
-
);
|
|
64
|
+
this._provider = options.provider ?? VoxelPrimitive.DefaultProvider;
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
67
|
* This member is not created until the provider and shape are ready.
|
|
@@ -77,6 +77,12 @@ function VoxelPrimitive(options) {
|
|
|
77
77
|
*/
|
|
78
78
|
this._statistics = new Cesium3DTilesetStatistics();
|
|
79
79
|
|
|
80
|
+
/**
|
|
81
|
+
* @type {boolean}
|
|
82
|
+
* @private
|
|
83
|
+
*/
|
|
84
|
+
this._calculateStatistics = options.calculateStatistics ?? false;
|
|
85
|
+
|
|
80
86
|
/**
|
|
81
87
|
* This member is not created until the provider is ready.
|
|
82
88
|
*
|
|
@@ -91,6 +97,22 @@ function VoxelPrimitive(options) {
|
|
|
91
97
|
*/
|
|
92
98
|
this._shapeVisible = false;
|
|
93
99
|
|
|
100
|
+
/**
|
|
101
|
+
* This member is not created until the provider is ready.
|
|
102
|
+
*
|
|
103
|
+
* @type {Cartesian3}
|
|
104
|
+
* @private
|
|
105
|
+
*/
|
|
106
|
+
this._dimensions = new Cartesian3();
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* This member is not created until the provider is ready.
|
|
110
|
+
*
|
|
111
|
+
* @type {Cartesian3}
|
|
112
|
+
* @private
|
|
113
|
+
*/
|
|
114
|
+
this._inputDimensions = new Cartesian3();
|
|
115
|
+
|
|
94
116
|
/**
|
|
95
117
|
* This member is not created until the provider is ready.
|
|
96
118
|
*
|
|
@@ -237,9 +259,7 @@ function VoxelPrimitive(options) {
|
|
|
237
259
|
* @type {Matrix4}
|
|
238
260
|
* @private
|
|
239
261
|
*/
|
|
240
|
-
this._modelMatrix = Matrix4.clone(
|
|
241
|
-
defaultValue(options.modelMatrix, Matrix4.IDENTITY),
|
|
242
|
-
);
|
|
262
|
+
this._modelMatrix = Matrix4.clone(options.modelMatrix ?? Matrix4.IDENTITY);
|
|
243
263
|
|
|
244
264
|
/**
|
|
245
265
|
* Model matrix with vertical exaggeration applied. Only used for BOX shape type.
|
|
@@ -271,10 +291,8 @@ function VoxelPrimitive(options) {
|
|
|
271
291
|
* @type {CustomShader}
|
|
272
292
|
* @private
|
|
273
293
|
*/
|
|
274
|
-
this._customShader =
|
|
275
|
-
options.customShader
|
|
276
|
-
VoxelPrimitive.DefaultCustomShader,
|
|
277
|
-
);
|
|
294
|
+
this._customShader =
|
|
295
|
+
options.customShader ?? VoxelPrimitive.DefaultCustomShader;
|
|
278
296
|
|
|
279
297
|
/**
|
|
280
298
|
* @type {Event}
|
|
@@ -418,6 +436,7 @@ function VoxelPrimitive(options) {
|
|
|
418
436
|
megatextureSliceSizeUv: new Cartesian2(),
|
|
419
437
|
megatextureTileSizeUv: new Cartesian2(),
|
|
420
438
|
dimensions: new Cartesian3(),
|
|
439
|
+
inputDimensions: new Cartesian3(),
|
|
421
440
|
paddingBefore: new Cartesian3(),
|
|
422
441
|
paddingAfter: new Cartesian3(),
|
|
423
442
|
transformPositionViewToUv: new Matrix4(),
|
|
@@ -705,7 +724,8 @@ Object.defineProperties(VoxelPrimitive.prototype, {
|
|
|
705
724
|
},
|
|
706
725
|
|
|
707
726
|
/**
|
|
708
|
-
* Gets the voxel
|
|
727
|
+
* Gets the dimensions of each voxel tile, in z-up orientation.
|
|
728
|
+
* Does not include padding.
|
|
709
729
|
*
|
|
710
730
|
* @memberof VoxelPrimitive.prototype
|
|
711
731
|
* @type {Cartesian3}
|
|
@@ -713,7 +733,46 @@ Object.defineProperties(VoxelPrimitive.prototype, {
|
|
|
713
733
|
*/
|
|
714
734
|
dimensions: {
|
|
715
735
|
get: function () {
|
|
716
|
-
return this.
|
|
736
|
+
return this._dimensions;
|
|
737
|
+
},
|
|
738
|
+
},
|
|
739
|
+
|
|
740
|
+
/**
|
|
741
|
+
* Gets the dimensions of one tile of the input voxel data, in the input orientation.
|
|
742
|
+
* Includes padding.
|
|
743
|
+
* @memberof VoxelPrimitive.prototype
|
|
744
|
+
* @type {Cartesian3}
|
|
745
|
+
* @readonly
|
|
746
|
+
*/
|
|
747
|
+
inputDimensions: {
|
|
748
|
+
get: function () {
|
|
749
|
+
return this._inputDimensions;
|
|
750
|
+
},
|
|
751
|
+
},
|
|
752
|
+
|
|
753
|
+
/**
|
|
754
|
+
* Gets the padding before the voxel data.
|
|
755
|
+
*
|
|
756
|
+
* @memberof VoxelPrimitive.prototype
|
|
757
|
+
* @type {Cartesian3}
|
|
758
|
+
* @readonly
|
|
759
|
+
*/
|
|
760
|
+
paddingBefore: {
|
|
761
|
+
get: function () {
|
|
762
|
+
return this._paddingBefore;
|
|
763
|
+
},
|
|
764
|
+
},
|
|
765
|
+
|
|
766
|
+
/**
|
|
767
|
+
* Gets the padding after the voxel data.
|
|
768
|
+
*
|
|
769
|
+
* @memberof VoxelPrimitive.prototype
|
|
770
|
+
* @type {Cartesian3}
|
|
771
|
+
* @readonly
|
|
772
|
+
*/
|
|
773
|
+
paddingAfter: {
|
|
774
|
+
get: function () {
|
|
775
|
+
return this._paddingAfter;
|
|
717
776
|
},
|
|
718
777
|
},
|
|
719
778
|
|
|
@@ -1059,9 +1118,21 @@ Object.defineProperties(VoxelPrimitive.prototype, {
|
|
|
1059
1118
|
return this._customShaderCompilationEvent;
|
|
1060
1119
|
},
|
|
1061
1120
|
},
|
|
1121
|
+
|
|
1122
|
+
/**
|
|
1123
|
+
* Loading and rendering information for requested content
|
|
1124
|
+
* To use `visited` and `numberOfTilesWithContentReady` statistics, set options._calculateStatistics` to `true` in the constructor.
|
|
1125
|
+
* @type {Cesium3DTilesetStatistics}
|
|
1126
|
+
* @readonly
|
|
1127
|
+
* @private
|
|
1128
|
+
*/
|
|
1129
|
+
statistics: {
|
|
1130
|
+
get: function () {
|
|
1131
|
+
return this._statistics;
|
|
1132
|
+
},
|
|
1133
|
+
},
|
|
1062
1134
|
});
|
|
1063
1135
|
|
|
1064
|
-
const scratchDimensions = new Cartesian3();
|
|
1065
1136
|
const scratchIntersect = new Cartesian4();
|
|
1066
1137
|
const scratchNdcAabb = new Cartesian4();
|
|
1067
1138
|
const scratchScale = new Cartesian3();
|
|
@@ -1287,7 +1358,7 @@ function updateVerticalExaggeration(primitive, frameState) {
|
|
|
1287
1358
|
(primitive._minBounds.z - relativeHeight) * exaggeration + relativeHeight;
|
|
1288
1359
|
primitive._exaggeratedMaxBounds.z =
|
|
1289
1360
|
(primitive._maxBounds.z - relativeHeight) * exaggeration + relativeHeight;
|
|
1290
|
-
} else
|
|
1361
|
+
} else {
|
|
1291
1362
|
// Apply the exaggeration via the model matrix
|
|
1292
1363
|
const exaggerationScale = Cartesian3.fromElements(
|
|
1293
1364
|
1.0,
|
|
@@ -1397,12 +1468,16 @@ function initFromProvider(primitive, provider, context) {
|
|
|
1397
1468
|
|
|
1398
1469
|
// Set uniforms that come from the provider.
|
|
1399
1470
|
// Note that minBounds and maxBounds can be set dynamically, so their uniforms aren't set here.
|
|
1400
|
-
|
|
1471
|
+
primitive._dimensions = Cartesian3.clone(
|
|
1401
1472
|
provider.dimensions,
|
|
1473
|
+
primitive._dimensions,
|
|
1474
|
+
);
|
|
1475
|
+
uniforms.dimensions = Cartesian3.clone(
|
|
1476
|
+
primitive._dimensions,
|
|
1402
1477
|
uniforms.dimensions,
|
|
1403
1478
|
);
|
|
1404
1479
|
primitive._paddingBefore = Cartesian3.clone(
|
|
1405
|
-
|
|
1480
|
+
provider.paddingBefore ?? Cartesian3.ZERO,
|
|
1406
1481
|
primitive._paddingBefore,
|
|
1407
1482
|
);
|
|
1408
1483
|
uniforms.paddingBefore = Cartesian3.clone(
|
|
@@ -1410,16 +1485,38 @@ function initFromProvider(primitive, provider, context) {
|
|
|
1410
1485
|
uniforms.paddingBefore,
|
|
1411
1486
|
);
|
|
1412
1487
|
primitive._paddingAfter = Cartesian3.clone(
|
|
1413
|
-
|
|
1414
|
-
primitive.
|
|
1488
|
+
provider.paddingAfter ?? Cartesian3.ZERO,
|
|
1489
|
+
primitive._paddingAfter,
|
|
1415
1490
|
);
|
|
1416
1491
|
uniforms.paddingAfter = Cartesian3.clone(
|
|
1417
1492
|
primitive._paddingAfter,
|
|
1418
1493
|
uniforms.paddingAfter,
|
|
1419
1494
|
);
|
|
1495
|
+
primitive._inputDimensions = Cartesian3.add(
|
|
1496
|
+
primitive._dimensions,
|
|
1497
|
+
primitive._paddingBefore,
|
|
1498
|
+
primitive._inputDimensions,
|
|
1499
|
+
);
|
|
1500
|
+
primitive._inputDimensions = Cartesian3.add(
|
|
1501
|
+
primitive._inputDimensions,
|
|
1502
|
+
primitive._paddingAfter,
|
|
1503
|
+
primitive._inputDimensions,
|
|
1504
|
+
);
|
|
1505
|
+
if (provider.metadataOrder === VoxelMetadataOrder.Y_UP) {
|
|
1506
|
+
const inputDimensionsY = primitive._inputDimensions.y;
|
|
1507
|
+
primitive._inputDimensions.y = primitive._inputDimensions.z;
|
|
1508
|
+
primitive._inputDimensions.z = inputDimensionsY;
|
|
1509
|
+
}
|
|
1510
|
+
uniforms.inputDimensions = Cartesian3.clone(
|
|
1511
|
+
primitive._inputDimensions,
|
|
1512
|
+
uniforms.inputDimensions,
|
|
1513
|
+
);
|
|
1420
1514
|
|
|
1421
1515
|
// Create the VoxelTraversal, and set related uniforms
|
|
1422
|
-
|
|
1516
|
+
const keyframeCount = provider.keyframeCount ?? 1;
|
|
1517
|
+
primitive._traversal = new VoxelTraversal(primitive, context, keyframeCount);
|
|
1518
|
+
primitive.statistics.texturesByteLength =
|
|
1519
|
+
primitive._traversal.textureMemoryByteLength;
|
|
1423
1520
|
setTraversalUniforms(primitive._traversal, uniforms);
|
|
1424
1521
|
}
|
|
1425
1522
|
|
|
@@ -1431,14 +1528,8 @@ function initFromProvider(primitive, provider, context) {
|
|
|
1431
1528
|
* @private
|
|
1432
1529
|
*/
|
|
1433
1530
|
function checkTransformAndBounds(primitive, provider) {
|
|
1434
|
-
const shapeTransform =
|
|
1435
|
-
|
|
1436
|
-
Matrix4.IDENTITY,
|
|
1437
|
-
);
|
|
1438
|
-
const globalTransform = defaultValue(
|
|
1439
|
-
provider.globalTransform,
|
|
1440
|
-
Matrix4.IDENTITY,
|
|
1441
|
-
);
|
|
1531
|
+
const shapeTransform = provider.shapeTransform ?? Matrix4.IDENTITY;
|
|
1532
|
+
const globalTransform = provider.globalTransform ?? Matrix4.IDENTITY;
|
|
1442
1533
|
|
|
1443
1534
|
// Compound model matrix = global transform * model matrix * shape transform
|
|
1444
1535
|
Matrix4.multiplyTransformation(
|
|
@@ -1556,44 +1647,6 @@ function updateShapeAndTransforms(primitive, shape, provider) {
|
|
|
1556
1647
|
return true;
|
|
1557
1648
|
}
|
|
1558
1649
|
|
|
1559
|
-
/**
|
|
1560
|
-
* Set up a VoxelTraversal based on dimensions and types from the primitive and provider
|
|
1561
|
-
* @param {VoxelPrimitive} primitive
|
|
1562
|
-
* @param {VoxelProvider} provider
|
|
1563
|
-
* @param {Context} context
|
|
1564
|
-
* @returns {VoxelTraversal}
|
|
1565
|
-
* @private
|
|
1566
|
-
*/
|
|
1567
|
-
function setupTraversal(primitive, provider, context) {
|
|
1568
|
-
const dimensions = Cartesian3.clone(provider.dimensions, scratchDimensions);
|
|
1569
|
-
Cartesian3.add(dimensions, primitive._paddingBefore, dimensions);
|
|
1570
|
-
Cartesian3.add(dimensions, primitive._paddingAfter, dimensions);
|
|
1571
|
-
|
|
1572
|
-
// It's ok for memory byte length to be undefined.
|
|
1573
|
-
// The system will choose a default memory size.
|
|
1574
|
-
const maximumTileCount = provider.maximumTileCount;
|
|
1575
|
-
const maximumTextureMemoryByteLength = defined(maximumTileCount)
|
|
1576
|
-
? VoxelTraversal.getApproximateTextureMemoryByteLength(
|
|
1577
|
-
maximumTileCount,
|
|
1578
|
-
dimensions,
|
|
1579
|
-
provider.types,
|
|
1580
|
-
provider.componentTypes,
|
|
1581
|
-
)
|
|
1582
|
-
: undefined;
|
|
1583
|
-
|
|
1584
|
-
const keyframeCount = defaultValue(provider.keyframeCount, 1);
|
|
1585
|
-
|
|
1586
|
-
return new VoxelTraversal(
|
|
1587
|
-
primitive,
|
|
1588
|
-
context,
|
|
1589
|
-
dimensions,
|
|
1590
|
-
provider.types,
|
|
1591
|
-
provider.componentTypes,
|
|
1592
|
-
keyframeCount,
|
|
1593
|
-
maximumTextureMemoryByteLength,
|
|
1594
|
-
);
|
|
1595
|
-
}
|
|
1596
|
-
|
|
1597
1650
|
/**
|
|
1598
1651
|
* Set uniforms that come from the traversal.
|
|
1599
1652
|
* @param {VoxelTraversal} traversal
|
|
@@ -1798,6 +1851,7 @@ VoxelPrimitive.prototype.destroy = function () {
|
|
|
1798
1851
|
|
|
1799
1852
|
this._pickId = this._pickId && this._pickId.destroy();
|
|
1800
1853
|
this._traversal = this._traversal && this._traversal.destroy();
|
|
1854
|
+
this.statistics.texturesByteLength = 0;
|
|
1801
1855
|
this._clippingPlanes = this._clippingPlanes && this._clippingPlanes.destroy();
|
|
1802
1856
|
|
|
1803
1857
|
return destroyObject(this);
|
|
@@ -2074,12 +2128,13 @@ function DefaultVoxelProvider() {
|
|
|
2074
2128
|
}
|
|
2075
2129
|
|
|
2076
2130
|
DefaultVoxelProvider.prototype.requestData = function (options) {
|
|
2077
|
-
const tileLevel = defined(options) ?
|
|
2131
|
+
const tileLevel = defined(options) ? (options.tileLevel ?? 0) : 0;
|
|
2078
2132
|
if (tileLevel >= 1) {
|
|
2079
2133
|
return undefined;
|
|
2080
2134
|
}
|
|
2081
2135
|
|
|
2082
|
-
|
|
2136
|
+
const content = new VoxelContent({ metadata: [new Float32Array(1)] });
|
|
2137
|
+
return Promise.resolve(content);
|
|
2083
2138
|
};
|
|
2084
2139
|
|
|
2085
2140
|
VoxelPrimitive.DefaultProvider = new DefaultVoxelProvider();
|
|
@@ -19,10 +19,11 @@ function VoxelProvider() {
|
|
|
19
19
|
|
|
20
20
|
Object.defineProperties(VoxelProvider.prototype, {
|
|
21
21
|
/**
|
|
22
|
-
* A transform from local space to global space.
|
|
22
|
+
* A transform from local space to global space.
|
|
23
23
|
*
|
|
24
24
|
* @memberof VoxelProvider.prototype
|
|
25
|
-
* @type {Matrix4
|
|
25
|
+
* @type {Matrix4}
|
|
26
|
+
* @default Matrix4.IDENTITY
|
|
26
27
|
* @readonly
|
|
27
28
|
*/
|
|
28
29
|
globalTransform: {
|
|
@@ -30,10 +31,11 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
30
31
|
},
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
|
-
* A transform from shape space to local space.
|
|
34
|
+
* A transform from shape space to local space.
|
|
34
35
|
*
|
|
35
36
|
* @memberof VoxelProvider.prototype
|
|
36
|
-
* @type {Matrix4
|
|
37
|
+
* @type {Matrix4}
|
|
38
|
+
* @default Matrix4.IDENTITY
|
|
37
39
|
* @readonly
|
|
38
40
|
*/
|
|
39
41
|
shapeTransform: {
|
|
@@ -42,7 +44,6 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
42
44
|
|
|
43
45
|
/**
|
|
44
46
|
* Gets the {@link VoxelShapeType}
|
|
45
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
46
47
|
*
|
|
47
48
|
* @memberof VoxelProvider.prototype
|
|
48
49
|
* @type {VoxelShapeType}
|
|
@@ -55,7 +56,6 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
55
56
|
/**
|
|
56
57
|
* Gets the minimum bounds.
|
|
57
58
|
* If undefined, the shape's default minimum bounds will be used instead.
|
|
58
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
59
59
|
*
|
|
60
60
|
* @memberof VoxelProvider.prototype
|
|
61
61
|
* @type {Cartesian3|undefined}
|
|
@@ -68,7 +68,6 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
68
68
|
/**
|
|
69
69
|
* Gets the maximum bounds.
|
|
70
70
|
* If undefined, the shape's default maximum bounds will be used instead.
|
|
71
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
72
71
|
*
|
|
73
72
|
* @memberof VoxelProvider.prototype
|
|
74
73
|
* @type {Cartesian3|undefined}
|
|
@@ -80,7 +79,6 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
80
79
|
|
|
81
80
|
/**
|
|
82
81
|
* Gets the number of voxels per dimension of a tile. This is the same for all tiles in the dataset.
|
|
83
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
84
82
|
*
|
|
85
83
|
* @memberof VoxelProvider.prototype
|
|
86
84
|
* @type {Cartesian3}
|
|
@@ -92,10 +90,10 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
92
90
|
|
|
93
91
|
/**
|
|
94
92
|
* Gets the number of padding voxels before the tile. This improves rendering quality when sampling the edge of a tile, but it increases memory usage.
|
|
95
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
96
93
|
*
|
|
97
94
|
* @memberof VoxelProvider.prototype
|
|
98
|
-
* @type {Cartesian3
|
|
95
|
+
* @type {Cartesian3}
|
|
96
|
+
* @default Cartesian3.ZERO
|
|
99
97
|
* @readonly
|
|
100
98
|
*/
|
|
101
99
|
paddingBefore: {
|
|
@@ -104,10 +102,10 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
104
102
|
|
|
105
103
|
/**
|
|
106
104
|
* Gets the number of padding voxels after the tile. This improves rendering quality when sampling the edge of a tile, but it increases memory usage.
|
|
107
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
108
105
|
*
|
|
109
106
|
* @memberof VoxelProvider.prototype
|
|
110
|
-
* @type {Cartesian3
|
|
107
|
+
* @type {Cartesian3}
|
|
108
|
+
* @default Cartesian3.ZERO
|
|
111
109
|
* @readonly
|
|
112
110
|
*/
|
|
113
111
|
paddingAfter: {
|
|
@@ -116,7 +114,6 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
116
114
|
|
|
117
115
|
/**
|
|
118
116
|
* Gets the metadata names.
|
|
119
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
120
117
|
*
|
|
121
118
|
* @memberof VoxelProvider.prototype
|
|
122
119
|
* @type {string[]}
|
|
@@ -128,7 +125,6 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
128
125
|
|
|
129
126
|
/**
|
|
130
127
|
* Gets the metadata types.
|
|
131
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
132
128
|
*
|
|
133
129
|
* @memberof VoxelProvider.prototype
|
|
134
130
|
* @type {MetadataType[]}
|
|
@@ -140,7 +136,6 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
140
136
|
|
|
141
137
|
/**
|
|
142
138
|
* Gets the metadata component types.
|
|
143
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
144
139
|
*
|
|
145
140
|
* @memberof VoxelProvider.prototype
|
|
146
141
|
* @type {MetadataComponentType[]}
|
|
@@ -152,7 +147,6 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
152
147
|
|
|
153
148
|
/**
|
|
154
149
|
* Gets the metadata minimum values.
|
|
155
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
156
150
|
*
|
|
157
151
|
* @memberof VoxelProvider.prototype
|
|
158
152
|
* @type {number[][]|undefined}
|
|
@@ -164,7 +158,6 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
164
158
|
|
|
165
159
|
/**
|
|
166
160
|
* Gets the metadata maximum values.
|
|
167
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
168
161
|
*
|
|
169
162
|
* @memberof VoxelProvider.prototype
|
|
170
163
|
* @type {number[][]|undefined}
|
|
@@ -175,8 +168,9 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
175
168
|
},
|
|
176
169
|
|
|
177
170
|
/**
|
|
178
|
-
* The maximum number of tiles that exist for this provider.
|
|
179
|
-
* This
|
|
171
|
+
* The maximum number of tiles that exist for this provider.
|
|
172
|
+
* This value is used as a hint to the voxel renderer to allocate an appropriate amount of GPU memory.
|
|
173
|
+
* If this value is not known it can be undefined.
|
|
180
174
|
*
|
|
181
175
|
* @memberof VoxelProvider.prototype
|
|
182
176
|
* @type {number|undefined}
|
|
@@ -198,10 +192,9 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
198
192
|
|
|
199
193
|
/**
|
|
200
194
|
* Gets the number of keyframes in the dataset.
|
|
201
|
-
* This should not be called before {@link VoxelProvider#ready} returns true.
|
|
202
195
|
*
|
|
203
196
|
* @memberof VoxelProvider.prototype
|
|
204
|
-
* @type {number}
|
|
197
|
+
* @type {number|undefined}
|
|
205
198
|
* @readonly
|
|
206
199
|
* @private
|
|
207
200
|
*/
|
|
@@ -210,11 +203,11 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
210
203
|
},
|
|
211
204
|
|
|
212
205
|
/**
|
|
213
|
-
* Gets the {@link TimeIntervalCollection} for the dataset,
|
|
214
|
-
*
|
|
206
|
+
* Gets the {@link TimeIntervalCollection} for the dataset,
|
|
207
|
+
* or undefined if it doesn't have timestamps.
|
|
215
208
|
*
|
|
216
209
|
* @memberof VoxelProvider.prototype
|
|
217
|
-
* @type {TimeIntervalCollection}
|
|
210
|
+
* @type {TimeIntervalCollection|undefined}
|
|
218
211
|
* @readonly
|
|
219
212
|
* @private
|
|
220
213
|
*/
|
|
@@ -224,9 +217,7 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
224
217
|
});
|
|
225
218
|
|
|
226
219
|
/**
|
|
227
|
-
* Requests the data for a given tile.
|
|
228
|
-
* This function should not be called before {@link VoxelProvider#ready} returns true.
|
|
229
|
-
* @function
|
|
220
|
+
* Requests the data for a given tile.
|
|
230
221
|
*
|
|
231
222
|
* @param {object} [options] Object with the following properties:
|
|
232
223
|
* @param {number} [options.tileLevel=0] The tile's level.
|
|
@@ -234,8 +225,10 @@ Object.defineProperties(VoxelProvider.prototype, {
|
|
|
234
225
|
* @param {number} [options.tileY=0] The tile's Y coordinate.
|
|
235
226
|
* @param {number} [options.tileZ=0] The tile's Z coordinate.
|
|
236
227
|
* @privateparam {number} [options.keyframe=0] The requested keyframe.
|
|
237
|
-
* @returns {Promise<
|
|
228
|
+
* @returns {Promise<VoxelContent>|undefined} A promise resolving to a VoxelContent containing the data for the tile, or undefined if the request could not be scheduled this frame.
|
|
238
229
|
*/
|
|
239
|
-
VoxelProvider.prototype.requestData =
|
|
230
|
+
VoxelProvider.prototype.requestData = function (options) {
|
|
231
|
+
DeveloperError.throwInstantiationError();
|
|
232
|
+
};
|
|
240
233
|
|
|
241
234
|
export default VoxelProvider;
|
|
@@ -19,6 +19,7 @@ import convertUvToCylinder from "../Shaders/Voxels/convertUvToCylinder.js";
|
|
|
19
19
|
import convertUvToEllipsoid from "../Shaders/Voxels/convertUvToEllipsoid.js";
|
|
20
20
|
import Octree from "../Shaders/Voxels/Octree.js";
|
|
21
21
|
import Megatexture from "../Shaders/Voxels/Megatexture.js";
|
|
22
|
+
import VoxelMetadataOrder from "./VoxelMetadataOrder.js";
|
|
22
23
|
|
|
23
24
|
/**
|
|
24
25
|
* Set up render resources, including basic shader code, for rendering
|
|
@@ -69,7 +70,7 @@ function VoxelRenderResources(primitive) {
|
|
|
69
70
|
/**
|
|
70
71
|
* A dictionary mapping uniform name to functions that return the uniform
|
|
71
72
|
* values.
|
|
72
|
-
*
|
|
73
|
+
* @private
|
|
73
74
|
* @type {Object<string, Function>}
|
|
74
75
|
*/
|
|
75
76
|
this.uniformMap = uniformMap;
|
|
@@ -86,6 +87,30 @@ function VoxelRenderResources(primitive) {
|
|
|
86
87
|
// Build shader
|
|
87
88
|
shaderBuilder.addVertexLines([VoxelVS]);
|
|
88
89
|
|
|
90
|
+
if (primitive.provider.metadataOrder === VoxelMetadataOrder.Y_UP) {
|
|
91
|
+
shaderBuilder.addDefine(
|
|
92
|
+
"Y_UP_METADATA_ORDER",
|
|
93
|
+
undefined,
|
|
94
|
+
ShaderDestination.FRAGMENT,
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
const shapeType = primitive._provider.shape;
|
|
98
|
+
if (shapeType === "BOX") {
|
|
99
|
+
shaderBuilder.addDefine("SHAPE_BOX", undefined, ShaderDestination.FRAGMENT);
|
|
100
|
+
} else if (shapeType === "CYLINDER") {
|
|
101
|
+
shaderBuilder.addDefine(
|
|
102
|
+
"SHAPE_CYLINDER",
|
|
103
|
+
undefined,
|
|
104
|
+
ShaderDestination.FRAGMENT,
|
|
105
|
+
);
|
|
106
|
+
} else if (shapeType === "ELLIPSOID") {
|
|
107
|
+
shaderBuilder.addDefine(
|
|
108
|
+
"SHAPE_ELLIPSOID",
|
|
109
|
+
undefined,
|
|
110
|
+
ShaderDestination.FRAGMENT,
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
89
114
|
shaderBuilder.addFragmentLines([
|
|
90
115
|
customShader.fragmentShaderText,
|
|
91
116
|
"#line 0",
|
|
@@ -124,7 +149,6 @@ function VoxelRenderResources(primitive) {
|
|
|
124
149
|
shaderBuilder.addFragmentLines([IntersectDepth]);
|
|
125
150
|
}
|
|
126
151
|
|
|
127
|
-
const shapeType = primitive._provider.shape;
|
|
128
152
|
if (shapeType === "BOX") {
|
|
129
153
|
shaderBuilder.addFragmentLines([
|
|
130
154
|
convertUvToBox,
|
|
@@ -139,11 +163,6 @@ function VoxelRenderResources(primitive) {
|
|
|
139
163
|
Intersection,
|
|
140
164
|
]);
|
|
141
165
|
} else if (shapeType === "ELLIPSOID") {
|
|
142
|
-
shaderBuilder.addDefine(
|
|
143
|
-
"SHAPE_ELLIPSOID",
|
|
144
|
-
undefined,
|
|
145
|
-
ShaderDestination.FRAGMENT,
|
|
146
|
-
);
|
|
147
166
|
shaderBuilder.addFragmentLines([
|
|
148
167
|
convertUvToEllipsoid,
|
|
149
168
|
IntersectLongitude,
|
|
@@ -26,6 +26,7 @@ Object.defineProperties(VoxelShape.prototype, {
|
|
|
26
26
|
* @memberof VoxelShape.prototype
|
|
27
27
|
* @type {OrientedBoundingBox}
|
|
28
28
|
* @readonly
|
|
29
|
+
* @private
|
|
29
30
|
*/
|
|
30
31
|
orientedBoundingBox: {
|
|
31
32
|
get: DeveloperError.throwInstantiationError,
|
|
@@ -38,6 +39,7 @@ Object.defineProperties(VoxelShape.prototype, {
|
|
|
38
39
|
* @memberof VoxelShape.prototype
|
|
39
40
|
* @type {BoundingSphere}
|
|
40
41
|
* @readonly
|
|
42
|
+
* @private
|
|
41
43
|
*/
|
|
42
44
|
boundingSphere: {
|
|
43
45
|
get: DeveloperError.throwInstantiationError,
|
|
@@ -50,6 +52,7 @@ Object.defineProperties(VoxelShape.prototype, {
|
|
|
50
52
|
* @memberof VoxelShape.prototype
|
|
51
53
|
* @type {Matrix4}
|
|
52
54
|
* @readonly
|
|
55
|
+
* @private
|
|
53
56
|
*/
|
|
54
57
|
boundTransform: {
|
|
55
58
|
get: DeveloperError.throwInstantiationError,
|
|
@@ -62,6 +65,7 @@ Object.defineProperties(VoxelShape.prototype, {
|
|
|
62
65
|
* @memberof VoxelShape.prototype
|
|
63
66
|
* @type {Matrix4}
|
|
64
67
|
* @readonly
|
|
68
|
+
* @private
|
|
65
69
|
*/
|
|
66
70
|
shapeTransform: {
|
|
67
71
|
get: DeveloperError.throwInstantiationError,
|
|
@@ -70,6 +74,7 @@ Object.defineProperties(VoxelShape.prototype, {
|
|
|
70
74
|
/**
|
|
71
75
|
* @type {Object<string, any>}
|
|
72
76
|
* @readonly
|
|
77
|
+
* @private
|
|
73
78
|
*/
|
|
74
79
|
shaderUniforms: {
|
|
75
80
|
get: DeveloperError.throwInstantiationError,
|
|
@@ -78,6 +83,7 @@ Object.defineProperties(VoxelShape.prototype, {
|
|
|
78
83
|
/**
|
|
79
84
|
* @type {Object<string, any>}
|
|
80
85
|
* @readonly
|
|
86
|
+
* @private
|
|
81
87
|
*/
|
|
82
88
|
shaderDefines: {
|
|
83
89
|
get: DeveloperError.throwInstantiationError,
|
|
@@ -87,6 +93,7 @@ Object.defineProperties(VoxelShape.prototype, {
|
|
|
87
93
|
* The maximum number of intersections against the shape for any ray direction.
|
|
88
94
|
* @type {number}
|
|
89
95
|
* @readonly
|
|
96
|
+
* @private
|
|
90
97
|
*/
|
|
91
98
|
shaderMaximumIntersectionsLength: {
|
|
92
99
|
get: DeveloperError.throwInstantiationError,
|
|
@@ -95,7 +102,7 @@ Object.defineProperties(VoxelShape.prototype, {
|
|
|
95
102
|
|
|
96
103
|
/**
|
|
97
104
|
* Update the shape's state.
|
|
98
|
-
*
|
|
105
|
+
* @private
|
|
99
106
|
* @param {Matrix4} modelMatrix The model matrix.
|
|
100
107
|
* @param {Cartesian3} minBounds The minimum bounds.
|
|
101
108
|
* @param {Cartesian3} maxBounds The maximum bounds.
|
|
@@ -106,7 +113,7 @@ VoxelShape.prototype.update = DeveloperError.throwInstantiationError;
|
|
|
106
113
|
/**
|
|
107
114
|
* Computes an oriented bounding box for a specified tile.
|
|
108
115
|
* The update function must be called before calling this function.
|
|
109
|
-
*
|
|
116
|
+
* @private
|
|
110
117
|
* @param {number} tileLevel The tile's level.
|
|
111
118
|
* @param {number} tileX The tile's x coordinate.
|
|
112
119
|
* @param {number} tileY The tile's y coordinate.
|
|
@@ -120,7 +127,7 @@ VoxelShape.prototype.computeOrientedBoundingBoxForTile =
|
|
|
120
127
|
/**
|
|
121
128
|
* Computes an oriented bounding box for a specified sample within a specified tile.
|
|
122
129
|
* The update function must be called before calling this function.
|
|
123
|
-
*
|
|
130
|
+
* @private
|
|
124
131
|
* @param {SpatialNode} spatialNode The spatial node containing the sample
|
|
125
132
|
* @param {Cartesian3} tileDimensions The size of the tile in number of samples, before padding
|
|
126
133
|
* @param {Cartesian3} tileUv The sample coordinate within the tile
|