@cesium/engine 2.0.0 → 2.2.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-379015ef.js} +3 -3
- package/Build/Workers/{BoundingRectangle-93b263ac.js → BoundingRectangle-57f2b24f.js} +18 -18
- package/Build/Workers/{BoxGeometry-8c4b4125.js → BoxGeometry-ecabfc78.js} +9 -9
- package/Build/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
- package/Build/Workers/{Color-52c60ed7.js → Color-14d1a36d.js} +59 -59
- package/Build/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
- package/Build/Workers/{CoplanarPolygonGeometryLibrary-33c4c1f8.js → CoplanarPolygonGeometryLibrary-048c3c14.js} +1 -1
- package/Build/Workers/{CorridorGeometryLibrary-5039cd8e.js → CorridorGeometryLibrary-520c8619.js} +1 -1
- package/Build/Workers/{CylinderGeometry-3ac44974.js → CylinderGeometry-119068b8.js} +12 -12
- package/Build/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-135b0858.js} +1 -1
- package/Build/Workers/{EllipseGeometry-a9c9b3be.js → EllipseGeometry-2dfc3523.js} +20 -20
- package/Build/Workers/{EllipseGeometryLibrary-855d4681.js → EllipseGeometryLibrary-0a1e0170.js} +1 -1
- package/Build/Workers/{EllipseOutlineGeometry-017a5929.js → EllipseOutlineGeometry-c5251669.js} +15 -15
- package/Build/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-dcff5cbd.js} +6 -6
- package/Build/Workers/{EllipsoidGeometry-826e7bce.js → EllipsoidGeometry-d10a5221.js} +14 -14
- package/Build/Workers/{EllipsoidOutlineGeometry-784dcdb5.js → EllipsoidOutlineGeometry-7039a0ae.js} +15 -15
- package/Build/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-b672d507.js} +9 -9
- package/Build/Workers/{EllipsoidTangentPlane-ed9443a1.js → EllipsoidTangentPlane-857186be.js} +1 -1
- package/Build/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-e8bbca36.js} +6 -6
- package/Build/Workers/{FrustumGeometry-9f1ee4d8.js → FrustumGeometry-400fa1b7.js} +109 -109
- package/Build/Workers/{GeometryAttribute-334718f8.js → GeometryAttribute-7a2de5c6.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-916636fa.js} +22 -22
- package/Build/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-b8f3e09d.js} +13 -13
- package/Build/Workers/{IntersectionTests-27d49265.js → IntersectionTests-b4d02d4d.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-96fe1752.js} +19 -17
- package/Build/Workers/{Plane-900aa728.js → Plane-c27e1ac6.js} +5 -5
- package/Build/Workers/{PolygonGeometryLibrary-6b5a29e9.js → PolygonGeometryLibrary-931f1ec6.js} +6 -6
- package/Build/Workers/{PolygonPipeline-21668b3f.js → PolygonPipeline-32fc92cc.js} +14 -14
- package/Build/Workers/{PolylinePipeline-5e2e1b21.js → PolylinePipeline-6d5c63e5.js} +16 -16
- package/Build/Workers/{PolylineVolumeGeometryLibrary-97f0b94e.js → PolylineVolumeGeometryLibrary-f068c1fb.js} +7 -7
- package/Build/Workers/{PrimitivePipeline-5640850a.js → PrimitivePipeline-879f996a.js} +6 -6
- package/Build/Workers/{RectangleGeometryLibrary-d5457f7b.js → RectangleGeometryLibrary-2d6f36f3.js} +1 -1
- package/Build/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
- package/Build/Workers/{TerrainEncoding-bfdf2021.js → TerrainEncoding-82882059.js} +30 -30
- package/Build/Workers/{Transforms-a05e5e6e.js → Transforms-9052372a.js} +531 -530
- package/Build/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
- package/Build/Workers/{WallGeometryLibrary-6db0ebb6.js → WallGeometryLibrary-db7a64fb.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 +33 -38
- 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 +308 -208
- 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 +598 -461
- 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 +40 -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 +35 -28
- 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 +8 -8
- 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 +107 -55
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +29 -29
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +137 -100
- 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 +20 -9
- 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 +18 -16
- 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 +15 -15
- package/Source/Core/RequestState.js +7 -7
- package/Source/Core/RequestType.js +5 -5
- package/Source/Core/Resource.js +225 -225
- 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 +32 -37
- package/Source/Core/TerrainQuantization.js +3 -3
- package/Source/Core/TileAvailability.js +16 -16
- package/Source/Core/TileProviderError.js +19 -19
- 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 +210 -141
- 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 +8 -7
- 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 +23 -5
- package/Source/Core/createWorldTerrainAsync.js +48 -0
- 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 +16 -17
- package/Source/Core/sampleTerrainMostDetailed.js +67 -73
- 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 +39 -28
- 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 +20 -15
- 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 +101 -33
- 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 +4 -4
- 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 +585 -409
- 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 +541 -335
- 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 +33 -38
- 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 +409 -272
- package/Source/Scene/Cesium3DTileBatchTable.js +3 -3
- package/Source/Scene/Cesium3DTileColorBlendMode.js +4 -4
- package/Source/Scene/Cesium3DTileContent.js +31 -15
- package/Source/Scene/Cesium3DTileContentFactory.js +4 -4
- 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/Cesium3DTilePass.js +8 -11
- 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/Cesium3DTileStyleEngine.js +1 -1
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +226 -118
- package/Source/Scene/Cesium3DTileset.js +817 -543
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +301 -0
- package/Source/Scene/Cesium3DTilesetHeatmap.js +4 -4
- package/Source/Scene/Cesium3DTilesetMetadata.js +5 -5
- package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +33 -46
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +421 -0
- package/Source/Scene/Cesium3DTilesetTraversal.js +219 -671
- package/Source/Scene/CircleEmitter.js +2 -2
- package/Source/Scene/ClassificationPrimitive.js +32 -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/Composite3DTileContent.js +69 -26
- 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 +22 -6
- 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/DepthPlane.js +1 -1
- 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/Empty3DTileContent.js +31 -1
- 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/Geometry3DTileContent.js +47 -7
- package/Source/Scene/GetFeatureInfoFormat.js +2 -2
- package/Source/Scene/Globe.js +39 -35
- package/Source/Scene/GlobeSurfaceTile.js +3 -2
- package/Source/Scene/GlobeSurfaceTileProvider.js +56 -33
- package/Source/Scene/GlobeTranslucency.js +3 -3
- package/Source/Scene/GltfBufferViewLoader.js +52 -96
- package/Source/Scene/GltfDracoLoader.js +117 -119
- package/Source/Scene/GltfImageLoader.js +77 -84
- package/Source/Scene/GltfIndexBufferLoader.js +118 -131
- package/Source/Scene/GltfJsonLoader.js +81 -80
- package/Source/Scene/GltfLoader.js +413 -301
- 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 +117 -118
- package/Source/Scene/GltfTextureLoader.js +104 -103
- package/Source/Scene/GltfVertexBufferLoader.js +140 -145
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +377 -249
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +520 -360
- package/Source/Scene/GridImageryProvider.js +292 -129
- package/Source/Scene/GroundPolylinePrimitive.js +32 -21
- package/Source/Scene/GroundPrimitive.js +34 -27
- 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 +221 -120
- package/Source/Scene/I3SFeature.js +8 -7
- package/Source/Scene/I3SField.js +5 -5
- package/Source/Scene/I3SGeometry.js +8 -8
- package/Source/Scene/I3SLayer.js +33 -44
- package/Source/Scene/I3SNode.js +65 -72
- package/Source/Scene/I3dmParser.js +2 -2
- package/Source/Scene/ImageBasedLighting.js +21 -17
- package/Source/Scene/Imagery.js +6 -1
- package/Source/Scene/ImageryLayer.js +324 -73
- package/Source/Scene/ImageryLayerCollection.js +37 -11
- package/Source/Scene/ImageryLayerFeatureInfo.js +6 -6
- package/Source/Scene/ImageryProvider.js +151 -133
- package/Source/Scene/Implicit3DTileContent.js +128 -79
- 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 +113 -92
- 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 +493 -286
- 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 +301 -141
- package/Source/Scene/MapboxStyleImageryProvider.js +301 -142
- 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 +31 -41
- 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 +54 -58
- 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 +12 -36
- package/Source/Scene/Model/I3dmLoader.js +58 -84
- 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 +531 -193
- package/Source/Scene/Model/Model3DTileContent.js +83 -31
- 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 +21 -21
- package/Source/Scene/Model/ModelArticulation.js +4 -4
- package/Source/Scene/Model/ModelArticulationStage.js +5 -5
- package/Source/Scene/Model/ModelDrawCommand.js +18 -29
- 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 +26 -26
- package/Source/Scene/Model/NodeRenderResources.js +7 -7
- package/Source/Scene/Model/PntsLoader.js +32 -37
- 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 +146 -127
- 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/PointCloud.js +11 -19
- 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 +50 -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 +11 -9
- package/Source/Scene/QuadtreeTile.js +11 -11
- package/Source/Scene/QuadtreeTileLoadState.js +1 -1
- package/Source/Scene/QuadtreeTileProvider.js +10 -14
- package/Source/Scene/ResourceCache.js +85 -143
- package/Source/Scene/ResourceCacheKey.js +42 -42
- package/Source/Scene/ResourceCacheStatistics.js +26 -60
- package/Source/Scene/ResourceLoader.js +9 -21
- package/Source/Scene/ResourceLoaderState.js +16 -8
- package/Source/Scene/SDFSettings.js +4 -4
- package/Source/Scene/Scene.js +153 -88
- package/Source/Scene/SceneMode.js +6 -6
- package/Source/Scene/SceneTransitioner.js +1 -1
- package/Source/Scene/ScreenSpaceCameraController.js +41 -23
- 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 +403 -230
- 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/Terrain.js +196 -0
- 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 +289 -126
- package/Source/Scene/TileDiscardPolicy.js +2 -2
- package/Source/Scene/TileImagery.js +3 -3
- package/Source/Scene/TileMapServiceImageryProvider.js +185 -93
- 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/Tileset3DTileContent.js +47 -5
- package/Source/Scene/TilesetMetadata.js +15 -15
- package/Source/Scene/TimeDynamicImagery.js +8 -8
- package/Source/Scene/TimeDynamicPointCloud.js +24 -11
- 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 +380 -252
- package/Source/Scene/Vector3DTileBatch.js +7 -7
- package/Source/Scene/Vector3DTileClampedPolylines.js +105 -93
- package/Source/Scene/Vector3DTileContent.js +47 -22
- package/Source/Scene/Vector3DTileGeometry.js +65 -60
- package/Source/Scene/Vector3DTilePoints.js +79 -75
- package/Source/Scene/Vector3DTilePolygons.js +128 -127
- package/Source/Scene/Vector3DTilePolylines.js +95 -91
- package/Source/Scene/Vector3DTilePrimitive.js +8 -9
- 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 +63 -65
- package/Source/Scene/VoxelCylinderShape.js +21 -21
- package/Source/Scene/VoxelEllipsoidShape.js +13 -13
- package/Source/Scene/VoxelPrimitive.js +83 -135
- package/Source/Scene/VoxelProvider.js +15 -15
- 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 +313 -152
- package/Source/Scene/WebMapTileServiceImageryProvider.js +305 -142
- package/Source/Scene/buildVoxelDrawCommands.js +1 -0
- package/Source/Scene/computeFlyToLocationForRectangle.js +33 -37
- package/Source/Scene/createBillboardPointCallback.js +5 -5
- package/Source/Scene/createElevationBandMaterial.js +5 -5
- package/Source/Scene/createOsmBuildings.js +9 -3
- package/Source/Scene/createOsmBuildingsAsync.js +82 -0
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +2 -2
- package/Source/Scene/createWorldImagery.js +15 -6
- package/Source/Scene/createWorldImageryAsync.js +39 -0
- 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 +78 -50
- package/Source/Workers/cesiumWorkerBootstrapper.js +18 -18
- package/Source/WorkersES6/createTaskProcessorWorker.js +3 -3
- package/index.d.ts +2172 -1432
- package/index.js +8 -3
- 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
|
@@ -151,6 +151,7 @@ function processVoxelProperties(renderResources, primitive) {
|
|
|
151
151
|
shaderBuilder.addStructField(voxelStructId, "vec3", "positionUvLocal");
|
|
152
152
|
shaderBuilder.addStructField(voxelStructId, "vec3", "viewDirUv");
|
|
153
153
|
shaderBuilder.addStructField(voxelStructId, "vec3", "viewDirWorld");
|
|
154
|
+
shaderBuilder.addStructField(voxelStructId, "vec3", "surfaceNormal");
|
|
154
155
|
shaderBuilder.addStructField(voxelStructId, "float", "travelDistance");
|
|
155
156
|
|
|
156
157
|
// FragmentInput struct
|
|
@@ -355,7 +356,7 @@ function processVoxelProperties(renderResources, primitive) {
|
|
|
355
356
|
* @function
|
|
356
357
|
*
|
|
357
358
|
* @param {MetadataType} type The {@link MetadataType}.
|
|
358
|
-
* @returns {
|
|
359
|
+
* @returns {string} The GLSL type.
|
|
359
360
|
*
|
|
360
361
|
* @private
|
|
361
362
|
*/
|
|
@@ -377,7 +378,7 @@ function getGlslType(type) {
|
|
|
377
378
|
* @function
|
|
378
379
|
*
|
|
379
380
|
* @param {MetadataType} type The {@link MetadataType}.
|
|
380
|
-
* @returns {
|
|
381
|
+
* @returns {string} The GLSL swizzle.
|
|
381
382
|
*
|
|
382
383
|
* @private
|
|
383
384
|
*/
|
|
@@ -399,7 +400,7 @@ function getGlslTextureSwizzle(type) {
|
|
|
399
400
|
* @function
|
|
400
401
|
*
|
|
401
402
|
* @param {MetadataType} type The {@link MetadataType}.
|
|
402
|
-
* @returns {
|
|
403
|
+
* @returns {string} The GLSL type.
|
|
403
404
|
*
|
|
404
405
|
* @private
|
|
405
406
|
*/
|
|
@@ -421,8 +422,8 @@ function getGlslPartialDerivativeType(type) {
|
|
|
421
422
|
*
|
|
422
423
|
* @function
|
|
423
424
|
*
|
|
424
|
-
* @param {
|
|
425
|
-
* @returns {
|
|
425
|
+
* @param {number} number The number to convert.
|
|
426
|
+
* @returns {string} The number as floating point in GLSL.
|
|
426
427
|
*
|
|
427
428
|
* @private
|
|
428
429
|
*/
|
|
@@ -440,8 +441,8 @@ function getGlslNumberAsFloat(number) {
|
|
|
440
441
|
* @function
|
|
441
442
|
*
|
|
442
443
|
* @param {MetadataType} type
|
|
443
|
-
* @param {
|
|
444
|
-
* @returns {
|
|
444
|
+
* @param {number} index
|
|
445
|
+
* @returns {string}
|
|
445
446
|
*
|
|
446
447
|
* @private
|
|
447
448
|
*/
|
|
@@ -1,79 +1,73 @@
|
|
|
1
1
|
// See IntersectionUtils.glsl for the definitions of Ray and NO_HIT
|
|
2
|
+
// See convertUvToBox.glsl for the definition of convertShapeUvToUvSpace
|
|
2
3
|
|
|
3
4
|
/* Box defines (set in Scene/VoxelBoxShape.js)
|
|
4
5
|
#define BOX_INTERSECTION_INDEX ### // always 0
|
|
5
|
-
#define BOX_HAS_RENDER_BOUNDS
|
|
6
|
-
#define BOX_IS_2D
|
|
7
6
|
*/
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// This matrix bakes in an axis conversion so that the math works for XY plane.
|
|
12
|
-
uniform mat4 u_boxUvToRenderBoundsTransform;
|
|
13
|
-
#else
|
|
14
|
-
// Similar to u_boxTransformUvToBounds but fewer instructions needed.
|
|
15
|
-
uniform vec3 u_boxUvToRenderBoundsScale;
|
|
16
|
-
uniform vec3 u_boxUvToRenderBoundsTranslate;
|
|
17
|
-
#endif
|
|
18
|
-
#endif
|
|
8
|
+
uniform vec3 u_renderMinBounds;
|
|
9
|
+
uniform vec3 u_renderMaxBounds;
|
|
19
10
|
|
|
20
|
-
|
|
11
|
+
struct Box {
|
|
12
|
+
vec3 p0;
|
|
13
|
+
vec3 p1;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
Box constructVoxelBox(in ivec4 octreeCoords, in vec3 tileUv)
|
|
21
17
|
{
|
|
22
|
-
|
|
23
|
-
vec3
|
|
18
|
+
// Find the min/max cornerpoints of the voxel in tile coordinates
|
|
19
|
+
vec3 tileOrigin = vec3(octreeCoords.xyz);
|
|
20
|
+
vec3 numSamples = vec3(u_dimensions);
|
|
21
|
+
vec3 voxelSize = 1.0 / numSamples;
|
|
22
|
+
vec3 coordP0 = floor(tileUv * numSamples) * voxelSize + tileOrigin;
|
|
23
|
+
vec3 coordP1 = coordP0 + voxelSize;
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
vec3
|
|
28
|
-
vec3
|
|
29
|
-
vec3 m0 = min(t0, t1);
|
|
30
|
-
vec3 m1 = max(t0, t1);
|
|
31
|
-
float tMin = max(max(m0.x, m0.y), m0.z);
|
|
32
|
-
float tMax = min(min(m1.x, m1.y), m1.z);
|
|
25
|
+
// Transform to the UV coordinates of the scaled tileset
|
|
26
|
+
float tileSize = 1.0 / pow(2.0, float(octreeCoords.w));
|
|
27
|
+
vec3 p0 = convertShapeUvToUvSpace(coordP0 * tileSize);
|
|
28
|
+
vec3 p1 = convertShapeUvToUvSpace(coordP1 * tileSize);
|
|
33
29
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
30
|
+
return Box(p0, p1);
|
|
31
|
+
}
|
|
37
32
|
|
|
38
|
-
|
|
33
|
+
vec3 getBoxNormal(in Box box, in Ray ray, in float t)
|
|
34
|
+
{
|
|
35
|
+
vec3 hitPoint = ray.pos + t * ray.dir;
|
|
36
|
+
vec3 lower = step(hitPoint, box.p0);
|
|
37
|
+
vec3 upper = step(box.p1, hitPoint);
|
|
38
|
+
return normalize(upper - lower);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
// Find the distances along a ray at which the ray intersects an axis-aligned box
|
|
42
|
+
// See https://tavianator.com/2011/ray_box.html
|
|
43
|
+
RayShapeIntersection intersectBox(in Ray ray, in Box box)
|
|
42
44
|
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
// Consider the box as the intersection of the space between 3 pairs of parallel planes
|
|
46
|
+
// Compute the distance along the ray to each plane
|
|
47
|
+
vec3 t0 = (box.p0 - ray.pos) * ray.dInv;
|
|
48
|
+
vec3 t1 = (box.p1 - ray.pos) * ray.dInv;
|
|
45
49
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
// Identify candidate entries/exits based on distance from ray.pos
|
|
51
|
+
vec3 entries = min(t0, t1);
|
|
52
|
+
vec3 exits = max(t0, t1);
|
|
53
|
+
|
|
54
|
+
// The actual box intersection points are the furthest entry and the closest exit
|
|
55
|
+
float entryT = max(max(entries.x, entries.y), entries.z);
|
|
56
|
+
float exitT = min(min(exits.x, exits.y), exits.z);
|
|
57
|
+
|
|
58
|
+
vec3 entryNormal = getBoxNormal(box, ray, entryT - RAY_SHIFT);
|
|
59
|
+
vec3 exitNormal = getBoxNormal(box, ray, exitT + RAY_SHIFT);
|
|
60
|
+
|
|
61
|
+
if (entryT > exitT) {
|
|
62
|
+
entryT = NO_HIT;
|
|
63
|
+
exitT = NO_HIT;
|
|
50
64
|
}
|
|
51
65
|
|
|
52
|
-
return
|
|
66
|
+
return RayShapeIntersection(vec4(entryNormal, entryT), vec4(exitNormal, exitT));
|
|
53
67
|
}
|
|
54
68
|
|
|
55
|
-
void intersectShape(Ray ray, inout Intersections ix)
|
|
69
|
+
void intersectShape(in Ray ray, inout Intersections ix)
|
|
56
70
|
{
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
// Transform the ray into unit square space on Z plane
|
|
60
|
-
// This matrix bakes in an axis conversion so that the math works for XY plane.
|
|
61
|
-
ray.pos = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.pos, 1.0));
|
|
62
|
-
ray.dir = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.dir, 0.0));
|
|
63
|
-
vec2 entryExit = intersectUnitSquare(ray);
|
|
64
|
-
#else
|
|
65
|
-
// Transform the ray into unit cube space
|
|
66
|
-
ray.pos = ray.pos * u_boxUvToRenderBoundsScale + u_boxUvToRenderBoundsTranslate;
|
|
67
|
-
ray.dir *= u_boxUvToRenderBoundsScale;
|
|
68
|
-
vec2 entryExit = intersectUnitCube(ray);
|
|
69
|
-
#endif
|
|
70
|
-
#else
|
|
71
|
-
// Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1].
|
|
72
|
-
// Direction is scaled as well to be in sync with position.
|
|
73
|
-
ray.pos = ray.pos * 2.0 - 1.0;
|
|
74
|
-
ray.dir = ray.dir * 2.0;
|
|
75
|
-
vec2 entryExit = intersectUnitCube(ray);
|
|
76
|
-
#endif
|
|
77
|
-
|
|
78
|
-
setIntersectionPair(ix, BOX_INTERSECTION_INDEX, entryExit);
|
|
71
|
+
RayShapeIntersection intersection = intersectBox(ray, Box(u_renderMinBounds, u_renderMaxBounds));
|
|
72
|
+
setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection);
|
|
79
73
|
}
|
|
@@ -1,81 +1,75 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
2
|
export default "// See IntersectionUtils.glsl for the definitions of Ray and NO_HIT\n\
|
|
3
|
+
// See convertUvToBox.glsl for the definition of convertShapeUvToUvSpace\n\
|
|
3
4
|
\n\
|
|
4
5
|
/* Box defines (set in Scene/VoxelBoxShape.js)\n\
|
|
5
6
|
#define BOX_INTERSECTION_INDEX ### // always 0\n\
|
|
6
|
-
#define BOX_HAS_RENDER_BOUNDS\n\
|
|
7
|
-
#define BOX_IS_2D\n\
|
|
8
7
|
*/\n\
|
|
9
8
|
\n\
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
// This matrix bakes in an axis conversion so that the math works for XY plane.\n\
|
|
13
|
-
uniform mat4 u_boxUvToRenderBoundsTransform;\n\
|
|
14
|
-
#else\n\
|
|
15
|
-
// Similar to u_boxTransformUvToBounds but fewer instructions needed.\n\
|
|
16
|
-
uniform vec3 u_boxUvToRenderBoundsScale;\n\
|
|
17
|
-
uniform vec3 u_boxUvToRenderBoundsTranslate;\n\
|
|
18
|
-
#endif\n\
|
|
19
|
-
#endif\n\
|
|
9
|
+
uniform vec3 u_renderMinBounds;\n\
|
|
10
|
+
uniform vec3 u_renderMaxBounds;\n\
|
|
20
11
|
\n\
|
|
21
|
-
|
|
12
|
+
struct Box {\n\
|
|
13
|
+
vec3 p0;\n\
|
|
14
|
+
vec3 p1;\n\
|
|
15
|
+
};\n\
|
|
16
|
+
\n\
|
|
17
|
+
Box constructVoxelBox(in ivec4 octreeCoords, in vec3 tileUv)\n\
|
|
22
18
|
{\n\
|
|
23
|
-
|
|
24
|
-
vec3
|
|
19
|
+
// Find the min/max cornerpoints of the voxel in tile coordinates\n\
|
|
20
|
+
vec3 tileOrigin = vec3(octreeCoords.xyz);\n\
|
|
21
|
+
vec3 numSamples = vec3(u_dimensions);\n\
|
|
22
|
+
vec3 voxelSize = 1.0 / numSamples;\n\
|
|
23
|
+
vec3 coordP0 = floor(tileUv * numSamples) * voxelSize + tileOrigin;\n\
|
|
24
|
+
vec3 coordP1 = coordP0 + voxelSize;\n\
|
|
25
25
|
\n\
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
vec3
|
|
29
|
-
vec3
|
|
30
|
-
vec3 m0 = min(t0, t1);\n\
|
|
31
|
-
vec3 m1 = max(t0, t1);\n\
|
|
32
|
-
float tMin = max(max(m0.x, m0.y), m0.z);\n\
|
|
33
|
-
float tMax = min(min(m1.x, m1.y), m1.z);\n\
|
|
26
|
+
// Transform to the UV coordinates of the scaled tileset\n\
|
|
27
|
+
float tileSize = 1.0 / pow(2.0, float(octreeCoords.w));\n\
|
|
28
|
+
vec3 p0 = convertShapeUvToUvSpace(coordP0 * tileSize);\n\
|
|
29
|
+
vec3 p1 = convertShapeUvToUvSpace(coordP1 * tileSize);\n\
|
|
34
30
|
\n\
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}\n\
|
|
31
|
+
return Box(p0, p1);\n\
|
|
32
|
+
}\n\
|
|
38
33
|
\n\
|
|
39
|
-
|
|
34
|
+
vec3 getBoxNormal(in Box box, in Ray ray, in float t)\n\
|
|
35
|
+
{\n\
|
|
36
|
+
vec3 hitPoint = ray.pos + t * ray.dir;\n\
|
|
37
|
+
vec3 lower = step(hitPoint, box.p0);\n\
|
|
38
|
+
vec3 upper = step(box.p1, hitPoint);\n\
|
|
39
|
+
return normalize(upper - lower);\n\
|
|
40
40
|
}\n\
|
|
41
41
|
\n\
|
|
42
|
-
|
|
42
|
+
// Find the distances along a ray at which the ray intersects an axis-aligned box\n\
|
|
43
|
+
// See https://tavianator.com/2011/ray_box.html\n\
|
|
44
|
+
RayShapeIntersection intersectBox(in Ray ray, in Box box)\n\
|
|
43
45
|
{\n\
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
// Consider the box as the intersection of the space between 3 pairs of parallel planes\n\
|
|
47
|
+
// Compute the distance along the ray to each plane\n\
|
|
48
|
+
vec3 t0 = (box.p0 - ray.pos) * ray.dInv;\n\
|
|
49
|
+
vec3 t1 = (box.p1 - ray.pos) * ray.dInv;\n\
|
|
46
50
|
\n\
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
// Identify candidate entries/exits based on distance from ray.pos\n\
|
|
52
|
+
vec3 entries = min(t0, t1);\n\
|
|
53
|
+
vec3 exits = max(t0, t1);\n\
|
|
54
|
+
\n\
|
|
55
|
+
// The actual box intersection points are the furthest entry and the closest exit\n\
|
|
56
|
+
float entryT = max(max(entries.x, entries.y), entries.z);\n\
|
|
57
|
+
float exitT = min(min(exits.x, exits.y), exits.z);\n\
|
|
58
|
+
\n\
|
|
59
|
+
vec3 entryNormal = getBoxNormal(box, ray, entryT - RAY_SHIFT);\n\
|
|
60
|
+
vec3 exitNormal = getBoxNormal(box, ray, exitT + RAY_SHIFT);\n\
|
|
61
|
+
\n\
|
|
62
|
+
if (entryT > exitT) {\n\
|
|
63
|
+
entryT = NO_HIT;\n\
|
|
64
|
+
exitT = NO_HIT;\n\
|
|
51
65
|
}\n\
|
|
52
66
|
\n\
|
|
53
|
-
return
|
|
67
|
+
return RayShapeIntersection(vec4(entryNormal, entryT), vec4(exitNormal, exitT));\n\
|
|
54
68
|
}\n\
|
|
55
69
|
\n\
|
|
56
|
-
void intersectShape(Ray ray, inout Intersections ix)\n\
|
|
70
|
+
void intersectShape(in Ray ray, inout Intersections ix)\n\
|
|
57
71
|
{\n\
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
// Transform the ray into unit square space on Z plane\n\
|
|
61
|
-
// This matrix bakes in an axis conversion so that the math works for XY plane.\n\
|
|
62
|
-
ray.pos = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.pos, 1.0));\n\
|
|
63
|
-
ray.dir = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.dir, 0.0));\n\
|
|
64
|
-
vec2 entryExit = intersectUnitSquare(ray);\n\
|
|
65
|
-
#else\n\
|
|
66
|
-
// Transform the ray into unit cube space\n\
|
|
67
|
-
ray.pos = ray.pos * u_boxUvToRenderBoundsScale + u_boxUvToRenderBoundsTranslate;\n\
|
|
68
|
-
ray.dir *= u_boxUvToRenderBoundsScale;\n\
|
|
69
|
-
vec2 entryExit = intersectUnitCube(ray);\n\
|
|
70
|
-
#endif\n\
|
|
71
|
-
#else\n\
|
|
72
|
-
// Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1].\n\
|
|
73
|
-
// Direction is scaled as well to be in sync with position.\n\
|
|
74
|
-
ray.pos = ray.pos * 2.0 - 1.0;\n\
|
|
75
|
-
ray.dir = ray.dir * 2.0;\n\
|
|
76
|
-
vec2 entryExit = intersectUnitCube(ray);\n\
|
|
77
|
-
#endif\n\
|
|
78
|
-
\n\
|
|
79
|
-
setIntersectionPair(ix, BOX_INTERSECTION_INDEX, entryExit);\n\
|
|
72
|
+
RayShapeIntersection intersection = intersectBox(ray, Box(u_renderMinBounds, u_renderMaxBounds));\n\
|
|
73
|
+
setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection);\n\
|
|
80
74
|
}\n\
|
|
81
75
|
";
|
|
@@ -11,60 +11,68 @@ uniform sampler2D u_clippingPlanesTexture;
|
|
|
11
11
|
uniform mat4 u_clippingPlanesMatrix;
|
|
12
12
|
|
|
13
13
|
// Plane is in Hessian Normal Form
|
|
14
|
-
|
|
15
|
-
vec3 o = ray.pos;
|
|
16
|
-
vec3 d = ray.dir;
|
|
14
|
+
vec4 intersectPlane(in Ray ray, in vec4 plane) {
|
|
17
15
|
vec3 n = plane.xyz; // normal
|
|
18
16
|
float w = plane.w; // -dot(pointOnPlane, normal)
|
|
19
17
|
|
|
20
|
-
float a = dot(
|
|
21
|
-
float b = dot(
|
|
18
|
+
float a = dot(ray.pos, n);
|
|
19
|
+
float b = dot(ray.dir, n);
|
|
22
20
|
float t = -(w + a) / b;
|
|
23
21
|
|
|
24
|
-
|
|
25
|
-
return vec2(t, +INF_HIT);
|
|
26
|
-
} else {
|
|
27
|
-
return vec2(-INF_HIT, t);
|
|
28
|
-
}
|
|
22
|
+
return vec4(n, t);
|
|
29
23
|
}
|
|
30
24
|
|
|
31
|
-
void intersectClippingPlanes(Ray ray, inout Intersections ix) {
|
|
25
|
+
void intersectClippingPlanes(in Ray ray, inout Intersections ix) {
|
|
26
|
+
vec4 backSide = vec4(-ray.dir, -INF_HIT);
|
|
27
|
+
vec4 farSide = vec4(ray.dir, +INF_HIT);
|
|
28
|
+
RayShapeIntersection clippingVolume;
|
|
29
|
+
|
|
32
30
|
#if (CLIPPING_PLANES_COUNT == 1)
|
|
33
31
|
// Union and intersection are the same when there's one clipping plane, and the code
|
|
34
32
|
// is more simplified.
|
|
35
33
|
vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix);
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
vec4 intersection = intersectPlane(ray, planeUv);
|
|
35
|
+
bool reflects = dot(ray.dir, intersection.xyz) < 0.0;
|
|
36
|
+
clippingVolume.entry = reflects ? backSide : intersection;
|
|
37
|
+
clippingVolume.exit = reflects ? intersection : farSide;
|
|
38
|
+
setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume);
|
|
38
39
|
#elif defined(CLIPPING_PLANES_UNION)
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
vec4 firstTransmission = vec4(ray.dir, +INF_HIT);
|
|
41
|
+
vec4 lastReflection = vec4(-ray.dir, -INF_HIT);
|
|
41
42
|
for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) {
|
|
42
43
|
vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix);
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
|
|
44
|
+
vec4 intersection = intersectPlane(ray, planeUv);
|
|
45
|
+
if (dot(ray.dir, planeUv.xyz) > 0.0) {
|
|
46
|
+
firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission;
|
|
46
47
|
} else {
|
|
47
|
-
|
|
48
|
+
lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
clippingVolume.entry = backSide;
|
|
52
|
+
clippingVolume.exit = lastReflection;
|
|
53
|
+
setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume);
|
|
54
|
+
clippingVolume.entry = firstTransmission;
|
|
55
|
+
clippingVolume.exit = farSide;
|
|
56
|
+
setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume);
|
|
52
57
|
#else // intersection
|
|
53
|
-
|
|
54
|
-
|
|
58
|
+
vec4 lastTransmission = vec4(ray.dir, -INF_HIT);
|
|
59
|
+
vec4 firstReflection = vec4(-ray.dir, +INF_HIT);
|
|
55
60
|
for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) {
|
|
56
61
|
vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix);
|
|
57
|
-
|
|
58
|
-
if (
|
|
59
|
-
|
|
62
|
+
vec4 intersection = intersectPlane(ray, planeUv);
|
|
63
|
+
if (dot(ray.dir, planeUv.xyz) > 0.0) {
|
|
64
|
+
lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission;
|
|
60
65
|
} else {
|
|
61
|
-
|
|
66
|
+
firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection;
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
|
-
if (
|
|
65
|
-
|
|
69
|
+
if (lastTransmission.w < firstReflection.w) {
|
|
70
|
+
clippingVolume.entry = lastTransmission;
|
|
71
|
+
clippingVolume.exit = firstReflection;
|
|
66
72
|
} else {
|
|
67
|
-
|
|
73
|
+
clippingVolume.entry = vec4(-ray.dir, NO_HIT);
|
|
74
|
+
clippingVolume.exit = vec4(ray.dir, NO_HIT);
|
|
68
75
|
}
|
|
76
|
+
setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume);
|
|
69
77
|
#endif
|
|
70
78
|
}
|
|
@@ -12,61 +12,69 @@ uniform sampler2D u_clippingPlanesTexture;\n\
|
|
|
12
12
|
uniform mat4 u_clippingPlanesMatrix;\n\
|
|
13
13
|
\n\
|
|
14
14
|
// Plane is in Hessian Normal Form\n\
|
|
15
|
-
|
|
16
|
-
vec3 o = ray.pos;\n\
|
|
17
|
-
vec3 d = ray.dir;\n\
|
|
15
|
+
vec4 intersectPlane(in Ray ray, in vec4 plane) {\n\
|
|
18
16
|
vec3 n = plane.xyz; // normal\n\
|
|
19
17
|
float w = plane.w; // -dot(pointOnPlane, normal)\n\
|
|
20
18
|
\n\
|
|
21
|
-
float a = dot(
|
|
22
|
-
float b = dot(
|
|
19
|
+
float a = dot(ray.pos, n);\n\
|
|
20
|
+
float b = dot(ray.dir, n);\n\
|
|
23
21
|
float t = -(w + a) / b;\n\
|
|
24
22
|
\n\
|
|
25
|
-
|
|
26
|
-
return vec2(t, +INF_HIT);\n\
|
|
27
|
-
} else {\n\
|
|
28
|
-
return vec2(-INF_HIT, t);\n\
|
|
29
|
-
}\n\
|
|
23
|
+
return vec4(n, t);\n\
|
|
30
24
|
}\n\
|
|
31
25
|
\n\
|
|
32
|
-
void intersectClippingPlanes(Ray ray, inout Intersections ix) {\n\
|
|
26
|
+
void intersectClippingPlanes(in Ray ray, inout Intersections ix) {\n\
|
|
27
|
+
vec4 backSide = vec4(-ray.dir, -INF_HIT);\n\
|
|
28
|
+
vec4 farSide = vec4(ray.dir, +INF_HIT);\n\
|
|
29
|
+
RayShapeIntersection clippingVolume;\n\
|
|
30
|
+
\n\
|
|
33
31
|
#if (CLIPPING_PLANES_COUNT == 1)\n\
|
|
34
32
|
// Union and intersection are the same when there's one clipping plane, and the code\n\
|
|
35
33
|
// is more simplified.\n\
|
|
36
34
|
vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix);\n\
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
vec4 intersection = intersectPlane(ray, planeUv);\n\
|
|
36
|
+
bool reflects = dot(ray.dir, intersection.xyz) < 0.0;\n\
|
|
37
|
+
clippingVolume.entry = reflects ? backSide : intersection;\n\
|
|
38
|
+
clippingVolume.exit = reflects ? intersection : farSide;\n\
|
|
39
|
+
setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume);\n\
|
|
39
40
|
#elif defined(CLIPPING_PLANES_UNION)\n\
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
vec4 firstTransmission = vec4(ray.dir, +INF_HIT);\n\
|
|
42
|
+
vec4 lastReflection = vec4(-ray.dir, -INF_HIT);\n\
|
|
42
43
|
for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) {\n\
|
|
43
44
|
vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix);\n\
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
|
|
45
|
+
vec4 intersection = intersectPlane(ray, planeUv);\n\
|
|
46
|
+
if (dot(ray.dir, planeUv.xyz) > 0.0) {\n\
|
|
47
|
+
firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission;\n\
|
|
47
48
|
} else {\n\
|
|
48
|
-
|
|
49
|
+
lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection;\n\
|
|
49
50
|
}\n\
|
|
50
51
|
}\n\
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
clippingVolume.entry = backSide;\n\
|
|
53
|
+
clippingVolume.exit = lastReflection;\n\
|
|
54
|
+
setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume);\n\
|
|
55
|
+
clippingVolume.entry = firstTransmission;\n\
|
|
56
|
+
clippingVolume.exit = farSide;\n\
|
|
57
|
+
setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume);\n\
|
|
53
58
|
#else // intersection\n\
|
|
54
|
-
|
|
55
|
-
|
|
59
|
+
vec4 lastTransmission = vec4(ray.dir, -INF_HIT);\n\
|
|
60
|
+
vec4 firstReflection = vec4(-ray.dir, +INF_HIT);\n\
|
|
56
61
|
for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) {\n\
|
|
57
62
|
vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix);\n\
|
|
58
|
-
|
|
59
|
-
if (
|
|
60
|
-
|
|
63
|
+
vec4 intersection = intersectPlane(ray, planeUv);\n\
|
|
64
|
+
if (dot(ray.dir, planeUv.xyz) > 0.0) {\n\
|
|
65
|
+
lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission;\n\
|
|
61
66
|
} else {\n\
|
|
62
|
-
|
|
67
|
+
firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection;\n\
|
|
63
68
|
}\n\
|
|
64
69
|
}\n\
|
|
65
|
-
if (
|
|
66
|
-
|
|
70
|
+
if (lastTransmission.w < firstReflection.w) {\n\
|
|
71
|
+
clippingVolume.entry = lastTransmission;\n\
|
|
72
|
+
clippingVolume.exit = firstReflection;\n\
|
|
67
73
|
} else {\n\
|
|
68
|
-
|
|
74
|
+
clippingVolume.entry = vec4(-ray.dir, NO_HIT);\n\
|
|
75
|
+
clippingVolume.exit = vec4(ray.dir, NO_HIT);\n\
|
|
69
76
|
}\n\
|
|
77
|
+
setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume);\n\
|
|
70
78
|
#endif\n\
|
|
71
79
|
}\n\
|
|
72
80
|
";
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
uniform mat4 u_transformPositionViewToUv;
|
|
9
9
|
|
|
10
|
-
void intersectDepth(vec2 screenCoord, Ray ray, inout Intersections ix) {
|
|
10
|
+
void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) {
|
|
11
11
|
float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord));
|
|
12
12
|
if (logDepthOrDepth != 0.0) {
|
|
13
13
|
// Calculate how far the ray must travel before it hits the depth buffer.
|
|
@@ -8,7 +8,7 @@ export default "// See IntersectionUtils.glsl for the definitions of Ray, Inters
|
|
|
8
8
|
\n\
|
|
9
9
|
uniform mat4 u_transformPositionViewToUv;\n\
|
|
10
10
|
\n\
|
|
11
|
-
void intersectDepth(vec2 screenCoord, Ray ray, inout Intersections ix) {\n\
|
|
11
|
+
void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) {\n\
|
|
12
12
|
float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord));\n\
|
|
13
13
|
if (logDepthOrDepth != 0.0) {\n\
|
|
14
14
|
// Calculate how far the ray must travel before it hits the depth buffer.\n\
|
|
@@ -5,23 +5,21 @@
|
|
|
5
5
|
// Scene/VoxelRenderResources.js.
|
|
6
6
|
// See also IntersectClippingPlane.glsl and IntersectDepth.glsl.
|
|
7
7
|
// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT,
|
|
8
|
-
//
|
|
8
|
+
// getFirstIntersection, initializeIntersections, nextIntersection.
|
|
9
9
|
|
|
10
10
|
/* Intersection defines (set in Scene/VoxelRenderResources.js)
|
|
11
11
|
#define INTERSECTION_COUNT ###
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
Ray ray = Ray(positionUv, directionUv);
|
|
16
|
-
|
|
14
|
+
RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) {
|
|
17
15
|
// Do a ray-shape intersection to find the exact starting and ending points.
|
|
18
16
|
intersectShape(ray, ix);
|
|
19
17
|
|
|
20
18
|
// Exit early if the positive shape was completely missed or behind the ray.
|
|
21
|
-
|
|
22
|
-
if (
|
|
19
|
+
RayShapeIntersection intersection = getFirstIntersection(ix);
|
|
20
|
+
if (intersection.entry.w == NO_HIT) {
|
|
23
21
|
// Positive shape was completely missed - so exit early.
|
|
24
|
-
return
|
|
22
|
+
return intersection;
|
|
25
23
|
}
|
|
26
24
|
|
|
27
25
|
// Clipping planes
|
|
@@ -38,17 +36,17 @@ vec2 intersectScene(vec2 screenCoord, vec3 positionUv, vec3 directionUv, out Int
|
|
|
38
36
|
#if (INTERSECTION_COUNT > 1)
|
|
39
37
|
initializeIntersections(ix);
|
|
40
38
|
for (int i = 0; i < INTERSECTION_COUNT; ++i) {
|
|
41
|
-
|
|
42
|
-
if (
|
|
39
|
+
intersection = nextIntersection(ix);
|
|
40
|
+
if (intersection.exit.w > 0.0) {
|
|
43
41
|
// Set start to 0.0 when ray is inside the shape.
|
|
44
|
-
|
|
42
|
+
intersection.entry.w = max(intersection.entry.w, 0.0);
|
|
45
43
|
break;
|
|
46
44
|
}
|
|
47
45
|
}
|
|
48
46
|
#else
|
|
49
47
|
// Set start to 0.0 when ray is inside the shape.
|
|
50
|
-
|
|
48
|
+
intersection.entry.w = max(intersection.entry.w, 0.0);
|
|
51
49
|
#endif
|
|
52
50
|
|
|
53
|
-
return
|
|
51
|
+
return intersection;
|
|
54
52
|
}
|
|
@@ -6,23 +6,21 @@ export default "// Main intersection function for Voxel scenes.\n\
|
|
|
6
6
|
// Scene/VoxelRenderResources.js.\n\
|
|
7
7
|
// See also IntersectClippingPlane.glsl and IntersectDepth.glsl.\n\
|
|
8
8
|
// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT,\n\
|
|
9
|
-
//
|
|
9
|
+
// getFirstIntersection, initializeIntersections, nextIntersection.\n\
|
|
10
10
|
\n\
|
|
11
11
|
/* Intersection defines (set in Scene/VoxelRenderResources.js)\n\
|
|
12
12
|
#define INTERSECTION_COUNT ###\n\
|
|
13
13
|
*/\n\
|
|
14
14
|
\n\
|
|
15
|
-
|
|
16
|
-
Ray ray = Ray(positionUv, directionUv);\n\
|
|
17
|
-
\n\
|
|
15
|
+
RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) {\n\
|
|
18
16
|
// Do a ray-shape intersection to find the exact starting and ending points.\n\
|
|
19
17
|
intersectShape(ray, ix);\n\
|
|
20
18
|
\n\
|
|
21
19
|
// Exit early if the positive shape was completely missed or behind the ray.\n\
|
|
22
|
-
|
|
23
|
-
if (
|
|
20
|
+
RayShapeIntersection intersection = getFirstIntersection(ix);\n\
|
|
21
|
+
if (intersection.entry.w == NO_HIT) {\n\
|
|
24
22
|
// Positive shape was completely missed - so exit early.\n\
|
|
25
|
-
return
|
|
23
|
+
return intersection;\n\
|
|
26
24
|
}\n\
|
|
27
25
|
\n\
|
|
28
26
|
// Clipping planes\n\
|
|
@@ -39,18 +37,18 @@ vec2 intersectScene(vec2 screenCoord, vec3 positionUv, vec3 directionUv, out Int
|
|
|
39
37
|
#if (INTERSECTION_COUNT > 1)\n\
|
|
40
38
|
initializeIntersections(ix);\n\
|
|
41
39
|
for (int i = 0; i < INTERSECTION_COUNT; ++i) {\n\
|
|
42
|
-
|
|
43
|
-
if (
|
|
40
|
+
intersection = nextIntersection(ix);\n\
|
|
41
|
+
if (intersection.exit.w > 0.0) {\n\
|
|
44
42
|
// Set start to 0.0 when ray is inside the shape.\n\
|
|
45
|
-
|
|
43
|
+
intersection.entry.w = max(intersection.entry.w, 0.0);\n\
|
|
46
44
|
break;\n\
|
|
47
45
|
}\n\
|
|
48
46
|
}\n\
|
|
49
47
|
#else\n\
|
|
50
48
|
// Set start to 0.0 when ray is inside the shape.\n\
|
|
51
|
-
|
|
49
|
+
intersection.entry.w = max(intersection.entry.w, 0.0);\n\
|
|
52
50
|
#endif\n\
|
|
53
51
|
\n\
|
|
54
|
-
return
|
|
52
|
+
return intersection;\n\
|
|
55
53
|
}\n\
|
|
56
54
|
";
|