@cesium/engine 2.0.0 → 2.1.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/{ArcType-ce2e50ab.js → ArcType-2d9abbbc.js} +4 -4
- package/Build/Workers/{AttributeCompression-b646d393.js → AttributeCompression-8a5a065e.js} +24 -24
- package/Build/Workers/{AxisAlignedBoundingBox-47525601.js → AxisAlignedBoundingBox-a6f9f0e5.js} +3 -3
- package/Build/Workers/{BoundingRectangle-93b263ac.js → BoundingRectangle-b0a68595.js} +18 -18
- package/Build/Workers/{BoxGeometry-8c4b4125.js → BoxGeometry-baedd794.js} +9 -9
- package/Build/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
- package/Build/Workers/{Color-52c60ed7.js → Color-f85df1be.js} +59 -59
- package/Build/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
- package/Build/Workers/{CoplanarPolygonGeometryLibrary-33c4c1f8.js → CoplanarPolygonGeometryLibrary-30516950.js} +1 -1
- package/Build/Workers/{CorridorGeometryLibrary-5039cd8e.js → CorridorGeometryLibrary-5d5d3b3a.js} +1 -1
- package/Build/Workers/{CylinderGeometry-3ac44974.js → CylinderGeometry-d899ae26.js} +12 -12
- package/Build/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-135b0858.js} +1 -1
- package/Build/Workers/{EllipseGeometry-a9c9b3be.js → EllipseGeometry-a49f8449.js} +20 -20
- package/Build/Workers/{EllipseGeometryLibrary-855d4681.js → EllipseGeometryLibrary-cba7edde.js} +1 -1
- package/Build/Workers/{EllipseOutlineGeometry-017a5929.js → EllipseOutlineGeometry-8095c8cb.js} +15 -15
- package/Build/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-dcff5cbd.js} +6 -6
- package/Build/Workers/{EllipsoidGeometry-826e7bce.js → EllipsoidGeometry-ed93f571.js} +14 -14
- package/Build/Workers/{EllipsoidOutlineGeometry-784dcdb5.js → EllipsoidOutlineGeometry-e4854854.js} +15 -15
- package/Build/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-b672d507.js} +9 -9
- package/Build/Workers/{EllipsoidTangentPlane-ed9443a1.js → EllipsoidTangentPlane-7ae1aa9a.js} +1 -1
- package/Build/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-e8bbca36.js} +6 -6
- package/Build/Workers/{FrustumGeometry-9f1ee4d8.js → FrustumGeometry-b62db3e3.js} +108 -108
- package/Build/Workers/{GeometryAttribute-334718f8.js → GeometryAttribute-780af4fa.js} +20 -20
- package/Build/Workers/{GeometryAttributes-f06a2792.js → GeometryAttributes-ad136444.js} +1 -1
- package/Build/Workers/{GeometryInstance-451dc1cd.js → GeometryInstance-3fb607b7.js} +6 -6
- package/Build/Workers/{GeometryPipeline-8fb0db69.js → GeometryPipeline-36b61c99.js} +22 -22
- package/Build/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-b8f3e09d.js} +13 -13
- package/Build/Workers/{IntersectionTests-27d49265.js → IntersectionTests-e889fcf0.js} +37 -37
- package/Build/Workers/{Math-2dbd6b93.js → Math-dad82b4d.js} +137 -137
- package/Build/Workers/{Matrix2-13178034.js → Matrix2-1e403d0e.js} +256 -256
- package/Build/Workers/{Matrix3-315394f6.js → Matrix3-fa806b97.js} +150 -150
- package/Build/Workers/{OrientedBoundingBox-79ee7cbb.js → OrientedBoundingBox-43478ac8.js} +15 -15
- package/Build/Workers/{Plane-900aa728.js → Plane-c27e1ac6.js} +5 -5
- package/Build/Workers/{PolygonGeometryLibrary-6b5a29e9.js → PolygonGeometryLibrary-38a98276.js} +6 -6
- package/Build/Workers/{PolygonPipeline-21668b3f.js → PolygonPipeline-d31ff61c.js} +14 -14
- package/Build/Workers/{PolylinePipeline-5e2e1b21.js → PolylinePipeline-30e4cec9.js} +16 -16
- package/Build/Workers/{PolylineVolumeGeometryLibrary-97f0b94e.js → PolylineVolumeGeometryLibrary-90551d26.js} +7 -7
- package/Build/Workers/{PrimitivePipeline-5640850a.js → PrimitivePipeline-558d9cb0.js} +6 -6
- package/Build/Workers/{RectangleGeometryLibrary-d5457f7b.js → RectangleGeometryLibrary-815c68df.js} +1 -1
- package/Build/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
- package/Build/Workers/{TerrainEncoding-bfdf2021.js → TerrainEncoding-341ead52.js} +30 -30
- package/Build/Workers/{Transforms-a05e5e6e.js → Transforms-9e9df299.js} +525 -525
- package/Build/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
- package/Build/Workers/{WallGeometryLibrary-6db0ebb6.js → WallGeometryLibrary-ccf90976.js} +1 -1
- package/Build/Workers/{WebGLConstants-a8cc3e8c.js → WebGLConstants-0b1ce7ba.js} +1 -1
- package/Build/Workers/{WebMercatorProjection-13a90d41.js → WebMercatorProjection-76a3fcc0.js} +6 -6
- package/Build/Workers/{arrayRemoveDuplicates-c2038105.js → arrayRemoveDuplicates-fac118a8.js} +5 -5
- package/Build/Workers/cesiumWorkerBootstrapper.js +5 -5
- package/Build/Workers/{combine-ca22a614.js → combine-d9581036.js} +5 -5
- package/Build/Workers/combineGeometry.js +1 -1
- package/Build/Workers/createBoxGeometry.js +1 -1
- package/Build/Workers/createBoxOutlineGeometry.js +9 -9
- package/Build/Workers/createCircleGeometry.js +13 -13
- package/Build/Workers/createCircleOutlineGeometry.js +13 -13
- package/Build/Workers/createCoplanarPolygonGeometry.js +11 -11
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +9 -9
- package/Build/Workers/createCorridorGeometry.js +14 -14
- package/Build/Workers/createCorridorOutlineGeometry.js +12 -12
- package/Build/Workers/createCylinderGeometry.js +1 -1
- package/Build/Workers/createCylinderOutlineGeometry.js +13 -13
- package/Build/Workers/createEllipseGeometry.js +1 -1
- package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
- package/Build/Workers/createEllipsoidGeometry.js +1 -1
- package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/Build/Workers/createFrustumGeometry.js +1 -1
- package/Build/Workers/createFrustumOutlineGeometry.js +8 -8
- package/Build/Workers/createGeometry.js +1 -1
- package/Build/Workers/createGroundPolylineGeometry.js +33 -33
- package/Build/Workers/createPlaneGeometry.js +8 -8
- package/Build/Workers/createPlaneOutlineGeometry.js +6 -6
- package/Build/Workers/createPolygonGeometry.js +25 -25
- package/Build/Workers/createPolygonOutlineGeometry.js +17 -17
- package/Build/Workers/createPolylineGeometry.js +11 -11
- package/Build/Workers/createPolylineVolumeGeometry.js +9 -9
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +9 -9
- package/Build/Workers/createRectangleGeometry.js +16 -16
- package/Build/Workers/createRectangleOutlineGeometry.js +12 -12
- package/Build/Workers/createSimplePolylineGeometry.js +10 -10
- package/Build/Workers/createSphereGeometry.js +11 -11
- package/Build/Workers/createSphereOutlineGeometry.js +12 -12
- package/Build/Workers/createTaskProcessorWorker.js +2 -2
- package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
- package/Build/Workers/createVectorTileGeometries.js +8 -8
- package/Build/Workers/createVectorTilePoints.js +1 -1
- package/Build/Workers/createVectorTilePolygons.js +1 -1
- package/Build/Workers/createVectorTilePolylines.js +1 -1
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/Build/Workers/createVerticesFromHeightmap.js +23 -21
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +24 -24
- package/Build/Workers/createWallGeometry.js +14 -14
- package/Build/Workers/createWallOutlineGeometry.js +14 -14
- package/Build/Workers/decodeDraco.js +1 -1
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +15 -15
- package/Build/Workers/decodeI3S.js +1 -1
- package/Build/Workers/{defaultValue-0a909f67.js → defaultValue-fe22d8c0.js} +2 -2
- package/Build/Workers/package.js +1 -1
- package/Build/Workers/transcodeKTX2.js +26 -26
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +24 -24
- package/Source/Core/ApproximateTerrainHeights.js +3 -3
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +20 -20
- package/Source/Core/ArcType.js +4 -4
- package/Source/Core/ArticulationStageType.js +1 -1
- package/Source/Core/AssociativeArray.js +7 -7
- package/Source/Core/AttributeCompression.js +12 -12
- package/Source/Core/AxisAlignedBoundingBox.js +2 -2
- package/Source/Core/BingMapsGeocoderService.js +6 -6
- package/Source/Core/BoundingRectangle.js +17 -17
- package/Source/Core/BoundingSphere.js +25 -25
- package/Source/Core/BoxGeometry.js +8 -8
- package/Source/Core/BoxOutlineGeometry.js +8 -8
- package/Source/Core/Cartesian2.js +38 -38
- package/Source/Core/Cartesian3.js +50 -50
- package/Source/Core/Cartesian4.js +44 -44
- package/Source/Core/Cartographic.js +19 -19
- package/Source/Core/CartographicGeocoderService.js +1 -1
- package/Source/Core/CatmullRomSpline.js +10 -10
- package/Source/Core/CesiumTerrainProvider.js +33 -33
- package/Source/Core/Check.js +17 -17
- package/Source/Core/CircleGeometry.js +12 -12
- package/Source/Core/CircleOutlineGeometry.js +12 -12
- package/Source/Core/Clock.js +7 -7
- package/Source/Core/ClockRange.js +4 -4
- package/Source/Core/ClockStep.js +4 -4
- package/Source/Core/Color.js +58 -58
- package/Source/Core/ColorGeometryInstanceAttribute.js +7 -7
- package/Source/Core/ComponentDatatype.js +15 -15
- package/Source/Core/CompressedTextureBuffer.js +7 -7
- package/Source/Core/ConstantSpline.js +9 -9
- package/Source/Core/CoplanarPolygonGeometry.js +10 -10
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +8 -8
- package/Source/Core/CornerType.js +4 -4
- package/Source/Core/CorridorGeometry.js +13 -13
- package/Source/Core/CorridorOutlineGeometry.js +11 -11
- package/Source/Core/Credit.js +7 -7
- package/Source/Core/CubicRealPolynomial.js +10 -10
- package/Source/Core/CullingVolume.js +7 -7
- package/Source/Core/CustomHeightmapTerrainProvider.js +28 -28
- package/Source/Core/CylinderGeometry.js +11 -11
- package/Source/Core/CylinderOutlineGeometry.js +12 -12
- package/Source/Core/DefaultProxy.js +3 -3
- package/Source/Core/DeveloperError.js +4 -4
- package/Source/Core/DistanceDisplayCondition.js +12 -12
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +5 -5
- package/Source/Core/DoubleEndedPriorityQueue.js +5 -5
- package/Source/Core/EarthOrientationParameters.js +6 -6
- package/Source/Core/EarthOrientationParametersSample.js +10 -10
- package/Source/Core/EasingFunction.js +2 -2
- package/Source/Core/EllipseGeometry.js +19 -19
- package/Source/Core/EllipseOutlineGeometry.js +14 -14
- package/Source/Core/Ellipsoid.js +20 -20
- package/Source/Core/EllipsoidGeodesic.js +5 -5
- package/Source/Core/EllipsoidGeometry.js +13 -13
- package/Source/Core/EllipsoidOutlineGeometry.js +14 -14
- package/Source/Core/EllipsoidRhumbLine.js +8 -8
- package/Source/Core/EllipsoidTerrainProvider.js +18 -18
- package/Source/Core/EllipsoidalOccluder.js +9 -9
- package/Source/Core/EncodedCartesian3.js +5 -5
- package/Source/Core/Event.js +4 -4
- package/Source/Core/EventHelper.js +1 -1
- package/Source/Core/ExtrapolationType.js +4 -4
- package/Source/Core/FeatureDetection.js +9 -9
- package/Source/Core/FrustumGeometry.js +7 -7
- package/Source/Core/FrustumOutlineGeometry.js +7 -7
- package/Source/Core/Fullscreen.js +8 -8
- package/Source/Core/GeocodeType.js +3 -3
- package/Source/Core/GeocoderService.js +3 -3
- package/Source/Core/GeographicTilingScheme.js +16 -16
- package/Source/Core/Geometry.js +5 -5
- package/Source/Core/GeometryAttribute.js +6 -6
- package/Source/Core/GeometryInstance.js +5 -5
- package/Source/Core/GeometryInstanceAttribute.js +7 -7
- package/Source/Core/GeometryPipeline.js +11 -11
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +22 -22
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +29 -29
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +21 -21
- package/Source/Core/GoogleEarthEnterpriseTileInformation.js +14 -14
- package/Source/Core/GregorianDate.js +16 -16
- package/Source/Core/GroundPolylineGeometry.js +13 -13
- package/Source/Core/HeadingPitchRange.js +6 -6
- package/Source/Core/HeadingPitchRoll.js +18 -18
- package/Source/Core/Heap.js +7 -7
- package/Source/Core/HeightmapEncoding.js +3 -3
- package/Source/Core/HeightmapTerrainData.js +44 -44
- package/Source/Core/HeightmapTessellator.js +16 -16
- package/Source/Core/HermitePolynomialApproximation.js +17 -17
- package/Source/Core/HermiteSpline.js +17 -17
- package/Source/Core/HilbertOrder.js +7 -7
- package/Source/Core/Iau2006XysData.js +13 -13
- package/Source/Core/Iau2006XysSample.js +6 -6
- package/Source/Core/IauOrientationParameters.js +4 -4
- package/Source/Core/IndexDatatype.js +12 -12
- package/Source/Core/InterpolationAlgorithm.js +17 -17
- package/Source/Core/InterpolationType.js +1 -1
- package/Source/Core/Intersect.js +4 -4
- package/Source/Core/IntersectionTests.js +5 -5
- package/Source/Core/Intersections2D.js +23 -23
- package/Source/Core/Interval.js +4 -4
- package/Source/Core/Ion.js +3 -3
- package/Source/Core/IonGeocoderService.js +4 -4
- package/Source/Core/IonResource.js +6 -6
- package/Source/Core/JulianDate.js +27 -27
- package/Source/Core/KeyboardEventModifier.js +4 -4
- package/Source/Core/LagrangePolynomialApproximation.js +8 -8
- package/Source/Core/LeapSecond.js +2 -2
- package/Source/Core/LinearApproximation.js +8 -8
- package/Source/Core/LinearSpline.js +13 -13
- package/Source/Core/ManagedArray.js +8 -8
- package/Source/Core/Math.js +136 -136
- package/Source/Core/Matrix2.js +44 -44
- package/Source/Core/Matrix3.js +59 -59
- package/Source/Core/Matrix4.js +91 -91
- package/Source/Core/MorphWeightSpline.js +14 -14
- package/Source/Core/MortonOrder.js +21 -21
- package/Source/Core/NearFarScalar.js +16 -16
- package/Source/Core/Occluder.js +5 -5
- package/Source/Core/OffsetGeometryInstanceAttribute.js +5 -5
- package/Source/Core/OpenCageGeocoderService.js +18 -18
- package/Source/Core/OrientedBoundingBox.js +14 -14
- package/Source/Core/OrthographicFrustum.js +23 -23
- package/Source/Core/OrthographicOffCenterFrustum.js +21 -21
- package/Source/Core/Packable.js +7 -7
- package/Source/Core/PackableForInterpolation.js +11 -11
- package/Source/Core/PeliasGeocoderService.js +2 -2
- package/Source/Core/PerspectiveFrustum.js +28 -28
- package/Source/Core/PerspectiveOffCenterFrustum.js +21 -21
- package/Source/Core/PinBuilder.js +9 -9
- package/Source/Core/PixelFormat.js +23 -23
- package/Source/Core/Plane.js +4 -4
- package/Source/Core/PlaneGeometry.js +7 -7
- package/Source/Core/PlaneOutlineGeometry.js +5 -5
- package/Source/Core/PolygonGeometry.js +24 -24
- package/Source/Core/PolygonGeometryLibrary.js +4 -4
- package/Source/Core/PolygonOutlineGeometry.js +16 -16
- package/Source/Core/PolygonPipeline.js +10 -10
- package/Source/Core/PolylineGeometry.js +10 -10
- package/Source/Core/PolylinePipeline.js +15 -15
- package/Source/Core/PolylineVolumeGeometry.js +8 -8
- package/Source/Core/PolylineVolumeOutlineGeometry.js +8 -8
- package/Source/Core/PrimitiveType.js +8 -8
- package/Source/Core/Proxy.js +2 -2
- package/Source/Core/QuadraticRealPolynomial.js +8 -8
- package/Source/Core/QuantizedMeshTerrainData.js +37 -37
- package/Source/Core/QuarticRealPolynomial.js +12 -12
- package/Source/Core/Quaternion.js +42 -42
- package/Source/Core/QuaternionSpline.js +10 -10
- package/Source/Core/Queue.js +2 -2
- package/Source/Core/Ray.js +1 -1
- package/Source/Core/Rectangle.js +38 -38
- package/Source/Core/RectangleCollisionChecker.js +3 -3
- package/Source/Core/RectangleGeometry.js +15 -15
- package/Source/Core/RectangleOutlineGeometry.js +11 -11
- package/Source/Core/ReferenceFrame.js +3 -3
- package/Source/Core/Request.js +13 -13
- package/Source/Core/RequestErrorEvent.js +7 -7
- package/Source/Core/RequestScheduler.js +14 -14
- package/Source/Core/RequestState.js +7 -7
- package/Source/Core/RequestType.js +5 -5
- package/Source/Core/Resource.js +223 -223
- package/Source/Core/RuntimeError.js +4 -4
- package/Source/Core/S2Cell.js +15 -15
- package/Source/Core/ScreenSpaceEventHandler.js +7 -7
- package/Source/Core/ScreenSpaceEventType.js +16 -16
- package/Source/Core/ShowGeometryInstanceAttribute.js +4 -4
- package/Source/Core/SimplePolylineGeometry.js +9 -9
- package/Source/Core/SphereGeometry.js +10 -10
- package/Source/Core/SphereOutlineGeometry.js +11 -11
- package/Source/Core/Spherical.js +13 -13
- package/Source/Core/Spline.js +14 -14
- package/Source/Core/SteppedSpline.js +14 -14
- package/Source/Core/TaskProcessor.js +10 -10
- package/Source/Core/TerrainData.js +25 -25
- package/Source/Core/TerrainEncoding.js +14 -14
- package/Source/Core/TerrainExaggeration.js +3 -3
- package/Source/Core/TerrainMesh.js +18 -18
- package/Source/Core/TerrainProvider.js +23 -23
- package/Source/Core/TerrainQuantization.js +3 -3
- package/Source/Core/TileAvailability.js +16 -16
- package/Source/Core/TileProviderError.js +15 -15
- package/Source/Core/TilingScheme.js +13 -13
- package/Source/Core/TimeConstants.js +10 -10
- package/Source/Core/TimeInterval.js +23 -23
- package/Source/Core/TimeIntervalCollection.js +39 -39
- package/Source/Core/TimeStandard.js +3 -3
- package/Source/Core/Tipsify.js +10 -10
- package/Source/Core/Transforms.js +2 -2
- package/Source/Core/TranslationRotationScale.js +1 -1
- package/Source/Core/TridiagonalSystemSolver.js +3 -3
- package/Source/Core/TrustedServers.js +5 -5
- package/Source/Core/VRTheWorldTerrainProvider.js +20 -20
- package/Source/Core/VertexFormat.js +13 -13
- package/Source/Core/VideoSynchronizer.js +4 -4
- package/Source/Core/Visibility.js +4 -4
- package/Source/Core/VulkanConstants.js +1 -1
- package/Source/Core/WallGeometry.js +13 -13
- package/Source/Core/WallOutlineGeometry.js +13 -13
- package/Source/Core/WebGLConstants.js +1 -1
- package/Source/Core/WebMercatorProjection.js +5 -5
- package/Source/Core/WebMercatorTilingScheme.js +16 -16
- package/Source/Core/WindingOrder.js +3 -3
- package/Source/Core/WireframeIndexGenerator.js +3 -3
- package/Source/Core/arrayRemoveDuplicates.js +4 -4
- package/Source/Core/binarySearch.js +2 -2
- package/Source/Core/buildModuleUrl.js +4 -4
- package/Source/Core/clone.js +3 -3
- package/Source/Core/combine.js +4 -4
- package/Source/Core/createGuid.js +1 -1
- package/Source/Core/createWorldTerrain.js +3 -3
- package/Source/Core/defaultValue.js +1 -1
- package/Source/Core/defer.js +1 -1
- package/Source/Core/defined.js +1 -1
- package/Source/Core/deprecationWarning.js +2 -2
- package/Source/Core/destroyObject.js +2 -2
- package/Source/Core/formatError.js +1 -1
- package/Source/Core/getAbsoluteUri.js +3 -3
- package/Source/Core/getBaseUri.js +3 -3
- package/Source/Core/getExtensionFromUri.js +2 -2
- package/Source/Core/getFilenameFromUri.js +2 -2
- package/Source/Core/getImageFromTypedArray.js +2 -2
- package/Source/Core/getImagePixels.js +4 -3
- package/Source/Core/getJsonFromTypedArray.js +3 -3
- package/Source/Core/getStringFromTypedArray.js +3 -3
- package/Source/Core/getTimestamp.js +1 -1
- package/Source/Core/isBlobUri.js +2 -2
- package/Source/Core/isDataUri.js +2 -2
- package/Source/Core/isLeapYear.js +2 -2
- package/Source/Core/loadKTX2.js +8 -8
- package/Source/Core/mergeSort.js +1 -1
- package/Source/Core/objectToQuery.js +2 -2
- package/Source/Core/oneTimeWarning.js +2 -2
- package/Source/Core/parseResponseHeaders.js +2 -2
- package/Source/Core/pointInsideTriangle.js +1 -1
- package/Source/Core/queryToObject.js +2 -2
- package/Source/Core/sampleTerrain.js +7 -7
- package/Source/Core/sampleTerrainMostDetailed.js +1 -1
- package/Source/Core/scaleToGeodeticSurface.js +1 -1
- package/Source/Core/subdivideArray.js +1 -1
- package/Source/Core/writeTextToCanvas.js +10 -9
- package/Source/DataSources/BillboardGraphics.js +1 -1
- package/Source/DataSources/BillboardVisualizer.js +2 -2
- package/Source/DataSources/BoundingSphereState.js +1 -1
- package/Source/DataSources/BoxGraphics.js +1 -1
- package/Source/DataSources/CallbackProperty.js +8 -8
- package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +2 -2
- package/Source/DataSources/CheckerboardMaterialProperty.js +6 -6
- package/Source/DataSources/ColorMaterialProperty.js +5 -5
- package/Source/DataSources/CompositeEntityCollection.js +8 -8
- package/Source/DataSources/CompositeMaterialProperty.js +5 -5
- package/Source/DataSources/CompositePositionProperty.js +2 -2
- package/Source/DataSources/CompositeProperty.js +4 -4
- package/Source/DataSources/ConstantPositionProperty.js +4 -4
- package/Source/DataSources/ConstantProperty.js +5 -5
- package/Source/DataSources/CorridorGraphics.js +1 -1
- package/Source/DataSources/CustomDataSource.js +5 -5
- package/Source/DataSources/CylinderGraphics.js +1 -1
- package/Source/DataSources/CzmlDataSource.js +26 -26
- package/Source/DataSources/DataSource.js +4 -4
- package/Source/DataSources/DataSourceClock.js +2 -2
- package/Source/DataSources/DataSourceCollection.js +11 -11
- package/Source/DataSources/DataSourceDisplay.js +5 -5
- package/Source/DataSources/DynamicGeometryUpdater.js +1 -1
- package/Source/DataSources/EllipseGraphics.js +1 -1
- package/Source/DataSources/EllipsoidGeometryUpdater.js +2 -2
- package/Source/DataSources/EllipsoidGraphics.js +1 -1
- package/Source/DataSources/Entity.js +14 -14
- package/Source/DataSources/EntityCluster.js +16 -16
- package/Source/DataSources/EntityCollection.js +8 -8
- package/Source/DataSources/GeoJsonDataSource.js +27 -27
- package/Source/DataSources/GeometryUpdater.js +22 -22
- package/Source/DataSources/GeometryVisualizer.js +2 -2
- package/Source/DataSources/GpxDataSource.js +23 -23
- package/Source/DataSources/GridMaterialProperty.js +7 -7
- package/Source/DataSources/GroundGeometryUpdater.js +5 -5
- package/Source/DataSources/ImageMaterialProperty.js +8 -8
- package/Source/DataSources/KmlDataSource.js +32 -32
- package/Source/DataSources/KmlTour.js +7 -7
- package/Source/DataSources/KmlTourFlyTo.js +6 -6
- package/Source/DataSources/KmlTourWait.js +2 -2
- package/Source/DataSources/LabelGraphics.js +1 -1
- package/Source/DataSources/LabelVisualizer.js +2 -2
- package/Source/DataSources/MaterialProperty.js +5 -5
- package/Source/DataSources/ModelGraphics.js +3 -3
- package/Source/DataSources/ModelVisualizer.js +2 -2
- package/Source/DataSources/NodeTransformationProperty.js +3 -3
- package/Source/DataSources/PathGraphics.js +1 -1
- package/Source/DataSources/PathVisualizer.js +2 -2
- package/Source/DataSources/PlaneGraphics.js +1 -1
- package/Source/DataSources/PointGraphics.js +1 -1
- package/Source/DataSources/PointVisualizer.js +2 -2
- package/Source/DataSources/PolygonGraphics.js +3 -3
- package/Source/DataSources/PolylineArrowMaterialProperty.js +5 -5
- package/Source/DataSources/PolylineDashMaterialProperty.js +8 -8
- package/Source/DataSources/PolylineGeometryUpdater.js +13 -13
- package/Source/DataSources/PolylineGlowMaterialProperty.js +8 -8
- package/Source/DataSources/PolylineGraphics.js +2 -2
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +7 -7
- package/Source/DataSources/PolylineVisualizer.js +2 -2
- package/Source/DataSources/PolylineVolumeGraphics.js +3 -3
- package/Source/DataSources/PositionProperty.js +2 -2
- package/Source/DataSources/PositionPropertyArray.js +2 -2
- package/Source/DataSources/Property.js +4 -4
- package/Source/DataSources/PropertyArray.js +2 -2
- package/Source/DataSources/PropertyBag.js +10 -10
- package/Source/DataSources/RectangleGraphics.js +1 -1
- package/Source/DataSources/ReferenceProperty.js +10 -10
- package/Source/DataSources/Rotation.js +14 -14
- package/Source/DataSources/SampledPositionProperty.js +11 -11
- package/Source/DataSources/SampledProperty.js +12 -12
- package/Source/DataSources/StripeMaterialProperty.js +8 -8
- package/Source/DataSources/StripeOrientation.js +3 -3
- package/Source/DataSources/TerrainOffsetProperty.js +1 -1
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +3 -3
- package/Source/DataSources/TimeIntervalCollectionProperty.js +4 -4
- package/Source/DataSources/VelocityOrientationProperty.js +2 -2
- package/Source/DataSources/VelocityVectorProperty.js +4 -4
- package/Source/DataSources/Visualizer.js +2 -2
- package/Source/DataSources/WallGraphics.js +4 -4
- package/Source/DataSources/exportKml.js +9 -9
- package/Source/Renderer/Buffer.js +4 -4
- package/Source/Renderer/ClearCommand.js +3 -3
- package/Source/Renderer/ComputeCommand.js +3 -3
- package/Source/Renderer/Context.js +46 -46
- package/Source/Renderer/ContextLimits.js +22 -22
- package/Source/Renderer/CubeMapFace.js +11 -11
- package/Source/Renderer/DrawCommand.js +15 -15
- package/Source/Renderer/Framebuffer.js +4 -4
- package/Source/Renderer/FramebufferManager.js +9 -9
- package/Source/Renderer/MultisampleFramebuffer.js +1 -1
- package/Source/Renderer/PassState.js +2 -2
- package/Source/Renderer/PixelDatatype.js +1 -1
- package/Source/Renderer/RenderState.js +1 -1
- package/Source/Renderer/ShaderBuilder.js +24 -24
- package/Source/Renderer/ShaderCache.js +8 -8
- package/Source/Renderer/ShaderDestination.js +2 -2
- package/Source/Renderer/ShaderFunction.js +3 -3
- package/Source/Renderer/ShaderSource.js +8 -8
- package/Source/Renderer/ShaderStruct.js +4 -4
- package/Source/Renderer/Texture.js +18 -18
- package/Source/Renderer/TextureMagnificationFilter.js +4 -4
- package/Source/Renderer/TextureMinificationFilter.js +8 -8
- package/Source/Renderer/UniformState.js +14 -14
- package/Source/Renderer/VertexArray.js +2 -2
- package/Source/Renderer/createUniform.js +12 -12
- package/Source/Renderer/createUniformArray.js +12 -12
- package/Source/Renderer/freezeRenderState.js +2 -2
- package/Source/Renderer/loadCubeMap.js +3 -3
- package/Source/Scene/AlphaMode.js +4 -4
- package/Source/Scene/Appearance.js +14 -14
- package/Source/Scene/ArcGisMapServerImageryProvider.js +43 -43
- package/Source/Scene/AttributeType.js +11 -11
- package/Source/Scene/AutoExposure.js +6 -6
- package/Source/Scene/Axis.js +6 -6
- package/Source/Scene/B3dmParser.js +2 -2
- package/Source/Scene/BatchTable.js +13 -13
- package/Source/Scene/BatchTableHierarchy.js +22 -22
- package/Source/Scene/BatchTexture.js +14 -14
- package/Source/Scene/Billboard.js +17 -17
- package/Source/Scene/BillboardCollection.js +13 -13
- package/Source/Scene/BingMapsImageryProvider.js +40 -40
- package/Source/Scene/BingMapsStyle.js +11 -11
- package/Source/Scene/BlendEquation.js +6 -6
- package/Source/Scene/BlendFunction.js +16 -16
- package/Source/Scene/BlendOption.js +4 -4
- package/Source/Scene/BlendingState.js +4 -4
- package/Source/Scene/BufferLoader.js +5 -5
- package/Source/Scene/Camera.js +57 -57
- package/Source/Scene/CameraEventAggregator.js +26 -16
- package/Source/Scene/CameraEventType.js +6 -6
- package/Source/Scene/Cesium3DContentGroup.js +1 -1
- package/Source/Scene/Cesium3DTile.js +24 -24
- package/Source/Scene/Cesium3DTileBatchTable.js +1 -1
- package/Source/Scene/Cesium3DTileColorBlendMode.js +4 -4
- package/Source/Scene/Cesium3DTileContent.js +15 -15
- package/Source/Scene/Cesium3DTileContentType.js +17 -17
- package/Source/Scene/Cesium3DTileFeature.js +16 -16
- package/Source/Scene/Cesium3DTileOptimizationHint.js +1 -1
- package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
- package/Source/Scene/Cesium3DTilePassState.js +1 -1
- package/Source/Scene/Cesium3DTilePointFeature.js +23 -23
- package/Source/Scene/Cesium3DTileRefine.js +3 -3
- package/Source/Scene/Cesium3DTileStyle.js +17 -17
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +2 -2
- package/Source/Scene/Cesium3DTileset.js +111 -111
- package/Source/Scene/Cesium3DTilesetHeatmap.js +4 -4
- package/Source/Scene/Cesium3DTilesetMetadata.js +5 -5
- package/Source/Scene/CircleEmitter.js +2 -2
- package/Source/Scene/ClassificationPrimitive.js +25 -25
- package/Source/Scene/ClassificationType.js +4 -4
- package/Source/Scene/ClippingPlane.js +2 -2
- package/Source/Scene/ClippingPlaneCollection.js +17 -17
- package/Source/Scene/CloudCollection.js +16 -16
- package/Source/Scene/CloudType.js +3 -3
- package/Source/Scene/ColorBlendMode.js +1 -1
- package/Source/Scene/ConditionsExpression.js +11 -11
- package/Source/Scene/ConeEmitter.js +2 -2
- package/Source/Scene/ContentMetadata.js +16 -16
- package/Source/Scene/CreditDisplay.js +2 -2
- package/Source/Scene/CullFace.js +4 -4
- package/Source/Scene/CumulusCloud.js +3 -3
- package/Source/Scene/DebugAppearance.js +17 -17
- package/Source/Scene/DebugCameraPrimitive.js +7 -7
- package/Source/Scene/DebugModelMatrixPrimitive.js +9 -9
- package/Source/Scene/DepthFunction.js +9 -9
- package/Source/Scene/DeviceOrientationCameraController.js +1 -1
- package/Source/Scene/DirectionalLight.js +3 -3
- package/Source/Scene/DiscardEmptyTileImagePolicy.js +2 -2
- package/Source/Scene/DiscardMissingTileImagePolicy.js +5 -5
- package/Source/Scene/DracoLoader.js +4 -4
- package/Source/Scene/EllipsoidPrimitive.js +8 -8
- package/Source/Scene/EllipsoidSurfaceAppearance.js +19 -19
- package/Source/Scene/Expression.js +14 -14
- package/Source/Scene/Fog.js +5 -5
- package/Source/Scene/FrameRateMonitor.js +14 -14
- package/Source/Scene/FrameState.js +36 -36
- package/Source/Scene/FrustumCommands.js +2 -2
- package/Source/Scene/GetFeatureInfoFormat.js +2 -2
- package/Source/Scene/Globe.js +34 -34
- package/Source/Scene/GlobeSurfaceTile.js +1 -1
- package/Source/Scene/GlobeSurfaceTileProvider.js +6 -6
- package/Source/Scene/GlobeTranslucency.js +3 -3
- package/Source/Scene/GltfBufferViewLoader.js +7 -7
- package/Source/Scene/GltfDracoLoader.js +8 -8
- package/Source/Scene/GltfImageLoader.js +7 -7
- package/Source/Scene/GltfIndexBufferLoader.js +11 -11
- package/Source/Scene/GltfJsonLoader.js +7 -7
- package/Source/Scene/GltfLoader.js +24 -24
- package/Source/Scene/GltfLoaderUtil.js +11 -11
- package/Source/Scene/GltfPipeline/addBuffer.js +2 -2
- package/Source/Scene/GltfPipeline/addDefaults.js +2 -2
- package/Source/Scene/GltfPipeline/addExtensionsRequired.js +2 -2
- package/Source/Scene/GltfPipeline/addExtensionsUsed.js +2 -2
- package/Source/Scene/GltfPipeline/addPipelineExtras.js +2 -2
- package/Source/Scene/GltfPipeline/addToArray.js +2 -2
- package/Source/Scene/GltfPipeline/findAccessorMinMax.js +2 -2
- package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +3 -3
- package/Source/Scene/GltfPipeline/getAccessorByteStride.js +3 -3
- package/Source/Scene/GltfPipeline/getComponentReader.js +5 -5
- package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -2
- package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +2 -2
- package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +2 -2
- package/Source/Scene/GltfPipeline/parseGlb.js +1 -1
- package/Source/Scene/GltfPipeline/readAccessorPacked.js +2 -2
- package/Source/Scene/GltfPipeline/removeExtension.js +2 -2
- package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +2 -2
- package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +2 -2
- package/Source/Scene/GltfPipeline/removePipelineExtras.js +2 -2
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +2 -2
- package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +2 -2
- package/Source/Scene/GltfPipeline/updateVersion.js +4 -4
- package/Source/Scene/GltfPipeline/usesExtension.js +3 -3
- package/Source/Scene/GltfStructuralMetadataLoader.js +9 -9
- package/Source/Scene/GltfTextureLoader.js +8 -8
- package/Source/Scene/GltfVertexBufferLoader.js +13 -13
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +33 -33
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +38 -38
- package/Source/Scene/GridImageryProvider.js +33 -33
- package/Source/Scene/GroundPolylinePrimitive.js +20 -20
- package/Source/Scene/GroundPrimitive.js +26 -26
- package/Source/Scene/GroupMetadata.js +17 -17
- package/Source/Scene/HeightReference.js +4 -4
- package/Source/Scene/HorizontalOrigin.js +4 -4
- package/Source/Scene/I3SDataProvider.js +13 -13
- package/Source/Scene/I3SFeature.js +1 -1
- package/Source/Scene/I3SField.js +5 -5
- package/Source/Scene/I3SGeometry.js +8 -8
- package/Source/Scene/I3SLayer.js +7 -7
- package/Source/Scene/I3SNode.js +6 -6
- package/Source/Scene/I3dmParser.js +2 -2
- package/Source/Scene/ImageBasedLighting.js +21 -17
- package/Source/Scene/ImageryLayer.js +39 -39
- package/Source/Scene/ImageryLayerCollection.js +11 -11
- package/Source/Scene/ImageryLayerFeatureInfo.js +6 -6
- package/Source/Scene/ImageryProvider.js +30 -30
- package/Source/Scene/Implicit3DTileContent.js +56 -56
- package/Source/Scene/ImplicitAvailabilityBitstream.js +10 -10
- package/Source/Scene/ImplicitMetadataView.js +16 -16
- package/Source/Scene/ImplicitSubdivisionScheme.js +4 -4
- package/Source/Scene/ImplicitSubtree.js +48 -48
- package/Source/Scene/ImplicitSubtreeCache.js +6 -6
- package/Source/Scene/ImplicitSubtreeMetadata.js +16 -16
- package/Source/Scene/ImplicitTileCoordinates.js +27 -27
- package/Source/Scene/ImplicitTileset.js +10 -10
- package/Source/Scene/InstanceAttributeSemantic.js +5 -5
- package/Source/Scene/IonImageryProvider.js +32 -32
- package/Source/Scene/IonWorldImageryStyle.js +4 -4
- package/Source/Scene/JsonMetadataTable.js +11 -11
- package/Source/Scene/KeyframeNode.js +1 -1
- package/Source/Scene/Label.js +14 -14
- package/Source/Scene/LabelCollection.js +12 -11
- package/Source/Scene/LabelStyle.js +4 -4
- package/Source/Scene/Light.js +1 -1
- package/Source/Scene/MapMode2D.js +3 -3
- package/Source/Scene/MapboxImageryProvider.js +37 -37
- package/Source/Scene/MapboxStyleImageryProvider.js +39 -39
- package/Source/Scene/Material.js +47 -47
- package/Source/Scene/MaterialAppearance.js +21 -21
- package/Source/Scene/Megatexture.js +15 -15
- package/Source/Scene/MetadataClass.js +16 -16
- package/Source/Scene/MetadataClassProperty.js +41 -41
- package/Source/Scene/MetadataComponentType.js +21 -21
- package/Source/Scene/MetadataEntity.js +31 -31
- package/Source/Scene/MetadataEnum.js +14 -14
- package/Source/Scene/MetadataEnumValue.js +10 -10
- package/Source/Scene/MetadataSchema.js +16 -16
- package/Source/Scene/MetadataSchemaLoader.js +6 -6
- package/Source/Scene/MetadataSemantic.js +17 -17
- package/Source/Scene/MetadataTable.js +24 -24
- package/Source/Scene/MetadataTableProperty.js +9 -9
- package/Source/Scene/MetadataType.js +15 -15
- package/Source/Scene/Model/B3dmLoader.js +13 -13
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +3 -3
- package/Source/Scene/Model/CustomShader.js +18 -18
- package/Source/Scene/Model/CustomShaderMode.js +4 -4
- package/Source/Scene/Model/CustomShaderTranslucencyMode.js +4 -4
- package/Source/Scene/Model/GeoJsonLoader.js +5 -5
- package/Source/Scene/Model/I3dmLoader.js +11 -11
- package/Source/Scene/Model/LightingModel.js +3 -3
- package/Source/Scene/Model/MaterialPipelineStage.js +6 -6
- package/Source/Scene/Model/MetadataPipelineStage.js +25 -26
- package/Source/Scene/Model/Model.js +85 -85
- package/Source/Scene/Model/ModelAlphaOptions.js +1 -1
- package/Source/Scene/Model/ModelAnimation.js +11 -11
- package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
- package/Source/Scene/Model/ModelAnimationCollection.js +18 -18
- package/Source/Scene/Model/ModelArticulation.js +4 -4
- package/Source/Scene/Model/ModelArticulationStage.js +5 -5
- package/Source/Scene/Model/ModelDrawCommand.js +3 -3
- package/Source/Scene/Model/ModelFeature.js +12 -12
- package/Source/Scene/Model/ModelFeatureTable.js +5 -5
- package/Source/Scene/Model/ModelLightingOptions.js +1 -1
- package/Source/Scene/Model/ModelNode.js +3 -3
- package/Source/Scene/Model/ModelRenderResources.js +4 -4
- package/Source/Scene/Model/ModelRuntimeNode.js +7 -7
- package/Source/Scene/Model/ModelRuntimePrimitive.js +3 -3
- package/Source/Scene/Model/ModelSceneGraph.js +11 -11
- package/Source/Scene/Model/ModelSilhouettePipelineStage.js +1 -1
- package/Source/Scene/Model/ModelSkin.js +1 -1
- package/Source/Scene/Model/ModelStatistics.js +7 -7
- package/Source/Scene/Model/ModelType.js +8 -8
- package/Source/Scene/Model/ModelUtility.js +10 -10
- package/Source/Scene/Model/NodeRenderResources.js +7 -7
- package/Source/Scene/Model/PntsLoader.js +6 -6
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -1
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +28 -28
- package/Source/Scene/Model/PrimitiveRenderResources.js +10 -10
- package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
- package/Source/Scene/Model/TextureManager.js +3 -3
- package/Source/Scene/Model/TextureUniform.js +6 -6
- package/Source/Scene/Model/UniformType.js +17 -17
- package/Source/Scene/Model/VaryingType.js +8 -8
- package/Source/Scene/ModelAnimationLoop.js +4 -4
- package/Source/Scene/ModelComponents.js +61 -61
- package/Source/Scene/Moon.js +8 -8
- package/Source/Scene/Multiple3DTileContent.js +14 -14
- package/Source/Scene/NeverTileDiscardPolicy.js +2 -2
- package/Source/Scene/OIT.js +9 -9
- package/Source/Scene/OctahedralProjectedCubeMap.js +28 -39
- package/Source/Scene/OpenStreetMapImageryProvider.js +6 -6
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +9 -9
- package/Source/Scene/Particle.js +13 -13
- package/Source/Scene/ParticleBurst.js +8 -8
- package/Source/Scene/ParticleSystem.js +41 -36
- package/Source/Scene/PerInstanceColorAppearance.js +18 -18
- package/Source/Scene/PerformanceDisplay.js +2 -2
- package/Source/Scene/PntsParser.js +1 -1
- package/Source/Scene/PointCloudEyeDomeLighting.js +1 -1
- package/Source/Scene/PointCloudShading.js +20 -20
- package/Source/Scene/PointPrimitive.js +6 -6
- package/Source/Scene/PointPrimitiveCollection.js +11 -11
- package/Source/Scene/Polyline.js +9 -9
- package/Source/Scene/PolylineCollection.js +11 -11
- package/Source/Scene/PolylineColorAppearance.js +13 -13
- package/Source/Scene/PolylineMaterialAppearance.js +13 -13
- package/Source/Scene/PostProcessStage.js +15 -15
- package/Source/Scene/PostProcessStageCollection.js +10 -10
- package/Source/Scene/PostProcessStageComposite.js +13 -13
- package/Source/Scene/PostProcessStageLibrary.js +8 -8
- package/Source/Scene/PostProcessStageSampleMode.js +3 -3
- package/Source/Scene/PostProcessStageTextureCache.js +4 -4
- package/Source/Scene/Primitive.js +30 -30
- package/Source/Scene/PrimitiveCollection.js +20 -20
- package/Source/Scene/PrimitiveLoadPlan.js +6 -6
- package/Source/Scene/PropertyAttribute.js +9 -9
- package/Source/Scene/PropertyAttributeProperty.js +6 -6
- package/Source/Scene/PropertyTable.js +34 -34
- package/Source/Scene/PropertyTexture.js +9 -9
- package/Source/Scene/PropertyTextureProperty.js +8 -8
- package/Source/Scene/QuadtreePrimitive.js +9 -9
- package/Source/Scene/QuadtreeTile.js +11 -11
- package/Source/Scene/QuadtreeTileLoadState.js +1 -1
- package/Source/Scene/QuadtreeTileProvider.js +6 -6
- package/Source/Scene/ResourceCache.js +39 -39
- package/Source/Scene/ResourceCacheKey.js +42 -42
- package/Source/Scene/ResourceCacheStatistics.js +2 -2
- package/Source/Scene/ResourceLoader.js +5 -5
- package/Source/Scene/ResourceLoaderState.js +5 -5
- package/Source/Scene/SDFSettings.js +4 -4
- package/Source/Scene/Scene.js +88 -88
- package/Source/Scene/SceneMode.js +6 -6
- package/Source/Scene/SceneTransitioner.js +1 -1
- package/Source/Scene/ScreenSpaceCameraController.js +40 -22
- package/Source/Scene/ShadowMap.js +22 -22
- package/Source/Scene/ShadowMapShader.js +1 -1
- package/Source/Scene/ShadowMode.js +5 -5
- package/Source/Scene/ShadowVolumeAppearance.js +17 -17
- package/Source/Scene/SingleTileImageryProvider.js +31 -31
- package/Source/Scene/SkyAtmosphere.js +10 -10
- package/Source/Scene/SkyBox.js +6 -6
- package/Source/Scene/SpatialNode.js +103 -87
- package/Source/Scene/SphereEmitter.js +2 -2
- package/Source/Scene/SplitDirection.js +4 -4
- package/Source/Scene/Splitter.js +2 -2
- package/Source/Scene/StencilFunction.js +9 -9
- package/Source/Scene/StencilOperation.js +9 -9
- package/Source/Scene/StructuralMetadata.js +11 -11
- package/Source/Scene/StyleExpression.js +8 -8
- package/Source/Scene/Sun.js +3 -3
- package/Source/Scene/SunLight.js +3 -3
- package/Source/Scene/SupportedImageFormats.js +3 -3
- package/Source/Scene/TextureAtlas.js +16 -16
- package/Source/Scene/TileBoundingRegion.js +6 -6
- package/Source/Scene/TileBoundingS2Cell.js +6 -6
- package/Source/Scene/TileBoundingSphere.js +5 -5
- package/Source/Scene/TileBoundingVolume.js +2 -2
- package/Source/Scene/TileCoordinatesImageryProvider.js +30 -30
- package/Source/Scene/TileDiscardPolicy.js +2 -2
- package/Source/Scene/TileImagery.js +3 -3
- package/Source/Scene/TileMapServiceImageryProvider.js +9 -9
- package/Source/Scene/TileMetadata.js +16 -16
- package/Source/Scene/TileOrientedBoundingBox.js +2 -2
- package/Source/Scene/TileReplacementQueue.js +1 -1
- package/Source/Scene/TileSelectionResult.js +1 -1
- package/Source/Scene/TilesetMetadata.js +15 -15
- package/Source/Scene/TimeDynamicImagery.js +8 -8
- package/Source/Scene/TimeDynamicPointCloud.js +9 -9
- package/Source/Scene/Tonemapper.js +5 -5
- package/Source/Scene/TranslucentTileClassification.js +1 -1
- package/Source/Scene/TweenCollection.js +31 -31
- package/Source/Scene/UrlTemplateImageryProvider.js +47 -47
- package/Source/Scene/Vector3DTileBatch.js +7 -7
- package/Source/Scene/Vector3DTileClampedPolylines.js +9 -9
- package/Source/Scene/Vector3DTileGeometry.js +8 -8
- package/Source/Scene/Vector3DTilePoints.js +7 -7
- package/Source/Scene/Vector3DTilePolygons.js +10 -10
- package/Source/Scene/Vector3DTilePolylines.js +9 -9
- package/Source/Scene/Vector3DTilePrimitive.js +8 -8
- package/Source/Scene/VertexAttributeSemantic.js +15 -15
- package/Source/Scene/VerticalOrigin.js +5 -5
- package/Source/Scene/ViewportQuad.js +2 -2
- package/Source/Scene/VoxelBoxShape.js +27 -118
- package/Source/Scene/VoxelContent.js +3 -3
- package/Source/Scene/VoxelCylinderShape.js +21 -21
- package/Source/Scene/VoxelEllipsoidShape.js +13 -13
- package/Source/Scene/VoxelPrimitive.js +44 -44
- package/Source/Scene/VoxelProvider.js +13 -13
- package/Source/Scene/VoxelRenderResources.js +6 -3
- package/Source/Scene/VoxelShape.js +9 -9
- package/Source/Scene/VoxelShapeType.js +4 -4
- package/Source/Scene/VoxelTraversal.js +86 -144
- package/Source/Scene/WebMapServiceImageryProvider.js +49 -49
- package/Source/Scene/WebMapTileServiceImageryProvider.js +43 -43
- package/Source/Scene/buildVoxelDrawCommands.js +1 -0
- package/Source/Scene/createBillboardPointCallback.js +5 -5
- package/Source/Scene/createElevationBandMaterial.js +5 -5
- package/Source/Scene/createOsmBuildings.js +3 -3
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +2 -2
- package/Source/Scene/createWorldImagery.js +1 -1
- package/Source/Scene/findContentMetadata.js +1 -1
- package/Source/Scene/findGroupMetadata.js +1 -1
- package/Source/Scene/findTileMetadata.js +1 -1
- package/Source/Scene/getClipAndStyleCode.js +4 -4
- package/Source/Scene/getClippingFunction.js +1 -1
- package/Source/Scene/hasExtension.js +3 -3
- package/Source/Scene/parseBatchTable.js +14 -14
- package/Source/Scene/parseBoundingVolumeSemantics.js +7 -7
- package/Source/Scene/parseFeatureMetadataLegacy.js +4 -4
- package/Source/Scene/parseStructuralMetadata.js +4 -4
- package/Source/Scene/preprocess3DTileContent.js +2 -2
- package/Source/Scene/processVoxelProperties.js +8 -7
- package/Source/Shaders/Voxels/IntersectBox.glsl +52 -58
- package/Source/Shaders/Voxels/IntersectBox.js +52 -58
- package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +38 -30
- package/Source/Shaders/Voxels/IntersectClippingPlanes.js +38 -30
- package/Source/Shaders/Voxels/IntersectDepth.glsl +1 -1
- package/Source/Shaders/Voxels/IntersectDepth.js +1 -1
- package/Source/Shaders/Voxels/Intersection.glsl +10 -12
- package/Source/Shaders/Voxels/Intersection.js +10 -12
- package/Source/Shaders/Voxels/IntersectionUtils.glsl +52 -59
- package/Source/Shaders/Voxels/IntersectionUtils.js +52 -59
- package/Source/Shaders/Voxels/Octree.glsl +72 -73
- package/Source/Shaders/Voxels/Octree.js +72 -73
- package/Source/Shaders/Voxels/VoxelFS.glsl +42 -22
- package/Source/Shaders/Voxels/VoxelFS.js +42 -22
- package/Source/Shaders/Voxels/convertUvToBox.glsl +13 -5
- package/Source/Shaders/Voxels/convertUvToBox.js +13 -5
- package/Source/ThirdParty/Workers/draco_decoder_nodejs.js +91 -91
- package/Source/ThirdParty/draco_decoder.wasm +0 -0
- package/Source/Widget/CesiumWidget.js +23 -23
- package/Source/Workers/cesiumWorkerBootstrapper.js +18 -18
- package/Source/WorkersES6/createTaskProcessorWorker.js +3 -3
- package/index.d.ts +14 -37
- package/index.js +52 -54
- package/package.json +1 -1
- package/Source/Core/cancelAnimationFrame.js +0 -53
- package/Source/Core/requestAnimationFrame.js +0 -83
- /package/Build/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
uniform sampler2D u_octreeInternalNodeTexture;
|
|
9
9
|
uniform vec2 u_octreeInternalNodeTexelSizeUv;
|
|
10
10
|
uniform int u_octreeInternalNodeTilesPerRow;
|
|
11
|
+
#if (SAMPLE_COUNT > 1)
|
|
11
12
|
uniform sampler2D u_octreeLeafNodeTexture;
|
|
12
13
|
uniform vec2 u_octreeLeafNodeTexelSizeUv;
|
|
13
14
|
uniform int u_octreeLeafNodeTilesPerRow;
|
|
14
|
-
|
|
15
|
-
uniform float u_stepSize;
|
|
15
|
+
#endif
|
|
16
16
|
|
|
17
17
|
struct OctreeNodeData {
|
|
18
18
|
int data;
|
|
@@ -20,14 +20,13 @@ struct OctreeNodeData {
|
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
struct TraversalData {
|
|
23
|
-
float stepT;
|
|
24
23
|
ivec4 octreeCoords;
|
|
25
24
|
int parentOctreeIndex;
|
|
26
25
|
};
|
|
27
26
|
|
|
28
27
|
struct SampleData {
|
|
29
28
|
int megatextureIndex;
|
|
30
|
-
|
|
29
|
+
ivec4 tileCoords;
|
|
31
30
|
vec3 tileUv;
|
|
32
31
|
#if (SAMPLE_COUNT > 1)
|
|
33
32
|
float weight;
|
|
@@ -79,52 +78,53 @@ int getOctreeParentIndex(in int octreeIndex) {
|
|
|
79
78
|
* into the uv-space of a tile within the tileset
|
|
80
79
|
*/
|
|
81
80
|
vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) {
|
|
82
|
-
//
|
|
81
|
+
// PERFORMANCE_IDEA: use bit-shifting (only in WebGL2)
|
|
83
82
|
float dimAtLevel = pow(2.0, float(octreeCoords.w));
|
|
84
83
|
return shapePosition * dimAtLevel - vec3(octreeCoords.xyz);
|
|
85
84
|
}
|
|
86
85
|
|
|
87
|
-
void
|
|
88
|
-
|
|
86
|
+
void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) {
|
|
87
|
+
sampleData.megatextureIndex = data.data;
|
|
88
|
+
sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT)
|
|
89
89
|
? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1)
|
|
90
90
|
: octreeCoords;
|
|
91
|
-
sampleData.tileUv = getTileUv(shapePosition, sampleCoords);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
void getOctreeLeafSampleData(in OctreeNodeData data, out SampleData sampleData) {
|
|
95
|
-
sampleData.megatextureIndex = data.data;
|
|
96
|
-
sampleData.usingParentMegatextureIndex = data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT;
|
|
97
91
|
}
|
|
98
92
|
|
|
99
93
|
#if (SAMPLE_COUNT > 1)
|
|
100
|
-
void getOctreeLeafSampleDatas(in OctreeNodeData data,
|
|
94
|
+
void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) {
|
|
101
95
|
int leafIndex = data.data;
|
|
102
96
|
int leafNodeTexelCount = 2;
|
|
103
97
|
// Adding 0.5 moves to the center of the texel
|
|
104
98
|
float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5;
|
|
105
99
|
float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5;
|
|
106
100
|
|
|
101
|
+
// Get an interpolation weight and a flag to determine whether to read the parent texture
|
|
107
102
|
vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY);
|
|
108
|
-
vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY);
|
|
109
103
|
vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0);
|
|
110
|
-
vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1);
|
|
111
|
-
|
|
112
104
|
float lerp = normU8x2_toFloat(leafData0.xy);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
sampleData1.megatextureIndex = normU8x2_toInt(leafData1.zw);
|
|
105
|
+
sampleDatas[0].weight = 1.0 - lerp;
|
|
106
|
+
sampleDatas[1].weight = lerp;
|
|
116
107
|
// TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
108
|
+
sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1)
|
|
109
|
+
? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1)
|
|
110
|
+
: octreeCoords;
|
|
111
|
+
sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1)
|
|
112
|
+
? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1)
|
|
113
|
+
: octreeCoords;
|
|
114
|
+
|
|
115
|
+
// Get megatexture indices for both samples
|
|
116
|
+
vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY);
|
|
117
|
+
vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1);
|
|
118
|
+
sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy);
|
|
119
|
+
sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw);
|
|
121
120
|
}
|
|
122
121
|
#endif
|
|
123
122
|
|
|
124
|
-
|
|
123
|
+
OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) {
|
|
125
124
|
float sizeAtLevel = 1.0 / pow(2.0, float(traversalData.octreeCoords.w));
|
|
126
125
|
vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel;
|
|
127
126
|
vec3 end = start + vec3(sizeAtLevel);
|
|
127
|
+
OctreeNodeData childData;
|
|
128
128
|
|
|
129
129
|
for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) {
|
|
130
130
|
// Find out which octree child contains the position
|
|
@@ -132,32 +132,24 @@ void traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversa
|
|
|
132
132
|
vec3 center = 0.5 * (start + end);
|
|
133
133
|
vec3 childCoord = step(center, shapePosition);
|
|
134
134
|
|
|
135
|
-
OctreeNodeData childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord));
|
|
136
|
-
|
|
137
135
|
// Get octree coords for the next level down
|
|
138
136
|
ivec4 octreeCoords = traversalData.octreeCoords;
|
|
139
137
|
traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1);
|
|
140
138
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
end = mix(center, end, childCoord);
|
|
145
|
-
traversalData.parentOctreeIndex = childData.data;
|
|
146
|
-
} else {
|
|
139
|
+
childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord));
|
|
140
|
+
|
|
141
|
+
if (childData.flag != OCTREE_FLAG_INTERNAL) {
|
|
147
142
|
// leaf tile - stop traversing
|
|
148
|
-
|
|
149
|
-
traversalData.stepT = u_stepSize / dimAtLevel;
|
|
150
|
-
#if (SAMPLE_COUNT == 1)
|
|
151
|
-
getOctreeLeafSampleData(childData, sampleDatas[0]);
|
|
152
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]);
|
|
153
|
-
#else
|
|
154
|
-
getOctreeLeafSampleDatas(childData, sampleDatas[0], sampleDatas[1]);
|
|
155
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]);
|
|
156
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[1]);
|
|
157
|
-
#endif
|
|
158
|
-
return;
|
|
143
|
+
break;
|
|
159
144
|
}
|
|
145
|
+
|
|
146
|
+
// interior tile - keep going deeper
|
|
147
|
+
start = mix(start, center, childCoord);
|
|
148
|
+
end = mix(center, end, childCoord);
|
|
149
|
+
traversalData.parentOctreeIndex = childData.data;
|
|
160
150
|
}
|
|
151
|
+
|
|
152
|
+
return childData;
|
|
161
153
|
}
|
|
162
154
|
|
|
163
155
|
/**
|
|
@@ -168,21 +160,19 @@ void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traver
|
|
|
168
160
|
traversalData.octreeCoords = ivec4(0);
|
|
169
161
|
traversalData.parentOctreeIndex = 0;
|
|
170
162
|
|
|
171
|
-
OctreeNodeData
|
|
172
|
-
if (
|
|
173
|
-
|
|
174
|
-
traversalData.stepT = u_stepSize;
|
|
175
|
-
#if (SAMPLE_COUNT == 1)
|
|
176
|
-
getOctreeLeafSampleData(rootData, sampleDatas[0]);
|
|
177
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]);
|
|
178
|
-
#else
|
|
179
|
-
getOctreeLeafSampleDatas(rootData, sampleDatas[0], sampleDatas[1]);
|
|
180
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]);
|
|
181
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[1]);
|
|
182
|
-
#endif
|
|
183
|
-
} else {
|
|
184
|
-
traverseOctreeDownwards(shapePosition, traversalData, sampleDatas);
|
|
163
|
+
OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0));
|
|
164
|
+
if (nodeData.flag != OCTREE_FLAG_LEAF) {
|
|
165
|
+
nodeData = traverseOctreeDownwards(shapePosition, traversalData);
|
|
185
166
|
}
|
|
167
|
+
|
|
168
|
+
#if (SAMPLE_COUNT == 1)
|
|
169
|
+
getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]);
|
|
170
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);
|
|
171
|
+
#else
|
|
172
|
+
getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas);
|
|
173
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);
|
|
174
|
+
sampleDatas[1].tileUv = getTileUv(shapePosition, sampleDatas[1].tileCoords);
|
|
175
|
+
#endif
|
|
186
176
|
}
|
|
187
177
|
|
|
188
178
|
bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) {
|
|
@@ -199,23 +189,32 @@ bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) {
|
|
|
199
189
|
void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) {
|
|
200
190
|
if (insideTile(shapePosition, traversalData.octreeCoords)) {
|
|
201
191
|
for (int i = 0; i < SAMPLE_COUNT; i++) {
|
|
202
|
-
|
|
192
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);
|
|
203
193
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Go up tree until we find a parent tile containing shapePosition
|
|
198
|
+
for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) {
|
|
199
|
+
traversalData.octreeCoords.xyz /= 2;
|
|
200
|
+
traversalData.octreeCoords.w -= 1;
|
|
201
|
+
|
|
202
|
+
if (insideTile(shapePosition, traversalData.octreeCoords)) {
|
|
203
|
+
break;
|
|
216
204
|
}
|
|
217
205
|
|
|
218
|
-
|
|
219
|
-
traverseOctreeDownwards(shapePosition, traversalData, sampleDatas);
|
|
206
|
+
traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex);
|
|
220
207
|
}
|
|
208
|
+
|
|
209
|
+
// Go down tree
|
|
210
|
+
OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData);
|
|
211
|
+
|
|
212
|
+
#if (SAMPLE_COUNT == 1)
|
|
213
|
+
getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]);
|
|
214
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);
|
|
215
|
+
#else
|
|
216
|
+
getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas);
|
|
217
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);
|
|
218
|
+
sampleDatas[1].tileUv = getTileUv(shapePosition, sampleDatas[1].tileCoords);
|
|
219
|
+
#endif
|
|
221
220
|
}
|
|
@@ -9,11 +9,11 @@ export default "// These octree flags must be in sync with GpuOctreeFlag in Voxe
|
|
|
9
9
|
uniform sampler2D u_octreeInternalNodeTexture;\n\
|
|
10
10
|
uniform vec2 u_octreeInternalNodeTexelSizeUv;\n\
|
|
11
11
|
uniform int u_octreeInternalNodeTilesPerRow;\n\
|
|
12
|
+
#if (SAMPLE_COUNT > 1)\n\
|
|
12
13
|
uniform sampler2D u_octreeLeafNodeTexture;\n\
|
|
13
14
|
uniform vec2 u_octreeLeafNodeTexelSizeUv;\n\
|
|
14
15
|
uniform int u_octreeLeafNodeTilesPerRow;\n\
|
|
15
|
-
\n\
|
|
16
|
-
uniform float u_stepSize;\n\
|
|
16
|
+
#endif\n\
|
|
17
17
|
\n\
|
|
18
18
|
struct OctreeNodeData {\n\
|
|
19
19
|
int data;\n\
|
|
@@ -21,14 +21,13 @@ struct OctreeNodeData {\n\
|
|
|
21
21
|
};\n\
|
|
22
22
|
\n\
|
|
23
23
|
struct TraversalData {\n\
|
|
24
|
-
float stepT;\n\
|
|
25
24
|
ivec4 octreeCoords;\n\
|
|
26
25
|
int parentOctreeIndex;\n\
|
|
27
26
|
};\n\
|
|
28
27
|
\n\
|
|
29
28
|
struct SampleData {\n\
|
|
30
29
|
int megatextureIndex;\n\
|
|
31
|
-
|
|
30
|
+
ivec4 tileCoords;\n\
|
|
32
31
|
vec3 tileUv;\n\
|
|
33
32
|
#if (SAMPLE_COUNT > 1)\n\
|
|
34
33
|
float weight;\n\
|
|
@@ -80,85 +79,78 @@ int getOctreeParentIndex(in int octreeIndex) {\n\
|
|
|
80
79
|
* into the uv-space of a tile within the tileset\n\
|
|
81
80
|
*/\n\
|
|
82
81
|
vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) {\n\
|
|
83
|
-
//
|
|
82
|
+
// PERFORMANCE_IDEA: use bit-shifting (only in WebGL2)\n\
|
|
84
83
|
float dimAtLevel = pow(2.0, float(octreeCoords.w));\n\
|
|
85
84
|
return shapePosition * dimAtLevel - vec3(octreeCoords.xyz);\n\
|
|
86
85
|
}\n\
|
|
87
86
|
\n\
|
|
88
|
-
void
|
|
89
|
-
|
|
87
|
+
void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) {\n\
|
|
88
|
+
sampleData.megatextureIndex = data.data;\n\
|
|
89
|
+
sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT)\n\
|
|
90
90
|
? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1)\n\
|
|
91
91
|
: octreeCoords;\n\
|
|
92
|
-
sampleData.tileUv = getTileUv(shapePosition, sampleCoords);\n\
|
|
93
|
-
}\n\
|
|
94
|
-
\n\
|
|
95
|
-
void getOctreeLeafSampleData(in OctreeNodeData data, out SampleData sampleData) {\n\
|
|
96
|
-
sampleData.megatextureIndex = data.data;\n\
|
|
97
|
-
sampleData.usingParentMegatextureIndex = data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT;\n\
|
|
98
92
|
}\n\
|
|
99
93
|
\n\
|
|
100
94
|
#if (SAMPLE_COUNT > 1)\n\
|
|
101
|
-
void getOctreeLeafSampleDatas(in OctreeNodeData data,
|
|
95
|
+
void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) {\n\
|
|
102
96
|
int leafIndex = data.data;\n\
|
|
103
97
|
int leafNodeTexelCount = 2;\n\
|
|
104
98
|
// Adding 0.5 moves to the center of the texel\n\
|
|
105
99
|
float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5;\n\
|
|
106
100
|
float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5;\n\
|
|
107
101
|
\n\
|
|
102
|
+
// Get an interpolation weight and a flag to determine whether to read the parent texture\n\
|
|
108
103
|
vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY);\n\
|
|
109
|
-
vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY);\n\
|
|
110
104
|
vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0);\n\
|
|
111
|
-
vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1);\n\
|
|
112
|
-
\n\
|
|
113
105
|
float lerp = normU8x2_toFloat(leafData0.xy);\n\
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
sampleData1.megatextureIndex = normU8x2_toInt(leafData1.zw);\n\
|
|
106
|
+
sampleDatas[0].weight = 1.0 - lerp;\n\
|
|
107
|
+
sampleDatas[1].weight = lerp;\n\
|
|
117
108
|
// TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT\n\
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
109
|
+
sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1)\n\
|
|
110
|
+
? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1)\n\
|
|
111
|
+
: octreeCoords;\n\
|
|
112
|
+
sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1)\n\
|
|
113
|
+
? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1)\n\
|
|
114
|
+
: octreeCoords;\n\
|
|
115
|
+
\n\
|
|
116
|
+
// Get megatexture indices for both samples\n\
|
|
117
|
+
vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY);\n\
|
|
118
|
+
vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1);\n\
|
|
119
|
+
sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy);\n\
|
|
120
|
+
sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw);\n\
|
|
122
121
|
}\n\
|
|
123
122
|
#endif\n\
|
|
124
123
|
\n\
|
|
125
|
-
|
|
124
|
+
OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) {\n\
|
|
126
125
|
float sizeAtLevel = 1.0 / pow(2.0, float(traversalData.octreeCoords.w));\n\
|
|
127
126
|
vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel;\n\
|
|
128
127
|
vec3 end = start + vec3(sizeAtLevel);\n\
|
|
128
|
+
OctreeNodeData childData;\n\
|
|
129
129
|
\n\
|
|
130
130
|
for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) {\n\
|
|
131
131
|
// Find out which octree child contains the position\n\
|
|
132
132
|
// 0 if before center, 1 if after\n\
|
|
133
133
|
vec3 center = 0.5 * (start + end);\n\
|
|
134
134
|
vec3 childCoord = step(center, shapePosition);\n\
|
|
135
|
-
\n\
|
|
136
|
-
OctreeNodeData childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord));\n\
|
|
137
135
|
\n\
|
|
138
136
|
// Get octree coords for the next level down\n\
|
|
139
137
|
ivec4 octreeCoords = traversalData.octreeCoords;\n\
|
|
140
138
|
traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1);\n\
|
|
141
139
|
\n\
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
end = mix(center, end, childCoord);\n\
|
|
146
|
-
traversalData.parentOctreeIndex = childData.data;\n\
|
|
147
|
-
} else {\n\
|
|
140
|
+
childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord));\n\
|
|
141
|
+
\n\
|
|
142
|
+
if (childData.flag != OCTREE_FLAG_INTERNAL) {\n\
|
|
148
143
|
// leaf tile - stop traversing\n\
|
|
149
|
-
|
|
150
|
-
traversalData.stepT = u_stepSize / dimAtLevel;\n\
|
|
151
|
-
#if (SAMPLE_COUNT == 1)\n\
|
|
152
|
-
getOctreeLeafSampleData(childData, sampleDatas[0]);\n\
|
|
153
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]);\n\
|
|
154
|
-
#else\n\
|
|
155
|
-
getOctreeLeafSampleDatas(childData, sampleDatas[0], sampleDatas[1]);\n\
|
|
156
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]);\n\
|
|
157
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[1]);\n\
|
|
158
|
-
#endif\n\
|
|
159
|
-
return;\n\
|
|
144
|
+
break;\n\
|
|
160
145
|
}\n\
|
|
146
|
+
\n\
|
|
147
|
+
// interior tile - keep going deeper\n\
|
|
148
|
+
start = mix(start, center, childCoord);\n\
|
|
149
|
+
end = mix(center, end, childCoord);\n\
|
|
150
|
+
traversalData.parentOctreeIndex = childData.data;\n\
|
|
161
151
|
}\n\
|
|
152
|
+
\n\
|
|
153
|
+
return childData;\n\
|
|
162
154
|
}\n\
|
|
163
155
|
\n\
|
|
164
156
|
/**\n\
|
|
@@ -169,21 +161,19 @@ void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traver
|
|
|
169
161
|
traversalData.octreeCoords = ivec4(0);\n\
|
|
170
162
|
traversalData.parentOctreeIndex = 0;\n\
|
|
171
163
|
\n\
|
|
172
|
-
OctreeNodeData
|
|
173
|
-
if (
|
|
174
|
-
|
|
175
|
-
traversalData.stepT = u_stepSize;\n\
|
|
176
|
-
#if (SAMPLE_COUNT == 1)\n\
|
|
177
|
-
getOctreeLeafSampleData(rootData, sampleDatas[0]);\n\
|
|
178
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]);\n\
|
|
179
|
-
#else\n\
|
|
180
|
-
getOctreeLeafSampleDatas(rootData, sampleDatas[0], sampleDatas[1]);\n\
|
|
181
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[0]);\n\
|
|
182
|
-
setSampleUv(shapePosition, traversalData.octreeCoords, sampleDatas[1]);\n\
|
|
183
|
-
#endif\n\
|
|
184
|
-
} else {\n\
|
|
185
|
-
traverseOctreeDownwards(shapePosition, traversalData, sampleDatas);\n\
|
|
164
|
+
OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0));\n\
|
|
165
|
+
if (nodeData.flag != OCTREE_FLAG_LEAF) {\n\
|
|
166
|
+
nodeData = traverseOctreeDownwards(shapePosition, traversalData);\n\
|
|
186
167
|
}\n\
|
|
168
|
+
\n\
|
|
169
|
+
#if (SAMPLE_COUNT == 1)\n\
|
|
170
|
+
getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]);\n\
|
|
171
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
|
|
172
|
+
#else\n\
|
|
173
|
+
getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas);\n\
|
|
174
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
|
|
175
|
+
sampleDatas[1].tileUv = getTileUv(shapePosition, sampleDatas[1].tileCoords);\n\
|
|
176
|
+
#endif\n\
|
|
187
177
|
}\n\
|
|
188
178
|
\n\
|
|
189
179
|
bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) {\n\
|
|
@@ -200,24 +190,33 @@ bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) {\n\
|
|
|
200
190
|
void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) {\n\
|
|
201
191
|
if (insideTile(shapePosition, traversalData.octreeCoords)) {\n\
|
|
202
192
|
for (int i = 0; i < SAMPLE_COUNT; i++) {\n\
|
|
203
|
-
|
|
193
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
|
|
204
194
|
}\n\
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
break;\n\
|
|
216
|
-
}\n\
|
|
195
|
+
return;\n\
|
|
196
|
+
}\n\
|
|
197
|
+
\n\
|
|
198
|
+
// Go up tree until we find a parent tile containing shapePosition\n\
|
|
199
|
+
for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) {\n\
|
|
200
|
+
traversalData.octreeCoords.xyz /= 2;\n\
|
|
201
|
+
traversalData.octreeCoords.w -= 1;\n\
|
|
202
|
+
\n\
|
|
203
|
+
if (insideTile(shapePosition, traversalData.octreeCoords)) {\n\
|
|
204
|
+
break;\n\
|
|
217
205
|
}\n\
|
|
218
206
|
\n\
|
|
219
|
-
|
|
220
|
-
traverseOctreeDownwards(shapePosition, traversalData, sampleDatas);\n\
|
|
207
|
+
traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex);\n\
|
|
221
208
|
}\n\
|
|
209
|
+
\n\
|
|
210
|
+
// Go down tree\n\
|
|
211
|
+
OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData);\n\
|
|
212
|
+
\n\
|
|
213
|
+
#if (SAMPLE_COUNT == 1)\n\
|
|
214
|
+
getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]);\n\
|
|
215
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
|
|
216
|
+
#else\n\
|
|
217
|
+
getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas);\n\
|
|
218
|
+
sampleDatas[0].tileUv = getTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
|
|
219
|
+
sampleDatas[1].tileUv = getTileUv(shapePosition, sampleDatas[1].tileCoords);\n\
|
|
220
|
+
#endif\n\
|
|
222
221
|
}\n\
|
|
223
222
|
";
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
uniform mat3 u_transformDirectionViewToLocal;
|
|
15
15
|
uniform vec3 u_cameraPositionUv;
|
|
16
|
+
uniform float u_stepSize;
|
|
16
17
|
|
|
17
18
|
#if defined(PICKING)
|
|
18
19
|
uniform vec4 u_pickColor;
|
|
@@ -27,6 +28,20 @@ float hash(vec2 p)
|
|
|
27
28
|
}
|
|
28
29
|
#endif
|
|
29
30
|
|
|
31
|
+
vec4 getStepSize(in SampleData sampleData, in Ray viewRay, in RayShapeIntersection shapeIntersection) {
|
|
32
|
+
#if defined(SHAPE_BOX)
|
|
33
|
+
Box voxelBox = constructVoxelBox(sampleData.tileCoords, sampleData.tileUv);
|
|
34
|
+
RayShapeIntersection voxelIntersection = intersectBox(viewRay, voxelBox);
|
|
35
|
+
vec4 entry = shapeIntersection.entry.w >= voxelIntersection.entry.w ? shapeIntersection.entry : voxelIntersection.entry;
|
|
36
|
+
float exit = min(voxelIntersection.exit.w, shapeIntersection.exit.w);
|
|
37
|
+
float dt = (exit - entry.w) * RAY_SCALE;
|
|
38
|
+
return vec4(normalize(entry.xyz), dt);
|
|
39
|
+
#else
|
|
40
|
+
float dimAtLevel = pow(2.0, float(sampleData.tileCoords.w));
|
|
41
|
+
return vec4(viewRay.dir, u_stepSize / dimAtLevel);
|
|
42
|
+
#endif
|
|
43
|
+
}
|
|
44
|
+
|
|
30
45
|
void main()
|
|
31
46
|
{
|
|
32
47
|
vec4 fragCoord = gl_FragCoord;
|
|
@@ -35,34 +50,36 @@ void main()
|
|
|
35
50
|
vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case
|
|
36
51
|
vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case
|
|
37
52
|
vec3 viewPosUv = u_cameraPositionUv;
|
|
53
|
+
#if defined(SHAPE_BOX)
|
|
54
|
+
vec3 dInv = 1.0 / viewDirUv;
|
|
55
|
+
Ray viewRayUv = Ray(viewPosUv, viewDirUv, dInv);
|
|
56
|
+
#else
|
|
57
|
+
Ray viewRayUv = Ray(viewPosUv, viewDirUv);
|
|
58
|
+
#endif
|
|
38
59
|
|
|
39
60
|
Intersections ix;
|
|
40
|
-
|
|
61
|
+
RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix);
|
|
41
62
|
|
|
42
63
|
// Exit early if the scene was completely missed.
|
|
43
|
-
if (
|
|
64
|
+
if (shapeIntersection.entry.w == NO_HIT) {
|
|
44
65
|
discard;
|
|
45
66
|
}
|
|
46
67
|
|
|
47
|
-
float currT =
|
|
48
|
-
float endT =
|
|
68
|
+
float currT = shapeIntersection.entry.w * RAY_SCALE;
|
|
69
|
+
float endT = shapeIntersection.exit.w;
|
|
49
70
|
vec3 positionUv = viewPosUv + currT * viewDirUv;
|
|
50
|
-
// TODO: is it possible for this to be out of bounds, and does it matter?
|
|
51
71
|
vec3 positionUvShapeSpace = convertUvToShapeUvSpace(positionUv);
|
|
52
72
|
|
|
53
73
|
// Traverse the tree from the start position
|
|
54
74
|
TraversalData traversalData;
|
|
55
75
|
SampleData sampleDatas[SAMPLE_COUNT];
|
|
56
76
|
traverseOctreeFromBeginning(positionUvShapeSpace, traversalData, sampleDatas);
|
|
77
|
+
vec4 step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection);
|
|
57
78
|
|
|
58
|
-
// TODO:
|
|
59
|
-
// - jitter doesn't affect the first traversal?
|
|
60
|
-
// - jitter is always > 0?
|
|
61
|
-
// - jitter is only applied at one step?
|
|
62
79
|
#if defined(JITTER)
|
|
63
80
|
float noise = hash(screenCoord); // [0,1]
|
|
64
|
-
currT += noise *
|
|
65
|
-
positionUv += noise *
|
|
81
|
+
currT += noise * step.w;
|
|
82
|
+
positionUv += noise * step.w * viewDirUv;
|
|
66
83
|
#endif
|
|
67
84
|
|
|
68
85
|
FragmentInput fragmentInput;
|
|
@@ -83,7 +100,8 @@ void main()
|
|
|
83
100
|
fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv;
|
|
84
101
|
fragmentInput.voxel.viewDirUv = viewDirUv;
|
|
85
102
|
fragmentInput.voxel.viewDirWorld = viewDirWorld;
|
|
86
|
-
fragmentInput.voxel.
|
|
103
|
+
fragmentInput.voxel.surfaceNormal = step.xyz;
|
|
104
|
+
fragmentInput.voxel.travelDistance = step.w;
|
|
87
105
|
|
|
88
106
|
// Run the custom shader
|
|
89
107
|
czm_modelMaterial materialOutput;
|
|
@@ -103,36 +121,38 @@ void main()
|
|
|
103
121
|
break;
|
|
104
122
|
}
|
|
105
123
|
|
|
106
|
-
if (
|
|
107
|
-
// Shape is infinitely thin
|
|
108
|
-
|
|
124
|
+
if (step.w == 0.0) {
|
|
125
|
+
// Shape is infinitely thin. The ray may have hit the edge of a
|
|
126
|
+
// foreground voxel. Step ahead slightly to check for more voxels
|
|
127
|
+
step.w == 0.00001;
|
|
109
128
|
}
|
|
110
129
|
|
|
111
130
|
// Keep raymarching
|
|
112
|
-
currT +=
|
|
113
|
-
positionUv +=
|
|
131
|
+
currT += step.w;
|
|
132
|
+
positionUv += step.w * viewDirUv;
|
|
114
133
|
|
|
115
134
|
// Check if there's more intersections.
|
|
116
135
|
if (currT > endT) {
|
|
117
136
|
#if (INTERSECTION_COUNT == 1)
|
|
118
137
|
break;
|
|
119
138
|
#else
|
|
120
|
-
|
|
121
|
-
if (
|
|
139
|
+
shapeIntersection = nextIntersection(ix);
|
|
140
|
+
if (shapeIntersection.entry.w == NO_HIT) {
|
|
122
141
|
break;
|
|
123
142
|
} else {
|
|
124
143
|
// Found another intersection. Resume raymarching there
|
|
125
|
-
currT =
|
|
126
|
-
endT =
|
|
144
|
+
currT = shapeIntersection.entry.w * RAY_SCALE;
|
|
145
|
+
endT = shapeIntersection.exit.w;
|
|
127
146
|
positionUv = viewPosUv + currT * viewDirUv;
|
|
128
147
|
}
|
|
129
148
|
#endif
|
|
130
149
|
}
|
|
131
150
|
|
|
132
151
|
// Traverse the tree from the current ray position.
|
|
133
|
-
// This is similar to
|
|
152
|
+
// This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step.
|
|
134
153
|
positionUvShapeSpace = convertUvToShapeUvSpace(positionUv);
|
|
135
154
|
traverseOctreeFromExisting(positionUvShapeSpace, traversalData, sampleDatas);
|
|
155
|
+
step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection);
|
|
136
156
|
}
|
|
137
157
|
|
|
138
158
|
// Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1]
|