@cesium/engine 1.1.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-a4321399.js → AxisAlignedBoundingBox-a6f9f0e5.js} +3 -3
- package/Build/Workers/{BoundingRectangle-80d8801f.js → BoundingRectangle-b0a68595.js} +18 -18
- package/Build/Workers/{BoxGeometry-33c10a4f.js → BoxGeometry-baedd794.js} +9 -9
- package/Build/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
- package/Build/Workers/{Color-1bf9a6e0.js → Color-f85df1be.js} +59 -59
- package/Build/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
- package/Build/Workers/{CoplanarPolygonGeometryLibrary-5c5b981b.js → CoplanarPolygonGeometryLibrary-30516950.js} +1 -1
- package/Build/Workers/{CorridorGeometryLibrary-7cbae7a0.js → CorridorGeometryLibrary-5d5d3b3a.js} +1 -1
- package/Build/Workers/{CylinderGeometry-42740df0.js → CylinderGeometry-d899ae26.js} +12 -12
- package/Build/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-135b0858.js} +1 -1
- package/Build/Workers/{EllipseGeometry-49a3ac21.js → EllipseGeometry-a49f8449.js} +20 -20
- package/Build/Workers/{EllipseGeometryLibrary-b891b2f8.js → EllipseGeometryLibrary-cba7edde.js} +1 -1
- package/Build/Workers/{EllipseOutlineGeometry-fbd72e07.js → EllipseOutlineGeometry-8095c8cb.js} +15 -15
- package/Build/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-dcff5cbd.js} +6 -6
- package/Build/Workers/{EllipsoidGeometry-a351dba8.js → EllipsoidGeometry-ed93f571.js} +14 -14
- package/Build/Workers/{EllipsoidOutlineGeometry-3e8779bf.js → EllipsoidOutlineGeometry-e4854854.js} +15 -15
- package/Build/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-b672d507.js} +9 -9
- package/Build/Workers/{EllipsoidTangentPlane-cfb50678.js → EllipsoidTangentPlane-7ae1aa9a.js} +1 -1
- package/Build/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-e8bbca36.js} +6 -6
- package/Build/Workers/{FrustumGeometry-c5754412.js → FrustumGeometry-b62db3e3.js} +108 -108
- package/Build/Workers/{GeometryAttribute-0bfd05e8.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-0166905d.js → GeometryPipeline-36b61c99.js} +22 -22
- package/Build/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-b8f3e09d.js} +13 -13
- package/Build/Workers/{IntersectionTests-a93d3de9.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-b450cb61.js → OrientedBoundingBox-43478ac8.js} +15 -15
- package/Build/Workers/{Plane-900aa728.js → Plane-c27e1ac6.js} +5 -5
- package/Build/Workers/{PolygonGeometryLibrary-f918ac26.js → PolygonGeometryLibrary-38a98276.js} +6 -6
- package/Build/Workers/{PolygonPipeline-f59a8f0a.js → PolygonPipeline-d31ff61c.js} +14 -14
- package/Build/Workers/{PolylinePipeline-d8e6bd9b.js → PolylinePipeline-30e4cec9.js} +16 -16
- package/Build/Workers/{PolylineVolumeGeometryLibrary-125d2edf.js → PolylineVolumeGeometryLibrary-90551d26.js} +7 -7
- package/Build/Workers/{PrimitivePipeline-0d7b5ed4.js → PrimitivePipeline-558d9cb0.js} +6 -6
- package/Build/Workers/{RectangleGeometryLibrary-0768db63.js → RectangleGeometryLibrary-815c68df.js} +1 -1
- package/Build/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
- package/Build/Workers/{TerrainEncoding-06470d7f.js → TerrainEncoding-341ead52.js} +30 -30
- package/Build/Workers/{Transforms-26539bce.js → Transforms-9e9df299.js} +541 -524
- package/Build/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
- package/Build/Workers/{WallGeometryLibrary-6167b0fc.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 +70 -4
- 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 +10 -2
- 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 +46 -26
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +24 -24
- package/README.md +14 -16
- 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 +26 -8
- 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 -4
- 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 +43 -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 +12 -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/AutomaticUniforms.js +3 -3
- 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 +49 -59
- 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 +37 -36
- 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 +38 -33
- 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/demodernizeShader.js +76 -0
- 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 +11 -11
- package/Source/Scene/Axis.js +6 -6
- package/Source/Scene/B3dmParser.js +2 -2
- package/Source/Scene/BatchTable.js +18 -18
- 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 +15 -15
- package/Source/Scene/BingMapsImageryProvider.js +41 -41
- 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 +32 -26
- package/Source/Scene/Cesium3DTileBatchTable.js +29 -29
- 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 +14 -2
- package/Source/Scene/Cesium3DTileset.js +117 -112
- 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 +28 -33
- 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 +24 -26
- package/Source/Scene/DebugCameraPrimitive.js +7 -7
- package/Source/Scene/DebugInspector.js +5 -5
- package/Source/Scene/DebugModelMatrixPrimitive.js +9 -9
- package/Source/Scene/DepthFunction.js +9 -9
- package/Source/Scene/DepthPlane.js +0 -6
- package/Source/Scene/DerivedCommand.js +8 -22
- 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 -15
- 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/GlobeTranslucencyState.js +6 -6
- 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 +22 -24
- 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/InvertClassification.js +9 -10
- 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 +53 -53
- package/Source/Scene/MaterialAppearance.js +21 -21
- package/Source/Scene/Megatexture.js +17 -17
- 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 +24 -16
- 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 +19 -19
- package/Source/Scene/Model/CustomShaderMode.js +4 -4
- package/Source/Scene/Model/CustomShaderTranslucencyMode.js +4 -4
- package/Source/Scene/Model/FeatureIdPipelineStage.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 +4 -4
- package/Source/Scene/Model/MaterialPipelineStage.js +6 -6
- package/Source/Scene/Model/MetadataPipelineStage.js +26 -27
- 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/PickingPipelineStage.js +1 -1
- 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 +211 -119
- 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/PickDepth.js +2 -2
- package/Source/Scene/PntsParser.js +1 -1
- package/Source/Scene/PointCloud.js +11 -11
- package/Source/Scene/PointCloudEyeDomeLighting.js +10 -5
- 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 +13 -18
- package/Source/Scene/PolylineColorAppearance.js +13 -13
- package/Source/Scene/PolylineMaterialAppearance.js +15 -16
- package/Source/Scene/PostProcessStage.js +28 -28
- package/Source/Scene/PostProcessStageCollection.js +10 -10
- package/Source/Scene/PostProcessStageComposite.js +13 -13
- package/Source/Scene/PostProcessStageLibrary.js +11 -11
- package/Source/Scene/PostProcessStageSampleMode.js +3 -3
- package/Source/Scene/PostProcessStageTextureCache.js +4 -4
- package/Source/Scene/Primitive.js +52 -61
- 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 +29 -29
- package/Source/Scene/ShadowMapShader.js +9 -9
- package/Source/Scene/ShadowMode.js +5 -5
- package/Source/Scene/ShadowVolumeAppearance.js +18 -18
- 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 +21 -19
- 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 +10 -10
- package/Source/Scene/Vector3DTilePrimitive.js +10 -10
- 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 +28 -20
- package/Source/Scene/VoxelPrimitive.js +48 -48
- 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/computeFlyToLocationForRectangle.js +10 -1
- package/Source/Scene/createBillboardPointCallback.js +5 -5
- package/Source/Scene/createElevationBandMaterial.js +15 -20
- 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 +5 -5
- package/Source/Scene/getClippingFunction.js +4 -4
- 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 +9 -8
- package/Source/Shaders/AdjustTranslucentFS.glsl +9 -6
- package/Source/Shaders/AdjustTranslucentFS.js +9 -6
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +7 -7
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +7 -7
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +12 -12
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +12 -12
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +4 -4
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +4 -4
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +6 -6
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +6 -6
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +5 -5
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +5 -5
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +7 -7
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +7 -7
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +4 -4
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +4 -4
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +8 -8
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +8 -8
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +2 -2
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +2 -2
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +5 -5
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +5 -5
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +10 -10
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +10 -10
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +12 -12
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +12 -12
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +5 -5
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +5 -5
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +8 -8
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +8 -8
- package/Source/Shaders/BillboardCollectionFS.glsl +15 -15
- package/Source/Shaders/BillboardCollectionFS.js +15 -15
- package/Source/Shaders/BillboardCollectionVS.glsl +23 -23
- package/Source/Shaders/BillboardCollectionVS.js +23 -23
- package/Source/Shaders/BrdfLutGeneratorFS.glsl +2 -2
- package/Source/Shaders/BrdfLutGeneratorFS.js +2 -2
- package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
- package/Source/Shaders/Builtin/Functions/depthClamp.glsl +3 -3
- package/Source/Shaders/Builtin/Functions/depthClamp.js +3 -3
- package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +4 -4
- package/Source/Shaders/Builtin/Functions/getWaterNoise.js +4 -4
- package/Source/Shaders/Builtin/Functions/phong.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/phong.js +1 -1
- package/Source/Shaders/Builtin/Functions/readDepth.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/readDepth.js +1 -1
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +5 -5
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +5 -5
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +3 -3
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +3 -3
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +1 -1
- package/Source/Shaders/Builtin/Functions/textureCube.glsl +17 -0
- package/Source/Shaders/Builtin/Functions/textureCube.js +18 -0
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +2 -2
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +2 -2
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +5 -8
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +5 -8
- package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +6 -6
- package/Source/Shaders/Builtin/Functions/writeLogDepth.js +6 -6
- package/Source/Shaders/CloudCollectionFS.glsl +18 -18
- package/Source/Shaders/CloudCollectionFS.js +18 -18
- package/Source/Shaders/CloudCollectionVS.glsl +11 -11
- package/Source/Shaders/CloudCollectionVS.js +11 -11
- package/Source/Shaders/CloudNoiseFS.glsl +5 -5
- package/Source/Shaders/CloudNoiseFS.js +5 -5
- package/Source/Shaders/CloudNoiseVS.glsl +2 -2
- package/Source/Shaders/CloudNoiseVS.js +2 -2
- package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +4 -4
- package/Source/Shaders/CompareAndPackTranslucentDepth.js +4 -4
- package/Source/Shaders/CompositeOITFS.glsl +6 -6
- package/Source/Shaders/CompositeOITFS.js +6 -6
- package/Source/Shaders/DepthPlaneFS.glsl +2 -2
- package/Source/Shaders/DepthPlaneFS.js +2 -2
- package/Source/Shaders/DepthPlaneVS.glsl +2 -2
- package/Source/Shaders/DepthPlaneVS.js +2 -2
- package/Source/Shaders/EllipsoidFS.glsl +5 -13
- package/Source/Shaders/EllipsoidFS.js +6 -14
- package/Source/Shaders/EllipsoidVS.glsl +2 -2
- package/Source/Shaders/EllipsoidVS.js +2 -2
- package/Source/Shaders/FXAA3_11.glsl +4 -4
- package/Source/Shaders/FXAA3_11.js +4 -4
- package/Source/Shaders/GlobeFS.glsl +15 -15
- package/Source/Shaders/GlobeFS.js +15 -15
- package/Source/Shaders/GlobeVS.glsl +17 -17
- package/Source/Shaders/GlobeVS.js +17 -17
- package/Source/Shaders/Materials/AspectRampMaterial.glsl +1 -1
- package/Source/Shaders/Materials/AspectRampMaterial.js +1 -1
- package/Source/Shaders/Materials/BumpMapMaterial.glsl +3 -3
- package/Source/Shaders/Materials/BumpMapMaterial.js +3 -3
- package/Source/Shaders/Materials/ElevationBandMaterial.glsl +3 -3
- package/Source/Shaders/Materials/ElevationBandMaterial.js +3 -3
- package/Source/Shaders/Materials/ElevationContourMaterial.glsl +2 -1
- package/Source/Shaders/Materials/ElevationContourMaterial.js +2 -1
- package/Source/Shaders/Materials/ElevationRampMaterial.glsl +1 -1
- package/Source/Shaders/Materials/ElevationRampMaterial.js +1 -1
- package/Source/Shaders/Materials/GridMaterial.glsl +3 -2
- package/Source/Shaders/Materials/GridMaterial.js +3 -2
- package/Source/Shaders/Materials/NormalMapMaterial.glsl +1 -1
- package/Source/Shaders/Materials/NormalMapMaterial.js +1 -1
- package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +3 -2
- package/Source/Shaders/Materials/PolylineArrowMaterial.js +3 -2
- package/Source/Shaders/Materials/PolylineDashMaterial.glsl +1 -1
- package/Source/Shaders/Materials/PolylineDashMaterial.js +1 -1
- package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +1 -1
- package/Source/Shaders/Materials/PolylineOutlineMaterial.js +1 -1
- package/Source/Shaders/Materials/SlopeRampMaterial.glsl +1 -1
- package/Source/Shaders/Materials/SlopeRampMaterial.js +1 -1
- package/Source/Shaders/Materials/Water.glsl +1 -1
- package/Source/Shaders/Materials/Water.js +1 -1
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +3 -3
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -3
- package/Source/Shaders/Model/MaterialStageFS.glsl +10 -10
- package/Source/Shaders/Model/MaterialStageFS.js +10 -10
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +3 -3
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +3 -3
- package/Source/Shaders/Model/ModelFS.glsl +1 -1
- package/Source/Shaders/Model/ModelFS.js +1 -1
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +3 -3
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +3 -3
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +1 -1
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +1 -1
- package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +8 -8
- package/Source/Shaders/OctahedralProjectionAtlasFS.js +8 -8
- package/Source/Shaders/OctahedralProjectionFS.glsl +4 -4
- package/Source/Shaders/OctahedralProjectionFS.js +4 -4
- package/Source/Shaders/OctahedralProjectionVS.glsl +3 -3
- package/Source/Shaders/OctahedralProjectionVS.js +3 -3
- package/Source/Shaders/PointPrimitiveCollectionFS.glsl +6 -6
- package/Source/Shaders/PointPrimitiveCollectionFS.js +6 -6
- package/Source/Shaders/PointPrimitiveCollectionVS.glsl +12 -12
- package/Source/Shaders/PointPrimitiveCollectionVS.js +12 -12
- package/Source/Shaders/PolylineFS.glsl +3 -3
- package/Source/Shaders/PolylineFS.js +3 -3
- package/Source/Shaders/PolylineShadowVolumeFS.glsl +12 -16
- package/Source/Shaders/PolylineShadowVolumeFS.js +12 -16
- package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +8 -8
- package/Source/Shaders/PolylineShadowVolumeMorphFS.js +8 -8
- package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +20 -20
- package/Source/Shaders/PolylineShadowVolumeMorphVS.js +20 -20
- package/Source/Shaders/PolylineShadowVolumeVS.glsl +20 -20
- package/Source/Shaders/PolylineShadowVolumeVS.js +20 -20
- package/Source/Shaders/PolylineVS.glsl +17 -17
- package/Source/Shaders/PolylineVS.js +17 -17
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -4
- package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AdditiveBlend.js +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +4 -4
- package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +4 -4
- package/Source/Shaders/PostProcessStages/BlackAndWhite.js +4 -4
- package/Source/Shaders/PostProcessStages/BloomComposite.glsl +5 -5
- package/Source/Shaders/PostProcessStages/BloomComposite.js +5 -5
- package/Source/Shaders/PostProcessStages/BrightPass.glsl +3 -3
- package/Source/Shaders/PostProcessStages/BrightPass.js +3 -3
- package/Source/Shaders/PostProcessStages/Brightness.glsl +3 -3
- package/Source/Shaders/PostProcessStages/Brightness.js +3 -3
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +5 -5
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +5 -5
- package/Source/Shaders/PostProcessStages/ContrastBias.glsl +3 -3
- package/Source/Shaders/PostProcessStages/ContrastBias.js +3 -3
- package/Source/Shaders/PostProcessStages/DepthOfField.glsl +2 -2
- package/Source/Shaders/PostProcessStages/DepthOfField.js +2 -2
- package/Source/Shaders/PostProcessStages/DepthView.glsl +2 -2
- package/Source/Shaders/PostProcessStages/DepthView.js +2 -2
- package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +3 -3
- package/Source/Shaders/PostProcessStages/DepthViewPacked.js +3 -3
- package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +7 -7
- package/Source/Shaders/PostProcessStages/EdgeDetection.js +7 -7
- package/Source/Shaders/PostProcessStages/FXAA.glsl +3 -3
- package/Source/Shaders/PostProcessStages/FXAA.js +3 -3
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -4
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -4
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +5 -5
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +5 -5
- package/Source/Shaders/PostProcessStages/LensFlare.glsl +13 -13
- package/Source/Shaders/PostProcessStages/LensFlare.js +13 -13
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -4
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -4
- package/Source/Shaders/PostProcessStages/NightVision.glsl +3 -3
- package/Source/Shaders/PostProcessStages/NightVision.js +3 -3
- package/Source/Shaders/PostProcessStages/PassThrough.glsl +2 -2
- package/Source/Shaders/PostProcessStages/PassThrough.js +2 -2
- package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +2 -2
- package/Source/Shaders/PostProcessStages/PassThroughDepth.js +2 -2
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +7 -9
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +8 -10
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -4
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -4
- package/Source/Shaders/PostProcessStages/Silhouette.glsl +4 -4
- package/Source/Shaders/PostProcessStages/Silhouette.js +4 -4
- package/Source/Shaders/ReprojectWebMercatorFS.glsl +2 -2
- package/Source/Shaders/ReprojectWebMercatorFS.js +2 -2
- package/Source/Shaders/ReprojectWebMercatorVS.glsl +3 -3
- package/Source/Shaders/ReprojectWebMercatorVS.js +3 -3
- package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +19 -23
- package/Source/Shaders/ShadowVolumeAppearanceFS.js +20 -24
- package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +12 -12
- package/Source/Shaders/ShadowVolumeAppearanceVS.js +12 -12
- package/Source/Shaders/ShadowVolumeFS.glsl +2 -6
- package/Source/Shaders/ShadowVolumeFS.js +3 -7
- package/Source/Shaders/SkyAtmosphereFS.glsl +6 -6
- package/Source/Shaders/SkyAtmosphereFS.js +6 -6
- package/Source/Shaders/SkyAtmosphereVS.glsl +6 -6
- package/Source/Shaders/SkyAtmosphereVS.js +6 -6
- package/Source/Shaders/SkyBoxFS.glsl +3 -3
- package/Source/Shaders/SkyBoxFS.js +3 -3
- package/Source/Shaders/SkyBoxVS.glsl +2 -2
- package/Source/Shaders/SkyBoxVS.js +2 -2
- package/Source/Shaders/SunFS.glsl +3 -3
- package/Source/Shaders/SunFS.js +3 -3
- package/Source/Shaders/SunTextureFS.glsl +2 -2
- package/Source/Shaders/SunTextureFS.js +2 -2
- package/Source/Shaders/SunVS.glsl +2 -2
- package/Source/Shaders/SunVS.js +2 -2
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +9 -13
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +9 -13
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +12 -12
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +12 -12
- package/Source/Shaders/Vector3DTilePolylinesVS.glsl +5 -5
- package/Source/Shaders/Vector3DTilePolylinesVS.js +5 -5
- package/Source/Shaders/VectorTileVS.glsl +2 -2
- package/Source/Shaders/VectorTileVS.js +2 -2
- package/Source/Shaders/ViewportQuadFS.glsl +2 -2
- package/Source/Shaders/ViewportQuadFS.js +2 -2
- package/Source/Shaders/ViewportQuadVS.glsl +3 -3
- package/Source/Shaders/ViewportQuadVS.js +3 -3
- 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 +2 -2
- package/Source/Shaders/Voxels/IntersectDepth.js +2 -2
- package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +12 -2
- package/Source/Shaders/Voxels/IntersectEllipsoid.js +12 -2
- 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/Megatexture.glsl +1 -1
- package/Source/Shaders/Voxels/Megatexture.js +1 -1
- package/Source/Shaders/Voxels/Octree.glsl +75 -76
- package/Source/Shaders/Voxels/Octree.js +75 -76
- package/Source/Shaders/Voxels/VoxelFS.glsl +44 -24
- package/Source/Shaders/Voxels/VoxelFS.js +44 -24
- package/Source/Shaders/Voxels/VoxelVS.glsl +1 -1
- package/Source/Shaders/Voxels/VoxelVS.js +1 -1
- package/Source/Shaders/Voxels/convertUvToBox.glsl +13 -5
- package/Source/Shaders/Voxels/convertUvToBox.js +13 -5
- package/Source/Shaders/Voxels/convertUvToCylinder.glsl +5 -9
- package/Source/Shaders/Voxels/convertUvToCylinder.js +5 -9
- package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +3 -6
- package/Source/Shaders/Voxels/convertUvToEllipsoid.js +3 -6
- 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/Source/WorkersES6/decodeDraco.js +9 -1
- package/index.d.ts +37 -46
- package/index.js +103 -104
- package/package.json +1 -1
- package/Source/Core/cancelAnimationFrame.js +0 -53
- package/Source/Core/requestAnimationFrame.js +0 -83
- package/Source/Renderer/modernizeShader.js +0 -242
- /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;
|
|
@@ -49,7 +48,7 @@ float normU8x2_toFloat(in vec2 value) {
|
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
OctreeNodeData getOctreeNodeData(in vec2 octreeUv) {
|
|
52
|
-
vec4 texData =
|
|
51
|
+
vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv);
|
|
53
52
|
|
|
54
53
|
OctreeNodeData data;
|
|
55
54
|
data.data = normU8x2_toInt(texData.xy);
|
|
@@ -69,7 +68,7 @@ int getOctreeParentIndex(in int octreeIndex) {
|
|
|
69
68
|
int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9;
|
|
70
69
|
int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow;
|
|
71
70
|
vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5);
|
|
72
|
-
vec4 parentData =
|
|
71
|
+
vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv);
|
|
73
72
|
int parentOctreeIndex = normU8x2_toInt(parentData.xy);
|
|
74
73
|
return parentOctreeIndex;
|
|
75
74
|
}
|
|
@@ -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
|
-
|
|
109
|
-
vec4 leafData0 = texture2D(u_octreeLeafNodeTexture, leafUv0);
|
|
110
|
-
vec4 leafData1 = texture2D(u_octreeLeafNodeTexture, leafUv1);
|
|
111
|
-
|
|
103
|
+
vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0);
|
|
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\
|
|
@@ -50,7 +49,7 @@ float normU8x2_toFloat(in vec2 value) {\n\
|
|
|
50
49
|
}\n\
|
|
51
50
|
\n\
|
|
52
51
|
OctreeNodeData getOctreeNodeData(in vec2 octreeUv) {\n\
|
|
53
|
-
vec4 texData =
|
|
52
|
+
vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv);\n\
|
|
54
53
|
\n\
|
|
55
54
|
OctreeNodeData data;\n\
|
|
56
55
|
data.data = normU8x2_toInt(texData.xy);\n\
|
|
@@ -70,7 +69,7 @@ int getOctreeParentIndex(in int octreeIndex) {\n\
|
|
|
70
69
|
int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9;\n\
|
|
71
70
|
int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow;\n\
|
|
72
71
|
vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5);\n\
|
|
73
|
-
vec4 parentData =
|
|
72
|
+
vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv);\n\
|
|
74
73
|
int parentOctreeIndex = normU8x2_toInt(parentData.xy);\n\
|
|
75
74
|
return parentOctreeIndex;\n\
|
|
76
75
|
}\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
|
-
|
|
110
|
-
vec4 leafData0 = texture2D(u_octreeLeafNodeTexture, leafUv0);\n\
|
|
111
|
-
vec4 leafData1 = texture2D(u_octreeLeafNodeTexture, leafUv1);\n\
|
|
112
|
-
\n\
|
|
104
|
+
vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0);\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]
|
|
@@ -143,8 +163,8 @@ void main()
|
|
|
143
163
|
if (colorAccum.a == 0.0) {
|
|
144
164
|
discard;
|
|
145
165
|
}
|
|
146
|
-
|
|
166
|
+
out_FragColor = u_pickColor;
|
|
147
167
|
#else
|
|
148
|
-
|
|
168
|
+
out_FragColor = colorAccum;
|
|
149
169
|
#endif
|
|
150
170
|
}
|