@cesium/engine 10.1.0 → 11.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/{chunk-EB7PNZTK.js → chunk-26GA3JAM.js} +6 -5
- package/Build/Workers/{chunk-RZLZWKFN.js → chunk-27HUZ7SA.js} +4 -4
- package/Build/Workers/{chunk-A5CODJ4M.js → chunk-2ZGOQXYU.js} +6 -6
- package/Build/Workers/{chunk-TF776XCO.js → chunk-3Q2L65QU.js} +7 -7
- package/Build/Workers/{chunk-NVOABL76.js → chunk-472HQ3EH.js} +5 -5
- package/Build/Workers/{chunk-QX5XS4LC.js → chunk-5ODQSF26.js} +2 -2
- package/Build/Workers/{chunk-4YSNMHZ4.js → chunk-5OOFQLKF.js} +6 -6
- package/Build/Workers/{chunk-OXALEQPI.js → chunk-5PTXS2GO.js} +49 -23
- package/Build/Workers/{chunk-T77JILCU.js → chunk-6CHGCNMW.js} +2 -2
- package/Build/Workers/{chunk-FEVVHITK.js → chunk-76BYBWHP.js} +4 -4
- package/Build/Workers/{chunk-65MZOUNU.js → chunk-7BMOHCPM.js} +13 -13
- package/Build/Workers/{chunk-VE7BFUIX.js → chunk-7JO7GPJN.js} +1 -1
- package/Build/Workers/{chunk-5BLJ5ZM6.js → chunk-7KTQP4VB.js} +5 -5
- package/Build/Workers/{chunk-G5V4GPZE.js → chunk-7O373FFS.js} +8 -34
- package/Build/Workers/{chunk-S3PI2KFM.js → chunk-AD63PIY6.js} +2 -2
- package/Build/Workers/{chunk-6D66DPRV.js → chunk-BHQJ2NT7.js} +6 -6
- package/Build/Workers/{chunk-I2RC4XVN.js → chunk-C6YYBQXW.js} +4 -4
- package/Build/Workers/{chunk-X2ZQ7RJR.js → chunk-CKY7HOHV.js} +9 -9
- package/Build/Workers/{chunk-TO2PVHKI.js → chunk-DHYHSFFJ.js} +2 -2
- package/Build/Workers/{chunk-R6B7UCQB.js → chunk-DI5NGJUP.js} +2 -2
- package/Build/Workers/{chunk-X23FRWHJ.js → chunk-E27BLMDD.js} +7 -9
- package/Build/Workers/{chunk-N4QEHO3U.js → chunk-E63IIM5T.js} +1 -1
- package/Build/Workers/{chunk-BY3E4ONI.js → chunk-E6V6SQZW.js} +6 -6
- package/Build/Workers/{chunk-LSSWVB2X.js → chunk-EJZTDTUH.js} +4 -4
- package/Build/Workers/{chunk-XLTOBCDI.js → chunk-FDOV2LBJ.js} +7 -7
- package/Build/Workers/{chunk-ACRTCBN5.js → chunk-FIGIZHAQ.js} +11 -11
- package/Build/Workers/{chunk-4RMIRG6T.js → chunk-GESF4OXQ.js} +2 -2
- package/Build/Workers/{chunk-PNFHVBSF.js → chunk-GGZJN2TI.js} +16 -15
- package/Build/Workers/{chunk-KV4EQHK4.js → chunk-GNBFYG7F.js} +83 -79
- package/Build/Workers/{chunk-FOZWUH4T.js → chunk-GWCFU2SA.js} +7 -7
- package/Build/Workers/{chunk-Q55ECN3Y.js → chunk-I2ITFFPX.js} +1 -1
- package/Build/Workers/{chunk-XQI7XZHX.js → chunk-IBLIYJZR.js} +6 -6
- package/Build/Workers/{chunk-D2U4RI64.js → chunk-JW4FOI6M.js} +7 -7
- package/Build/Workers/{chunk-2J3JKXCP.js → chunk-K4GQUNB5.js} +9 -5
- package/Build/Workers/{chunk-POSRARY7.js → chunk-M3GMB5OP.js} +10 -10
- package/Build/Workers/{chunk-OOK53QUQ.js → chunk-MXIZJAPH.js} +1 -1
- package/Build/Workers/{chunk-OWGTMVDB.js → chunk-N5KJGGCM.js} +18 -20
- package/Build/Workers/{chunk-J7MQUQJY.js → chunk-NGPPMXRM.js} +12 -7
- package/Build/Workers/{chunk-OOMCT7OL.js → chunk-O3E4OAOE.js} +13 -13
- package/Build/Workers/{chunk-C3Z23UUJ.js → chunk-PGRPDNHG.js} +19 -23
- package/Build/Workers/{chunk-4VFBBNQ3.js → chunk-PRGYLLJT.js} +1 -1
- package/Build/Workers/{chunk-XZZNKIEV.js → chunk-S6MRMMQU.js} +6 -6
- package/Build/Workers/{chunk-76BYYG7N.js → chunk-SMDOP47J.js} +10 -10
- package/Build/Workers/{chunk-ZU334IDQ.js → chunk-TGONEMZO.js} +11 -11
- package/Build/Workers/{chunk-VRZ46QZ5.js → chunk-TKVT5GQM.js} +13 -13
- package/Build/Workers/{chunk-FDCLACT5.js → chunk-U72QNFOJ.js} +15 -25
- package/Build/Workers/{chunk-F3NDOSTZ.js → chunk-VJZB3WAV.js} +7 -7
- package/Build/Workers/{chunk-GPJR7MPQ.js → chunk-VU2MNO7L.js} +7 -7
- package/Build/Workers/{chunk-R4OIEIPE.js → chunk-XY4BATBS.js} +4 -4
- package/Build/Workers/{chunk-T6LPN7RI.js → chunk-YFXQECWV.js} +5 -5
- package/Build/Workers/{chunk-UCIPJSZX.js → chunk-YSGTGQQO.js} +14 -14
- package/Build/Workers/{chunk-BGE4QVG7.js → chunk-YZ733KKS.js} +12 -12
- package/Build/Workers/combineGeometry.js +23 -25
- package/Build/Workers/createBoxGeometry.js +16 -16
- package/Build/Workers/createBoxOutlineGeometry.js +14 -14
- package/Build/Workers/createCircleGeometry.js +24 -24
- package/Build/Workers/createCircleOutlineGeometry.js +17 -17
- package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
- package/Build/Workers/createCorridorGeometry.js +27 -27
- package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
- package/Build/Workers/createCylinderGeometry.js +18 -18
- package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
- package/Build/Workers/createEllipseGeometry.js +24 -24
- package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
- package/Build/Workers/createEllipsoidGeometry.js +17 -17
- package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
- package/Build/Workers/createFrustumGeometry.js +16 -16
- package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
- package/Build/Workers/createGeometry.js +25 -26
- package/Build/Workers/createGroundPolylineGeometry.js +20 -20
- package/Build/Workers/createPlaneGeometry.js +14 -14
- package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
- package/Build/Workers/createPolygonGeometry.js +36 -40
- package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
- package/Build/Workers/createPolylineGeometry.js +23 -23
- package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
- package/Build/Workers/createRectangleGeometry.js +28 -30
- package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
- package/Build/Workers/createSimplePolylineGeometry.js +21 -21
- package/Build/Workers/createSphereGeometry.js +17 -17
- package/Build/Workers/createSphereOutlineGeometry.js +16 -16
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
- package/Build/Workers/createVectorTileGeometries.js +22 -22
- package/Build/Workers/createVectorTilePoints.js +12 -12
- package/Build/Workers/createVectorTilePolygons.js +20 -20
- package/Build/Workers/createVectorTilePolylines.js +13 -13
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
- package/Build/Workers/createVerticesFromHeightmap.js +26 -26
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
- package/Build/Workers/createWallGeometry.js +22 -22
- package/Build/Workers/createWallOutlineGeometry.js +21 -21
- package/Build/Workers/decodeDraco.js +11 -11
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/transcodeKTX2.js +19 -18
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
- package/Source/Core/ApproximateTerrainHeights.js +15 -15
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
- package/Source/Core/AttributeCompression.js +12 -12
- package/Source/Core/AxisAlignedBoundingBox.js +2 -2
- package/Source/Core/BingMapsGeocoderService.js +1 -1
- package/Source/Core/BoundingRectangle.js +3 -3
- package/Source/Core/BoundingSphere.js +44 -44
- package/Source/Core/BoxGeometry.js +6 -6
- package/Source/Core/BoxOutlineGeometry.js +3 -3
- package/Source/Core/Cartesian2.js +7 -7
- package/Source/Core/Cartesian3.js +20 -20
- package/Source/Core/Cartesian4.js +8 -8
- package/Source/Core/Cartographic.js +6 -6
- package/Source/Core/CatmullRomSpline.js +6 -6
- package/Source/Core/CesiumTerrainProvider.js +66 -68
- package/Source/Core/Check.d.ts +3 -3
- package/Source/Core/Check.js +11 -11
- package/Source/Core/CircleGeometry.js +6 -6
- package/Source/Core/CircleOutlineGeometry.js +4 -4
- package/Source/Core/Clock.js +4 -4
- package/Source/Core/Color.js +11 -8
- package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
- package/Source/Core/ComponentDatatype.js +4 -4
- package/Source/Core/CompressedTextureBuffer.js +13 -2
- package/Source/Core/ConstantSpline.js +1 -1
- package/Source/Core/CoplanarPolygonGeometry.js +44 -41
- package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
- package/Source/Core/CorridorGeometry.js +77 -77
- package/Source/Core/CorridorGeometryLibrary.js +45 -45
- package/Source/Core/CorridorOutlineGeometry.js +16 -16
- package/Source/Core/CullingVolume.js +4 -4
- package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
- package/Source/Core/CylinderGeometry.js +8 -8
- package/Source/Core/CylinderGeometryLibrary.js +1 -1
- package/Source/Core/CylinderOutlineGeometry.js +4 -4
- package/Source/Core/DeveloperError.js +1 -1
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
- package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
- package/Source/Core/EarthOrientationParameters.js +21 -25
- package/Source/Core/EarthOrientationParametersSample.js +1 -1
- package/Source/Core/EllipseGeometry.js +54 -55
- package/Source/Core/EllipseGeometryLibrary.js +12 -12
- package/Source/Core/EllipseOutlineGeometry.js +19 -19
- package/Source/Core/Ellipsoid.js +25 -33
- package/Source/Core/EllipsoidGeodesic.js +17 -16
- package/Source/Core/EllipsoidGeometry.js +9 -8
- package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
- package/Source/Core/EllipsoidRhumbLine.js +33 -32
- package/Source/Core/EllipsoidTangentPlane.js +16 -16
- package/Source/Core/EllipsoidTerrainProvider.js +11 -10
- package/Source/Core/EllipsoidalOccluder.js +110 -130
- package/Source/Core/FeatureDetection.js +4 -4
- package/Source/Core/FrustumGeometry.js +14 -14
- package/Source/Core/FrustumOutlineGeometry.js +4 -4
- package/Source/Core/GeographicTilingScheme.js +6 -6
- package/Source/Core/Geometry.js +15 -17
- package/Source/Core/GeometryAttribute.js +4 -9
- package/Source/Core/GeometryAttributes.js +6 -6
- package/Source/Core/GeometryInstance.js +3 -4
- package/Source/Core/GeometryInstanceAttribute.js +1 -6
- package/Source/Core/GeometryPipeline.js +133 -137
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
- package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
- package/Source/Core/GoogleMaps.js +1 -1
- package/Source/Core/GregorianDate.js +4 -4
- package/Source/Core/GroundPolylineGeometry.js +104 -104
- package/Source/Core/HeadingPitchRoll.js +7 -7
- package/Source/Core/HeightmapTerrainData.js +58 -54
- package/Source/Core/HeightmapTessellator.js +22 -23
- package/Source/Core/HermitePolynomialApproximation.js +8 -8
- package/Source/Core/HermiteSpline.js +11 -11
- package/Source/Core/HilbertOrder.js +1 -1
- package/Source/Core/Iau2006XysData.js +6 -6
- package/Source/Core/IauOrientationAxes.js +2 -2
- package/Source/Core/IauOrientationParameters.js +1 -1
- package/Source/Core/IndexDatatype.js +5 -5
- package/Source/Core/IntersectionTests.js +36 -78
- package/Source/Core/Intersections2D.js +3 -3
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +2 -2
- package/Source/Core/IonResource.js +5 -5
- package/Source/Core/Iso8601.js +3 -3
- package/Source/Core/JulianDate.js +23 -33
- package/Source/Core/KTX2Transcoder.js +11 -18
- package/Source/Core/LagrangePolynomialApproximation.js +1 -1
- package/Source/Core/LinearApproximation.js +4 -4
- package/Source/Core/LinearSpline.js +2 -2
- package/Source/Core/Math.js +4 -4
- package/Source/Core/Matrix2.js +3 -3
- package/Source/Core/Matrix3.js +16 -16
- package/Source/Core/Matrix4.js +31 -31
- package/Source/Core/MorphWeightSpline.js +2 -2
- package/Source/Core/NearFarScalar.js +1 -1
- package/Source/Core/Occluder.js +52 -56
- package/Source/Core/OpenCageGeocoderService.js +2 -2
- package/Source/Core/OrientedBoundingBox.js +52 -51
- package/Source/Core/OrthographicFrustum.js +11 -11
- package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
- package/Source/Core/PeliasGeocoderService.js +1 -1
- package/Source/Core/PerspectiveFrustum.js +61 -55
- package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
- package/Source/Core/PinBuilder.js +1 -1
- package/Source/Core/PixelFormat.js +7 -21
- package/Source/Core/Plane.js +9 -9
- package/Source/Core/PlaneGeometry.js +1 -1
- package/Source/Core/PolygonGeometry.js +95 -94
- package/Source/Core/PolygonGeometryLibrary.js +49 -51
- package/Source/Core/PolygonOutlineGeometry.js +49 -51
- package/Source/Core/PolygonPipeline.js +31 -31
- package/Source/Core/PolylineGeometry.js +10 -10
- package/Source/Core/PolylinePipeline.js +25 -25
- package/Source/Core/PolylineVolumeGeometry.js +9 -9
- package/Source/Core/PolylineVolumeGeometryLibrary.js +51 -51
- package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
- package/Source/Core/QuadraticRealPolynomial.js +1 -1
- package/Source/Core/QuantizedMeshTerrainData.js +28 -28
- package/Source/Core/QuarticRealPolynomial.js +1 -1
- package/Source/Core/Quaternion.js +19 -19
- package/Source/Core/QuaternionSpline.js +2 -2
- package/Source/Core/Rectangle.js +34 -13
- package/Source/Core/RectangleCollisionChecker.js +3 -3
- package/Source/Core/RectangleGeometry.js +55 -56
- package/Source/Core/RectangleGeometryLibrary.js +8 -8
- package/Source/Core/RectangleOutlineGeometry.js +20 -20
- package/Source/Core/RequestScheduler.js +6 -6
- package/Source/Core/Resource.js +24 -24
- package/Source/Core/S2Cell.js +16 -80
- package/Source/Core/ScreenSpaceEventHandler.js +54 -53
- package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
- package/Source/Core/SimplePolylineGeometry.js +7 -7
- package/Source/Core/SphereGeometry.js +2 -2
- package/Source/Core/SphereOutlineGeometry.js +3 -3
- package/Source/Core/Spline.js +1 -1
- package/Source/Core/SteppedSpline.js +1 -1
- package/Source/Core/Stereographic.js +9 -9
- package/Source/Core/TaskProcessor.js +13 -13
- package/Source/Core/TerrainEncoding.js +33 -38
- package/Source/Core/TerrainMesh.js +1 -1
- package/Source/Core/TerrainProvider.js +12 -12
- package/Source/Core/TileAvailability.js +28 -28
- package/Source/Core/TileProviderError.js +5 -5
- package/Source/Core/TilingScheme.js +1 -1
- package/Source/Core/TimeInterval.js +4 -4
- package/Source/Core/TimeIntervalCollection.js +16 -15
- package/Source/Core/Tipsify.js +2 -2
- package/Source/Core/Transforms.js +52 -54
- package/Source/Core/TranslationRotationScale.js +1 -1
- package/Source/Core/TridiagonalSystemSolver.js +4 -4
- package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
- package/Source/Core/VertexFormat.js +6 -6
- package/Source/Core/VerticalExaggeration.js +4 -4
- package/Source/Core/VideoSynchronizer.js +1 -1
- package/Source/Core/WallGeometry.js +18 -18
- package/Source/Core/WallGeometryLibrary.js +7 -7
- package/Source/Core/WallOutlineGeometry.js +8 -8
- package/Source/Core/WebMercatorProjection.js +5 -6
- package/Source/Core/WebMercatorTilingScheme.js +13 -13
- package/Source/Core/WireframeIndexGenerator.js +8 -8
- package/Source/Core/arrayRemoveDuplicates.js +1 -1
- package/Source/Core/buildModuleUrl.js +2 -2
- package/Source/Core/decodeGoogleEarthEnterpriseData.js +3 -3
- package/Source/Core/decodeVectorPolylinePositions.js +4 -4
- package/Source/Core/destroyObject.js +1 -1
- package/Source/Core/getJsonFromTypedArray.js +1 -1
- package/Source/Core/getMagic.js +1 -1
- package/Source/Core/loadImageFromTypedArray.js +2 -2
- package/Source/Core/loadKTX2.js +1 -1
- package/Source/Core/pointInsideTriangle.js +1 -1
- package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
- package/Source/Core/sampleTerrain.js +7 -7
- package/Source/Core/sampleTerrainMostDetailed.js +7 -7
- package/Source/Core/scaleToGeodeticSurface.js +3 -3
- package/Source/Core/srgbToLinear.js +1 -1
- package/Source/Core/writeTextToCanvas.js +1 -1
- package/Source/DataSources/BillboardGraphics.js +13 -13
- package/Source/DataSources/BillboardVisualizer.js +24 -24
- package/Source/DataSources/BoxGeometryUpdater.js +33 -32
- package/Source/DataSources/BoxGraphics.js +3 -3
- package/Source/DataSources/CallbackPositionProperty.js +173 -0
- package/Source/DataSources/CallbackProperty.js +8 -2
- package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
- package/Source/DataSources/CheckerboardMaterialProperty.js +9 -3
- package/Source/DataSources/ColorMaterialProperty.js +8 -2
- package/Source/DataSources/CompositeEntityCollection.js +14 -15
- package/Source/DataSources/CompositeMaterialProperty.js +10 -11
- package/Source/DataSources/CompositePositionProperty.js +11 -6
- package/Source/DataSources/CompositeProperty.js +7 -7
- package/Source/DataSources/ConstantPositionProperty.js +9 -3
- package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
- package/Source/DataSources/CorridorGraphics.js +6 -6
- package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
- package/Source/DataSources/CylinderGraphics.js +4 -4
- package/Source/DataSources/CzmlDataSource.js +365 -368
- package/Source/DataSources/DataSourceCollection.js +1 -1
- package/Source/DataSources/DataSourceDisplay.js +23 -23
- package/Source/DataSources/DynamicGeometryBatch.js +2 -2
- package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
- package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
- package/Source/DataSources/EllipseGraphics.js +7 -7
- package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
- package/Source/DataSources/EllipsoidGraphics.js +5 -5
- package/Source/DataSources/Entity.js +14 -14
- package/Source/DataSources/EntityCluster.js +29 -27
- package/Source/DataSources/EntityCollection.js +7 -7
- package/Source/DataSources/EntityView.js +23 -23
- package/Source/DataSources/GeoJsonDataSource.js +25 -25
- package/Source/DataSources/GeometryUpdater.js +9 -10
- package/Source/DataSources/GeometryUpdaterSet.js +3 -3
- package/Source/DataSources/GeometryVisualizer.js +65 -71
- package/Source/DataSources/GpxDataSource.js +10 -10
- package/Source/DataSources/GridMaterialProperty.js +12 -6
- package/Source/DataSources/GroundGeometryUpdater.js +6 -6
- package/Source/DataSources/ImageMaterialProperty.js +10 -3
- package/Source/DataSources/KmlDataSource.js +212 -212
- package/Source/DataSources/LabelGraphics.js +14 -14
- package/Source/DataSources/LabelVisualizer.js +24 -24
- package/Source/DataSources/MaterialProperty.js +7 -1
- package/Source/DataSources/ModelGraphics.js +37 -17
- package/Source/DataSources/ModelVisualizer.js +41 -32
- package/Source/DataSources/NodeTransformationProperty.js +10 -4
- package/Source/DataSources/PathGraphics.js +2 -2
- package/Source/DataSources/PathVisualizer.js +99 -35
- package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
- package/Source/DataSources/PlaneGraphics.js +2 -2
- package/Source/DataSources/PointGraphics.js +8 -8
- package/Source/DataSources/PointVisualizer.js +29 -29
- package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
- package/Source/DataSources/PolygonGraphics.js +9 -9
- package/Source/DataSources/PolylineArrowMaterialProperty.js +8 -2
- package/Source/DataSources/PolylineDashMaterialProperty.js +11 -5
- package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
- package/Source/DataSources/PolylineGlowMaterialProperty.js +10 -4
- package/Source/DataSources/PolylineGraphics.js +4 -4
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +10 -4
- package/Source/DataSources/PolylineVisualizer.js +39 -43
- package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
- package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
- package/Source/DataSources/PositionProperty.js +5 -4
- package/Source/DataSources/PositionPropertyArray.js +10 -4
- package/Source/DataSources/Property.js +2 -2
- package/Source/DataSources/PropertyArray.js +6 -6
- package/Source/DataSources/PropertyBag.js +10 -9
- package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
- package/Source/DataSources/RectangleGraphics.js +6 -6
- package/Source/DataSources/ReferenceProperty.js +13 -7
- package/Source/DataSources/Rotation.js +2 -2
- package/Source/DataSources/SampledPositionProperty.js +13 -7
- package/Source/DataSources/SampledProperty.js +22 -20
- package/Source/DataSources/ScaledPositionProperty.js +8 -2
- package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
- package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
- package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
- package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
- package/Source/DataSources/StripeMaterialProperty.js +9 -3
- package/Source/DataSources/TerrainOffsetProperty.js +20 -11
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +35 -31
- package/Source/DataSources/TimeIntervalCollectionProperty.js +6 -6
- package/Source/DataSources/VelocityOrientationProperty.js +9 -4
- package/Source/DataSources/VelocityVectorProperty.js +7 -9
- package/Source/DataSources/WallGeometryUpdater.js +25 -25
- package/Source/DataSources/WallGraphics.js +4 -4
- package/Source/DataSources/createPropertyDescriptor.js +3 -3
- package/Source/DataSources/exportKml.js +90 -86
- package/Source/DataSources/getElement.js +1 -1
- package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
- package/Source/Renderer/AutomaticUniforms.js +3 -18
- package/Source/Renderer/Buffer.js +18 -18
- package/Source/Renderer/ClearCommand.js +1 -1
- package/Source/Renderer/ComputeEngine.js +1 -1
- package/Source/Renderer/Context.js +55 -40
- package/Source/Renderer/CubeMap.js +332 -354
- package/Source/Renderer/CubeMapFace.js +43 -65
- package/Source/Renderer/DrawCommand.js +50 -5
- package/Source/Renderer/Framebuffer.js +48 -49
- package/Source/Renderer/FramebufferManager.js +40 -34
- package/Source/Renderer/MultisampleFramebuffer.js +35 -14
- package/Source/Renderer/PixelDatatype.js +23 -0
- package/Source/Renderer/RenderState.js +36 -36
- package/Source/Renderer/Renderbuffer.js +3 -3
- package/Source/Renderer/Sampler.js +9 -15
- package/Source/Renderer/ShaderBuilder.js +8 -8
- package/Source/Renderer/ShaderCache.js +11 -15
- package/Source/Renderer/ShaderFunction.js +1 -1
- package/Source/Renderer/ShaderProgram.js +22 -15
- package/Source/Renderer/ShaderSource.js +40 -40
- package/Source/Renderer/Texture.js +455 -380
- package/Source/Renderer/UniformState.js +68 -80
- package/Source/Renderer/VertexArray.js +20 -20
- package/Source/Renderer/VertexArrayFacade.js +15 -16
- package/Source/Renderer/createUniform.js +1 -1
- package/Source/Renderer/createUniformArray.js +4 -4
- package/Source/Renderer/demodernizeShader.js +7 -5
- package/Source/Renderer/loadCubeMap.js +3 -8
- package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
- package/Source/Scene/ArcGisMapService.js +4 -7
- package/Source/Scene/AutoExposure.js +4 -5
- package/Source/Scene/Axis.js +6 -6
- package/Source/Scene/B3dmParser.js +9 -9
- package/Source/Scene/BatchTable.js +7 -7
- package/Source/Scene/BatchTableHierarchy.js +62 -59
- package/Source/Scene/BatchTexture.js +2 -2
- package/Source/Scene/Billboard.js +45 -43
- package/Source/Scene/BillboardCollection.js +81 -83
- package/Source/Scene/BingMapsImageryProvider.js +13 -13
- package/Source/Scene/BoundingVolumeSemantics.js +10 -10
- package/Source/Scene/BoxEmitter.js +1 -1
- package/Source/Scene/BufferLoader.js +1 -1
- package/Source/Scene/Camera.js +161 -164
- package/Source/Scene/CameraEventAggregator.js +67 -23
- package/Source/Scene/CameraFlightPath.js +25 -25
- package/Source/Scene/Cesium3DTile.js +89 -95
- package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
- package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
- package/Source/Scene/Cesium3DTileFeature.js +1 -1
- package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
- package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
- package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
- package/Source/Scene/Cesium3DTileStyle.js +26 -24
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
- package/Source/Scene/Cesium3DTileset.js +81 -83
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
- package/Source/Scene/Cesium3DTilesetCache.js +2 -2
- package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
- package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
- package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
- package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
- package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
- package/Source/Scene/ClassificationPrimitive.js +70 -69
- package/Source/Scene/ClippingPlaneCollection.js +39 -41
- package/Source/Scene/ClippingPolygon.js +8 -8
- package/Source/Scene/ClippingPolygonCollection.js +62 -63
- package/Source/Scene/CloudCollection.js +3 -10
- package/Source/Scene/Composite3DTileContent.js +6 -6
- package/Source/Scene/ConditionsExpression.js +5 -5
- package/Source/Scene/ContentMetadata.js +4 -4
- package/Source/Scene/CreditDisplay.js +8 -8
- package/Source/Scene/CumulusCloud.js +4 -4
- package/Source/Scene/DebugAppearance.js +2 -2
- package/Source/Scene/DebugCameraPrimitive.js +2 -2
- package/Source/Scene/DebugInspector.js +3 -3
- package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
- package/Source/Scene/DepthPlane.js +7 -7
- package/Source/Scene/DerivedCommand.js +422 -238
- package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
- package/Source/Scene/DracoLoader.js +3 -3
- package/Source/Scene/EllipsoidPrimitive.js +7 -7
- package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
- package/Source/Scene/Empty3DTileContent.js +1 -1
- package/Source/Scene/Expression.js +91 -91
- package/Source/Scene/Fog.js +8 -41
- package/Source/Scene/FrameRateMonitor.js +22 -22
- package/Source/Scene/FrameState.js +31 -0
- package/Source/Scene/Geometry3DTileContent.js +20 -20
- package/Source/Scene/GetFeatureInfoFormat.js +15 -14
- package/Source/Scene/Globe.js +33 -28
- package/Source/Scene/GlobeDepth.js +95 -66
- package/Source/Scene/GlobeSurfaceShaderSet.js +41 -34
- package/Source/Scene/GlobeSurfaceTile.js +33 -33
- package/Source/Scene/GlobeSurfaceTileProvider.js +132 -127
- package/Source/Scene/GlobeTranslucency.js +4 -4
- package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
- package/Source/Scene/GlobeTranslucencyState.js +53 -55
- package/Source/Scene/GltfBufferViewLoader.js +2 -2
- package/Source/Scene/GltfIndexBufferLoader.js +5 -5
- package/Source/Scene/GltfJsonLoader.js +2 -2
- package/Source/Scene/GltfLoader.js +177 -100
- package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
- package/Source/Scene/GltfTextureLoader.js +5 -5
- package/Source/Scene/GltfVertexBufferLoader.js +12 -13
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
- package/Source/Scene/GridImageryProvider.js +2 -2
- package/Source/Scene/GroundPolylinePrimitive.js +38 -39
- package/Source/Scene/GroundPrimitive.js +47 -45
- package/Source/Scene/GroupMetadata.js +4 -4
- package/Source/Scene/I3SDataProvider.js +12 -12
- package/Source/Scene/I3SDecoder.js +7 -8
- package/Source/Scene/I3SField.js +8 -8
- package/Source/Scene/I3SGeometry.js +14 -14
- package/Source/Scene/I3SLayer.js +26 -20
- package/Source/Scene/I3SNode.js +17 -17
- package/Source/Scene/I3SSublayer.js +4 -4
- package/Source/Scene/I3SSymbology.js +8 -8
- package/Source/Scene/I3dmParser.js +9 -9
- package/Source/Scene/ImageBasedLighting.js +58 -56
- package/Source/Scene/Imagery.js +3 -3
- package/Source/Scene/ImageryLayer.js +64 -66
- package/Source/Scene/ImageryLayerCollection.js +13 -15
- package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
- package/Source/Scene/ImageryProvider.js +1 -1
- package/Source/Scene/Implicit3DTileContent.js +34 -37
- package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
- package/Source/Scene/ImplicitMetadataView.js +2 -2
- package/Source/Scene/ImplicitSubtree.js +29 -30
- package/Source/Scene/ImplicitSubtreeCache.js +1 -1
- package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
- package/Source/Scene/ImplicitTileCoordinates.js +11 -11
- package/Source/Scene/ImplicitTileset.js +2 -2
- package/Source/Scene/InvertClassification.js +7 -7
- package/Source/Scene/IonImageryProvider.js +6 -6
- package/Source/Scene/JobScheduler.js +4 -4
- package/Source/Scene/Label.js +31 -31
- package/Source/Scene/LabelCollection.js +17 -15
- package/Source/Scene/MapboxImageryProvider.js +3 -3
- package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
- package/Source/Scene/Material.js +50 -29
- package/Source/Scene/MaterialAppearance.js +4 -4
- package/Source/Scene/Megatexture.js +21 -24
- package/Source/Scene/MetadataClassProperty.js +11 -11
- package/Source/Scene/MetadataComponentType.js +1 -1
- package/Source/Scene/MetadataEntity.js +8 -8
- package/Source/Scene/MetadataEnum.js +1 -1
- package/Source/Scene/MetadataPicking.js +305 -0
- package/Source/Scene/MetadataSchemaLoader.js +1 -1
- package/Source/Scene/MetadataTable.js +2 -2
- package/Source/Scene/MetadataTableProperty.js +22 -22
- package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
- package/Source/Scene/Model/AtmospherePipelineStage.js +3 -3
- package/Source/Scene/Model/B3dmLoader.js +8 -8
- package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
- package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
- package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
- package/Source/Scene/Model/CustomShader.js +9 -9
- package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
- package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
- package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
- package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
- package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
- package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
- package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
- package/Source/Scene/Model/GeoJsonLoader.js +17 -17
- package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
- package/Source/Scene/Model/I3dmLoader.js +36 -36
- package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +22 -30
- package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
- package/Source/Scene/Model/LightingPipelineStage.js +4 -4
- package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
- package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
- package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
- package/Source/Scene/Model/Model.js +134 -54
- package/Source/Scene/Model/Model3DTileContent.js +32 -13
- package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
- package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
- package/Source/Scene/Model/ModelArticulation.js +2 -2
- package/Source/Scene/Model/ModelArticulationStage.js +4 -4
- package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
- package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
- package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
- package/Source/Scene/Model/ModelDrawCommand.js +5 -5
- package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
- package/Source/Scene/Model/ModelFeatureTable.js +5 -5
- package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
- package/Source/Scene/Model/ModelRenderResources.js +1 -1
- package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
- package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
- package/Source/Scene/Model/ModelSceneGraph.js +42 -43
- package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
- package/Source/Scene/Model/ModelSkin.js +4 -4
- package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
- package/Source/Scene/Model/ModelUtility.js +5 -5
- package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
- package/Source/Scene/Model/NodeRenderResources.js +1 -1
- package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
- package/Source/Scene/Model/PickingPipelineStage.js +5 -5
- package/Source/Scene/Model/PntsLoader.js +7 -7
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
- package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
- package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
- package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
- package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
- package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
- package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
- package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
- package/Source/Scene/Model/TextureManager.js +2 -2
- package/Source/Scene/Model/TextureUniform.js +3 -3
- package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
- package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
- package/Source/Scene/Model/WireframePipelineStage.js +7 -7
- package/Source/Scene/Model/pickModel.js +26 -26
- package/Source/Scene/ModelComponents.js +13 -4
- package/Source/Scene/Moon.js +6 -5
- package/Source/Scene/Multiple3DTileContent.js +15 -14
- package/Source/Scene/OIT.js +48 -97
- package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
- package/Source/Scene/Particle.js +3 -3
- package/Source/Scene/ParticleEmitter.js +1 -1
- package/Source/Scene/ParticleSystem.js +32 -32
- package/Source/Scene/PerInstanceColorAppearance.js +1 -1
- package/Source/Scene/PickDepth.js +16 -4
- package/Source/Scene/PickDepthFramebuffer.js +1 -1
- package/Source/Scene/PickFramebuffer.js +24 -12
- package/Source/Scene/PickedMetadataInfo.js +39 -0
- package/Source/Scene/Picking.js +270 -120
- package/Source/Scene/PntsParser.js +28 -28
- package/Source/Scene/PointCloud.js +39 -38
- package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
- package/Source/Scene/PointCloudShading.js +3 -3
- package/Source/Scene/PointPrimitive.js +31 -28
- package/Source/Scene/PointPrimitiveCollection.js +34 -33
- package/Source/Scene/Polyline.js +9 -9
- package/Source/Scene/PolylineCollection.js +55 -57
- package/Source/Scene/PolylineColorAppearance.js +3 -3
- package/Source/Scene/PolylineMaterialAppearance.js +3 -3
- package/Source/Scene/PostProcessStage.js +95 -115
- package/Source/Scene/PostProcessStageCollection.js +73 -49
- package/Source/Scene/PostProcessStageComposite.js +2 -2
- package/Source/Scene/PostProcessStageLibrary.js +30 -4
- package/Source/Scene/PostProcessStageTextureCache.js +10 -10
- package/Source/Scene/Primitive.js +93 -93
- package/Source/Scene/PrimitiveCollection.js +1 -1
- package/Source/Scene/PrimitiveLoadPlan.js +1 -1
- package/Source/Scene/PrimitivePipeline.js +30 -30
- package/Source/Scene/PropertyTable.js +5 -5
- package/Source/Scene/PropertyTextureProperty.js +36 -7
- package/Source/Scene/QuadtreePrimitive.js +56 -58
- package/Source/Scene/QuadtreeTile.js +4 -4
- package/Source/Scene/QuadtreeTileProvider.js +1 -1
- package/Source/Scene/ResourceCache.js +7 -7
- package/Source/Scene/ResourceCacheKey.js +15 -15
- package/Source/Scene/Scene.js +897 -677
- package/Source/Scene/SceneFramebuffer.js +2 -2
- package/Source/Scene/SceneTransforms.js +30 -92
- package/Source/Scene/SceneTransitioner.js +47 -47
- package/Source/Scene/ScreenSpaceCameraController.js +171 -157
- package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
- package/Source/Scene/ShadowMap.js +71 -72
- package/Source/Scene/ShadowMapShader.js +9 -9
- package/Source/Scene/ShadowVolumeAppearance.js +39 -39
- package/Source/Scene/SingleTileImageryProvider.js +3 -3
- package/Source/Scene/SkyAtmosphere.js +8 -8
- package/Source/Scene/SkyBox.js +17 -24
- package/Source/Scene/SpatialNode.js +13 -13
- package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
- package/Source/Scene/SphereEmitter.js +1 -1
- package/Source/Scene/StructuralMetadata.js +1 -1
- package/Source/Scene/StyleExpression.js +1 -1
- package/Source/Scene/Sun.js +11 -7
- package/Source/Scene/SunPostProcess.js +6 -6
- package/Source/Scene/TerrainFillMesh.js +157 -156
- package/Source/Scene/TextureAtlas.js +11 -11
- package/Source/Scene/TileBoundingRegion.js +31 -31
- package/Source/Scene/TileBoundingS2Cell.js +37 -40
- package/Source/Scene/TileBoundingSphere.js +2 -2
- package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
- package/Source/Scene/TileImagery.js +7 -11
- package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
- package/Source/Scene/TileMetadata.js +4 -4
- package/Source/Scene/TileOrientedBoundingBox.js +6 -6
- package/Source/Scene/Tileset3DTileContent.js +1 -1
- package/Source/Scene/TilesetMetadata.js +4 -4
- package/Source/Scene/TimeDynamicImagery.js +3 -3
- package/Source/Scene/TimeDynamicPointCloud.js +9 -9
- package/Source/Scene/Tonemapper.js +35 -23
- package/Source/Scene/TranslucentTileClassification.js +48 -58
- package/Source/Scene/TweenCollection.js +9 -9
- package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
- package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
- package/Source/Scene/Vector3DTileContent.js +38 -39
- package/Source/Scene/Vector3DTileGeometry.js +11 -8
- package/Source/Scene/Vector3DTilePoints.js +18 -22
- package/Source/Scene/Vector3DTilePolygons.js +6 -6
- package/Source/Scene/Vector3DTilePolylines.js +8 -8
- package/Source/Scene/Vector3DTilePrimitive.js +30 -31
- package/Source/Scene/View.js +111 -80
- package/Source/Scene/VoxelBoxShape.js +34 -34
- package/Source/Scene/VoxelCell.js +7 -7
- package/Source/Scene/VoxelContent.js +1 -1
- package/Source/Scene/VoxelCylinderShape.js +48 -48
- package/Source/Scene/VoxelEllipsoidShape.js +83 -97
- package/Source/Scene/VoxelPrimitive.js +80 -109
- package/Source/Scene/VoxelRenderResources.js +13 -16
- package/Source/Scene/VoxelTraversal.js +41 -41
- package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
- package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
- package/Source/Scene/buildVoxelDrawCommands.js +10 -14
- package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
- package/Source/Scene/createBillboardPointCallback.js +2 -2
- package/Source/Scene/createElevationBandMaterial.js +8 -8
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
- package/Source/Scene/createOsmBuildingsAsync.js +1 -1
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
- package/Source/Scene/findContentMetadata.js +2 -2
- package/Source/Scene/findTileMetadata.js +2 -2
- package/Source/Scene/getBinaryAccessor.js +1 -1
- package/Source/Scene/getClipAndStyleCode.js +1 -1
- package/Source/Scene/getClippingFunction.js +1 -1
- package/Source/Scene/getMetadataClassProperty.js +43 -0
- package/Source/Scene/parseBatchTable.js +21 -24
- package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
- package/Source/Scene/parseStructuralMetadata.js +3 -3
- package/Source/Scene/processVoxelProperties.js +28 -33
- package/Source/Shaders/Builtin/CzmBuiltins.js +2 -2
- package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
- package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/pbrLighting.js +2 -2
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
- package/Source/Shaders/Builtin/Functions/textureCube.glsl +21 -2
- package/Source/Shaders/Builtin/Functions/textureCube.js +21 -2
- package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
- package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
- package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
- package/Source/Shaders/Builtin/Structs/materialInput.glsl +2 -0
- package/Source/Shaders/Builtin/Structs/materialInput.js +2 -0
- package/Source/Shaders/DepthPlaneVS.glsl +1 -1
- package/Source/Shaders/DepthPlaneVS.js +1 -1
- package/Source/Shaders/GlobeFS.glsl +10 -4
- package/Source/Shaders/GlobeFS.js +10 -4
- package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
- package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
- package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -1
- package/Source/Shaders/Model/AtmosphereStageFS.js +1 -1
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +40 -29
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +40 -29
- package/Source/Shaders/Model/LightingStageFS.glsl +2 -2
- package/Source/Shaders/Model/LightingStageFS.js +2 -2
- package/Source/Shaders/Model/ModelFS.glsl +26 -0
- package/Source/Shaders/Model/ModelFS.js +26 -0
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -0
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -0
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -0
- package/Source/Shaders/SkyAtmosphereFS.glsl +1 -1
- package/Source/Shaders/SkyAtmosphereFS.js +1 -1
- package/Source/Widget/CesiumWidget.js +10 -9
- package/Source/Workers/combineGeometry.js +3 -4
- package/Source/Workers/createCircleGeometry.js +2 -2
- package/Source/Workers/createCircleOutlineGeometry.js +2 -2
- package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
- package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/Source/Workers/createGeometry.js +4 -5
- package/Source/Workers/createGroundPolylineGeometry.js +1 -1
- package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
- package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
- package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
- package/Source/Workers/createSimplePolylineGeometry.js +2 -2
- package/Source/Workers/createTaskProcessorWorker.js +1 -1
- package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
- package/Source/Workers/createVectorTileGeometries.js +18 -18
- package/Source/Workers/createVectorTilePoints.js +3 -3
- package/Source/Workers/createVectorTilePolygons.js +11 -11
- package/Source/Workers/createVectorTilePolylines.js +7 -7
- package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
- package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
- package/Source/Workers/decodeDraco.js +23 -23
- package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +3 -3
- package/Source/Workers/decodeI3S.js +53 -53
- package/Source/Workers/transcodeKTX2.js +9 -9
- package/Source/Workers/transferTypedArrayTest.js +1 -1
- package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
- package/index.d.ts +620 -136
- package/index.js +221 -205
- package/package.json +3 -3
- package/Build/Workers/chunk-2GEAGYUY.js +0 -1477
- package/Build/Workers/chunk-3WUV74WM.js +0 -1800
- package/Build/Workers/chunk-4MSUJ4I7.js +0 -456
- package/Build/Workers/chunk-5KWHSZYL.js +0 -834
- package/Build/Workers/chunk-5O6JWQ4E.js +0 -398
- package/Build/Workers/chunk-6OFDHMHR.js +0 -1258
- package/Build/Workers/chunk-AA4GZKOT.js +0 -75
- package/Build/Workers/chunk-B75IEX2S.js +0 -390
- package/Build/Workers/chunk-BAVI3ZS2.js +0 -39
- package/Build/Workers/chunk-BBDZYSZB.js +0 -287
- package/Build/Workers/chunk-C45MU4GZ.js +0 -220
- package/Build/Workers/chunk-CF7P7K7E.js +0 -684
- package/Build/Workers/chunk-D4K27X2M.js +0 -305
- package/Build/Workers/chunk-DKVHRNFY.js +0 -100
- package/Build/Workers/chunk-ELI4BUOT.js +0 -963
- package/Build/Workers/chunk-FQPSOOPH.js +0 -258
- package/Build/Workers/chunk-GNHZH7HP.js +0 -37
- package/Build/Workers/chunk-GWT64LKY.js +0 -171
- package/Build/Workers/chunk-HGEEOMSC.js +0 -157
- package/Build/Workers/chunk-IUROUBPA.js +0 -300
- package/Build/Workers/chunk-JNLWLSTP.js +0 -476
- package/Build/Workers/chunk-JYQNWIQQ.js +0 -44
- package/Build/Workers/chunk-KUN2ZA5X.js +0 -138
- package/Build/Workers/chunk-LXQ5QAEJ.js +0 -196
- package/Build/Workers/chunk-MBZH7YZ7.js +0 -945
- package/Build/Workers/chunk-MKXWJTFQ.js +0 -781
- package/Build/Workers/chunk-MMV6TO3P.js +0 -101
- package/Build/Workers/chunk-MSKXMXJI.js +0 -500
- package/Build/Workers/chunk-OAPA2RTG.js +0 -239
- package/Build/Workers/chunk-OE4MCOC7.js +0 -421
- package/Build/Workers/chunk-OJF4RTJG.js +0 -634
- package/Build/Workers/chunk-OXSI7N4C.js +0 -768
- package/Build/Workers/chunk-PYHLO636.js +0 -2857
- package/Build/Workers/chunk-QD4KM3GO.js +0 -138
- package/Build/Workers/chunk-QMLTCCYG.js +0 -55
- package/Build/Workers/chunk-QYQIVZBU.js +0 -117
- package/Build/Workers/chunk-R3TKLC6E.js +0 -1075
- package/Build/Workers/chunk-R4ZEWO4I.js +0 -122
- package/Build/Workers/chunk-RCK55EDX.js +0 -691
- package/Build/Workers/chunk-RHBWXX7C.js +0 -629
- package/Build/Workers/chunk-SAPFXU5X.js +0 -102
- package/Build/Workers/chunk-TBBFDFCS.js +0 -368
- package/Build/Workers/chunk-TGY6H6N6.js +0 -163
- package/Build/Workers/chunk-UOEUCKKU.js +0 -59
- package/Build/Workers/chunk-VFBNELXB.js +0 -353
- package/Build/Workers/chunk-VYWUFRRR.js +0 -1052
- package/Build/Workers/chunk-WVSELU6O.js +0 -2716
- package/Build/Workers/chunk-X43SJLQL.js +0 -10364
- package/Build/Workers/chunk-XUOJCLOH.js +0 -511
- package/Build/Workers/chunk-YLYBLJ3Y.js +0 -73
- package/Build/Workers/chunk-ZEE2EIFD.js +0 -430
- package/Build/Workers/chunk-ZIKGV7EL.js +0 -58
- package/Source/Scene/OctahedralProjectedCubeMap.js +0 -444
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +0 -78
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +0 -80
- package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +0 -89
- package/Source/Shaders/OctahedralProjectionAtlasFS.js +0 -91
- package/Source/Shaders/OctahedralProjectionFS.glsl +0 -14
- package/Source/Shaders/OctahedralProjectionFS.js +0 -16
- package/Source/Shaders/OctahedralProjectionVS.glsl +0 -10
- package/Source/Shaders/OctahedralProjectionVS.js +0 -12
|
@@ -153,7 +153,7 @@ float getSunLuminance(vec3 positionWC, vec3 normalEC, vec3 lightDirectionEC)\n\
|
|
|
153
153
|
}\n\
|
|
154
154
|
\n\
|
|
155
155
|
#ifdef DIFFUSE_IBL\n\
|
|
156
|
-
vec3
|
|
156
|
+
vec3 sampleDiffuseEnvironment(vec3 cubeDir)\n\
|
|
157
157
|
{\n\
|
|
158
158
|
#ifdef CUSTOM_SPHERICAL_HARMONICS\n\
|
|
159
159
|
return czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); \n\
|
|
@@ -167,13 +167,11 @@ vec3 computeDiffuseIBL(vec3 cubeDir)\n\
|
|
|
167
167
|
vec3 sampleSpecularEnvironment(vec3 cubeDir, float roughness)\n\
|
|
168
168
|
{\n\
|
|
169
169
|
#ifdef CUSTOM_SPECULAR_IBL\n\
|
|
170
|
-
float
|
|
171
|
-
|
|
172
|
-
return czm_sampleOctahedralProjection(model_specularEnvironmentMaps, model_specularEnvironmentMapsSize, cubeDir, lod, maxLod);\n\
|
|
170
|
+
float lod = roughness * model_specularEnvironmentMapsMaximumLOD;\n\
|
|
171
|
+
return czm_textureCube(model_specularEnvironmentMaps, cubeDir, lod).rgb;\n\
|
|
173
172
|
#else\n\
|
|
174
|
-
float
|
|
175
|
-
|
|
176
|
-
return czm_sampleOctahedralProjection(czm_specularEnvironmentMaps, czm_specularEnvironmentMapSize, cubeDir, lod, maxLod);\n\
|
|
173
|
+
float lod = roughness * czm_specularEnvironmentMapsMaximumLOD;\n\
|
|
174
|
+
return czm_textureCube(czm_specularEnvironmentMaps, cubeDir, lod).rgb;\n\
|
|
177
175
|
#endif\n\
|
|
178
176
|
}\n\
|
|
179
177
|
vec3 computeSpecularIBL(vec3 cubeDir, float NdotV, vec3 f0, float roughness)\n\
|
|
@@ -192,25 +190,43 @@ vec3 computeSpecularIBL(vec3 cubeDir, float NdotV, vec3 f0, float roughness)\n\
|
|
|
192
190
|
\n\
|
|
193
191
|
#if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL)\n\
|
|
194
192
|
/**\n\
|
|
195
|
-
* Compute the light contributions from environment maps and spherical harmonic coefficients
|
|
193
|
+
* Compute the light contributions from environment maps and spherical harmonic coefficients.\n\
|
|
194
|
+
* See Fdez-Aguera, https://www.jcgt.org/published/0008/01/03/paper.pdf, for explanation\n\
|
|
195
|
+
* of the single- and multi-scattering terms.\n\
|
|
196
196
|
*\n\
|
|
197
|
-
* @param {vec3} viewDirectionEC Unit vector pointing from the fragment to the eye position
|
|
198
|
-
* @param {vec3} normalEC The surface normal in eye coordinates
|
|
199
|
-
* @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates.\n\
|
|
197
|
+
* @param {vec3} viewDirectionEC Unit vector pointing from the fragment to the eye position.\n\
|
|
198
|
+
* @param {vec3} normalEC The surface normal in eye coordinates.\n\
|
|
200
199
|
* @param {czm_modelMaterial} The material properties.\n\
|
|
201
|
-
* @return {vec3} The computed HDR color
|
|
200
|
+
* @return {vec3} The computed HDR color.\n\
|
|
202
201
|
*/\n\
|
|
203
|
-
vec3 textureIBL(\n\
|
|
204
|
-
vec3
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
202
|
+
vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material) {\n\
|
|
203
|
+
vec3 f0 = material.specular;\n\
|
|
204
|
+
float roughness = material.roughness;\n\
|
|
205
|
+
float specularWeight = 1.0;\n\
|
|
206
|
+
#ifdef USE_SPECULAR\n\
|
|
207
|
+
specularWeight = material.specularWeight;\n\
|
|
208
|
+
#endif\n\
|
|
209
|
+
float NdotV = clamp(dot(normalEC, viewDirectionEC), 0.0, 1.0);\n\
|
|
210
|
+
\n\
|
|
211
|
+
// see https://bruop.github.io/ibl/ at Single Scattering Results\n\
|
|
212
|
+
// Roughness dependent fresnel, from Fdez-Aguera\n\
|
|
213
|
+
vec3 f90 = max(vec3(1.0 - roughness), f0);\n\
|
|
214
|
+
vec3 singleScatterFresnel = fresnelSchlick2(f0, f90, NdotV);\n\
|
|
215
|
+
\n\
|
|
216
|
+
vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg;\n\
|
|
217
|
+
vec3 FssEss = specularWeight * (singleScatterFresnel * brdfLut.x + brdfLut.y);\n\
|
|
218
|
+
\n\
|
|
209
219
|
#ifdef DIFFUSE_IBL\n\
|
|
210
220
|
vec3 normalMC = normalize(model_iblReferenceFrameMatrix * normalEC);\n\
|
|
211
|
-
vec3
|
|
221
|
+
vec3 irradiance = sampleDiffuseEnvironment(normalMC);\n\
|
|
222
|
+
\n\
|
|
223
|
+
vec3 averageFresnel = f0 + (1.0 - f0) / 21.0;\n\
|
|
224
|
+
float Ems = specularWeight * (1.0 - brdfLut.x - brdfLut.y);\n\
|
|
225
|
+
vec3 FmsEms = FssEss * averageFresnel * Ems / (1.0 - averageFresnel * Ems);\n\
|
|
226
|
+
vec3 dielectricScattering = (1.0 - FssEss - FmsEms) * material.diffuse;\n\
|
|
227
|
+
vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering);\n\
|
|
212
228
|
#else\n\
|
|
213
|
-
vec3 diffuseContribution = vec3(0.0)
|
|
229
|
+
vec3 diffuseContribution = vec3(0.0);\n\
|
|
214
230
|
#endif\n\
|
|
215
231
|
\n\
|
|
216
232
|
#ifdef USE_ANISOTROPY\n\
|
|
@@ -218,7 +234,7 @@ vec3 textureIBL(\n\
|
|
|
218
234
|
vec3 anisotropyDirection = material.anisotropicB;\n\
|
|
219
235
|
vec3 anisotropicTangent = cross(anisotropyDirection, viewDirectionEC);\n\
|
|
220
236
|
vec3 anisotropicNormal = cross(anisotropicTangent, anisotropyDirection);\n\
|
|
221
|
-
float bendFactor = 1.0 - material.anisotropyStrength * (1.0 -
|
|
237
|
+
float bendFactor = 1.0 - material.anisotropyStrength * (1.0 - roughness);\n\
|
|
222
238
|
float bendFactorPow4 = bendFactor * bendFactor * bendFactor * bendFactor;\n\
|
|
223
239
|
vec3 bentNormal = normalize(mix(anisotropicNormal, normalEC, bendFactorPow4));\n\
|
|
224
240
|
vec3 reflectEC = reflect(-viewDirectionEC, bentNormal);\n\
|
|
@@ -228,15 +244,10 @@ vec3 textureIBL(\n\
|
|
|
228
244
|
\n\
|
|
229
245
|
#ifdef SPECULAR_IBL\n\
|
|
230
246
|
vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflectEC);\n\
|
|
231
|
-
|
|
232
|
-
vec3
|
|
233
|
-
vec3 specularContribution = computeSpecularIBL(reflectMC, NdotV, f0, material.roughness);\n\
|
|
247
|
+
vec3 radiance = sampleSpecularEnvironment(reflectMC, roughness);\n\
|
|
248
|
+
vec3 specularContribution = radiance * FssEss;\n\
|
|
234
249
|
#else\n\
|
|
235
|
-
vec3 specularContribution = vec3(0.0)
|
|
236
|
-
#endif\n\
|
|
237
|
-
\n\
|
|
238
|
-
#ifdef USE_SPECULAR\n\
|
|
239
|
-
specularContribution *= material.specularWeight;\n\
|
|
250
|
+
vec3 specularContribution = vec3(0.0);\n\
|
|
240
251
|
#endif\n\
|
|
241
252
|
\n\
|
|
242
253
|
return diffuseContribution + specularContribution;\n\
|
|
@@ -4,7 +4,7 @@ vec3 computeIBL(vec3 position, vec3 normal, vec3 lightDirection, vec3 lightColor
|
|
|
4
4
|
#if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL)
|
|
5
5
|
// Environment maps were provided, use them for IBL
|
|
6
6
|
vec3 viewDirection = -normalize(position);
|
|
7
|
-
vec3 iblColor = textureIBL(viewDirection, normal,
|
|
7
|
+
vec3 iblColor = textureIBL(viewDirection, normal, material);
|
|
8
8
|
#else
|
|
9
9
|
// Use procedural IBL if there are no environment maps
|
|
10
10
|
vec3 imageBasedLighting = proceduralIBL(position, normal, lightDirection, material);
|
|
@@ -120,7 +120,7 @@ void lightingStage(inout czm_modelMaterial material, ProcessedAttributes attribu
|
|
|
120
120
|
// tonemapping. However, if HDR is not enabled, we must tonemap else large
|
|
121
121
|
// values may be clamped to 1.0
|
|
122
122
|
#ifndef HDR
|
|
123
|
-
color =
|
|
123
|
+
color = czm_pbrNeutralTonemapping(color);
|
|
124
124
|
#endif
|
|
125
125
|
#else // unlit
|
|
126
126
|
vec3 color = material.diffuse;
|
|
@@ -5,7 +5,7 @@ vec3 computeIBL(vec3 position, vec3 normal, vec3 lightDirection, vec3 lightColor
|
|
|
5
5
|
#if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL)\n\
|
|
6
6
|
// Environment maps were provided, use them for IBL\n\
|
|
7
7
|
vec3 viewDirection = -normalize(position);\n\
|
|
8
|
-
vec3 iblColor = textureIBL(viewDirection, normal,
|
|
8
|
+
vec3 iblColor = textureIBL(viewDirection, normal, material);\n\
|
|
9
9
|
#else\n\
|
|
10
10
|
// Use procedural IBL if there are no environment maps\n\
|
|
11
11
|
vec3 imageBasedLighting = proceduralIBL(position, normal, lightDirection, material);\n\
|
|
@@ -121,7 +121,7 @@ void lightingStage(inout czm_modelMaterial material, ProcessedAttributes attribu
|
|
|
121
121
|
// tonemapping. However, if HDR is not enabled, we must tonemap else large\n\
|
|
122
122
|
// values may be clamped to 1.0\n\
|
|
123
123
|
#ifndef HDR\n\
|
|
124
|
-
color =
|
|
124
|
+
color = czm_pbrNeutralTonemapping(color);\n\
|
|
125
125
|
#endif\n\
|
|
126
126
|
#else // unlit\n\
|
|
127
127
|
vec3 color = material.diffuse;\n\
|
|
@@ -45,6 +45,10 @@ void main()
|
|
|
45
45
|
MetadataStatistics metadataStatistics;
|
|
46
46
|
metadataStage(metadata, metadataClass, metadataStatistics, attributes);
|
|
47
47
|
|
|
48
|
+
//========================================================================
|
|
49
|
+
// When not picking metadata START
|
|
50
|
+
#ifndef METADATA_PICKING_ENABLED
|
|
51
|
+
|
|
48
52
|
#ifdef HAS_SELECTED_FEATURE_ID
|
|
49
53
|
selectedFeatureIdStage(selectedFeature, featureIds);
|
|
50
54
|
#endif
|
|
@@ -73,6 +77,20 @@ void main()
|
|
|
73
77
|
|
|
74
78
|
vec4 color = handleAlpha(material.diffuse, material.alpha);
|
|
75
79
|
|
|
80
|
+
// When not picking metadata END
|
|
81
|
+
//========================================================================
|
|
82
|
+
#else
|
|
83
|
+
//========================================================================
|
|
84
|
+
// When picking metadata START
|
|
85
|
+
|
|
86
|
+
vec4 metadataValues = vec4(0.0, 0.0, 0.0, 0.0);
|
|
87
|
+
metadataPickingStage(metadata, metadataClass, metadataValues);
|
|
88
|
+
vec4 color = metadataValues;
|
|
89
|
+
|
|
90
|
+
#endif
|
|
91
|
+
// When picking metadata END
|
|
92
|
+
//========================================================================
|
|
93
|
+
|
|
76
94
|
#ifdef HAS_CLIPPING_PLANES
|
|
77
95
|
modelClippingPlanesStage(color);
|
|
78
96
|
#endif
|
|
@@ -81,6 +99,10 @@ void main()
|
|
|
81
99
|
modelClippingPolygonsStage();
|
|
82
100
|
#endif
|
|
83
101
|
|
|
102
|
+
//========================================================================
|
|
103
|
+
// When not picking metadata START
|
|
104
|
+
#ifndef METADATA_PICKING_ENABLED
|
|
105
|
+
|
|
84
106
|
#if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS)
|
|
85
107
|
silhouetteStage(color);
|
|
86
108
|
#endif
|
|
@@ -89,5 +111,9 @@ void main()
|
|
|
89
111
|
atmosphereStage(color, attributes);
|
|
90
112
|
#endif
|
|
91
113
|
|
|
114
|
+
#endif
|
|
115
|
+
// When not picking metadata END
|
|
116
|
+
//========================================================================
|
|
117
|
+
|
|
92
118
|
out_FragColor = color;
|
|
93
119
|
}
|
|
@@ -45,6 +45,10 @@ void main()\n\
|
|
|
45
45
|
MetadataClass metadataClass;\n\
|
|
46
46
|
MetadataStatistics metadataStatistics;\n\
|
|
47
47
|
metadataStage(metadata, metadataClass, metadataStatistics, attributes);\n\
|
|
48
|
+
\n\
|
|
49
|
+
//========================================================================\n\
|
|
50
|
+
// When not picking metadata START\n\
|
|
51
|
+
#ifndef METADATA_PICKING_ENABLED\n\
|
|
48
52
|
\n\
|
|
49
53
|
#ifdef HAS_SELECTED_FEATURE_ID\n\
|
|
50
54
|
selectedFeatureIdStage(selectedFeature, featureIds);\n\
|
|
@@ -73,6 +77,20 @@ void main()\n\
|
|
|
73
77
|
#endif\n\
|
|
74
78
|
\n\
|
|
75
79
|
vec4 color = handleAlpha(material.diffuse, material.alpha);\n\
|
|
80
|
+
\n\
|
|
81
|
+
// When not picking metadata END\n\
|
|
82
|
+
//========================================================================\n\
|
|
83
|
+
#else \n\
|
|
84
|
+
//========================================================================\n\
|
|
85
|
+
// When picking metadata START\n\
|
|
86
|
+
\n\
|
|
87
|
+
vec4 metadataValues = vec4(0.0, 0.0, 0.0, 0.0);\n\
|
|
88
|
+
metadataPickingStage(metadata, metadataClass, metadataValues);\n\
|
|
89
|
+
vec4 color = metadataValues;\n\
|
|
90
|
+
\n\
|
|
91
|
+
#endif\n\
|
|
92
|
+
// When picking metadata END\n\
|
|
93
|
+
//========================================================================\n\
|
|
76
94
|
\n\
|
|
77
95
|
#ifdef HAS_CLIPPING_PLANES\n\
|
|
78
96
|
modelClippingPlanesStage(color);\n\
|
|
@@ -81,6 +99,10 @@ void main()\n\
|
|
|
81
99
|
#ifdef ENABLE_CLIPPING_POLYGONS\n\
|
|
82
100
|
modelClippingPolygonsStage();\n\
|
|
83
101
|
#endif\n\
|
|
102
|
+
\n\
|
|
103
|
+
//========================================================================\n\
|
|
104
|
+
// When not picking metadata START\n\
|
|
105
|
+
#ifndef METADATA_PICKING_ENABLED\n\
|
|
84
106
|
\n\
|
|
85
107
|
#if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS)\n\
|
|
86
108
|
silhouetteStage(color);\n\
|
|
@@ -89,6 +111,10 @@ void main()\n\
|
|
|
89
111
|
#ifdef HAS_ATMOSPHERE\n\
|
|
90
112
|
atmosphereStage(color, attributes);\n\
|
|
91
113
|
#endif\n\
|
|
114
|
+
\n\
|
|
115
|
+
#endif\n\
|
|
116
|
+
// When not picking metadata END\n\
|
|
117
|
+
//========================================================================\n\
|
|
92
118
|
\n\
|
|
93
119
|
out_FragColor = color;\n\
|
|
94
120
|
}\n\
|
|
@@ -4,6 +4,8 @@ in vec2 v_textureCoordinates;
|
|
|
4
4
|
|
|
5
5
|
#ifdef AUTO_EXPOSURE
|
|
6
6
|
uniform sampler2D autoExposure;
|
|
7
|
+
#else
|
|
8
|
+
uniform float exposure;
|
|
7
9
|
#endif
|
|
8
10
|
|
|
9
11
|
void main()
|
|
@@ -13,6 +15,8 @@ void main()
|
|
|
13
15
|
|
|
14
16
|
#ifdef AUTO_EXPOSURE
|
|
15
17
|
color /= texture(autoExposure, vec2(0.5)).r;
|
|
18
|
+
#else
|
|
19
|
+
color *= vec3(exposure);
|
|
16
20
|
#endif
|
|
17
21
|
color = czm_acesTonemapping(color);
|
|
18
22
|
color = czm_inverseGamma(color);
|
|
@@ -5,6 +5,8 @@ in vec2 v_textureCoordinates;\n\
|
|
|
5
5
|
\n\
|
|
6
6
|
#ifdef AUTO_EXPOSURE\n\
|
|
7
7
|
uniform sampler2D autoExposure;\n\
|
|
8
|
+
#else\n\
|
|
9
|
+
uniform float exposure;\n\
|
|
8
10
|
#endif\n\
|
|
9
11
|
\n\
|
|
10
12
|
void main()\n\
|
|
@@ -14,6 +16,8 @@ void main()\n\
|
|
|
14
16
|
\n\
|
|
15
17
|
#ifdef AUTO_EXPOSURE\n\
|
|
16
18
|
color /= texture(autoExposure, vec2(0.5)).r;\n\
|
|
19
|
+
#else\n\
|
|
20
|
+
color *= vec3(exposure);\n\
|
|
17
21
|
#endif\n\
|
|
18
22
|
color = czm_acesTonemapping(color);\n\
|
|
19
23
|
color = czm_inverseGamma(color);\n\
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
precision highp float;
|
|
2
|
+
|
|
1
3
|
uniform sampler2D randomTexture;
|
|
2
4
|
uniform sampler2D depthTexture;
|
|
3
5
|
uniform float intensity;
|
|
@@ -6,109 +8,107 @@ uniform float lengthCap;
|
|
|
6
8
|
uniform float stepSize;
|
|
7
9
|
uniform float frustumLength;
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
vec4 clipToEye(vec2 uv, float depth)
|
|
11
|
+
vec3 pixelToEye(vec2 screenCoordinate)
|
|
12
12
|
{
|
|
13
|
-
vec2
|
|
13
|
+
vec2 uv = screenCoordinate / czm_viewport.zw;
|
|
14
|
+
float depth = czm_readDepth(depthTexture, uv);
|
|
15
|
+
vec2 xy = 2.0 * uv - vec2(1.0);
|
|
14
16
|
vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);
|
|
15
|
-
|
|
16
|
-
return posEC;
|
|
17
|
+
return posEC.xyz / posEC.w;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
//Reconstruct
|
|
20
|
-
vec3 getNormalXEdge(vec3
|
|
20
|
+
// Reconstruct surface normal in eye coordinates, avoiding edges
|
|
21
|
+
vec3 getNormalXEdge(vec3 positionEC)
|
|
21
22
|
{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
vec3
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
vec3
|
|
31
|
-
|
|
32
|
-
vec3
|
|
33
|
-
vec3
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
// Find the 3D surface positions at adjacent screen pixels
|
|
24
|
+
vec2 centerCoord = gl_FragCoord.xy;
|
|
25
|
+
vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0));
|
|
26
|
+
vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0));
|
|
27
|
+
vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0));
|
|
28
|
+
vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0));
|
|
29
|
+
|
|
30
|
+
// Compute potential tangent vectors
|
|
31
|
+
vec3 dx0 = positionEC - positionLeft;
|
|
32
|
+
vec3 dx1 = positionRight - positionEC;
|
|
33
|
+
vec3 dy0 = positionEC - positionDown;
|
|
34
|
+
vec3 dy1 = positionUp - positionEC;
|
|
35
|
+
|
|
36
|
+
// The shorter tangent is more likely to be on the same surface
|
|
37
|
+
vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1;
|
|
38
|
+
vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1;
|
|
39
|
+
|
|
40
|
+
return normalize(cross(dx, dy));
|
|
36
41
|
}
|
|
37
42
|
|
|
38
43
|
void main(void)
|
|
39
44
|
{
|
|
40
|
-
|
|
41
|
-
vec4 posInCamera = clipToEye(v_textureCoordinates, depth);
|
|
45
|
+
vec3 positionEC = pixelToEye(gl_FragCoord.xy);
|
|
42
46
|
|
|
43
|
-
if (
|
|
47
|
+
if (positionEC.z > frustumLength)
|
|
44
48
|
{
|
|
45
49
|
out_FragColor = vec4(1.0);
|
|
46
50
|
return;
|
|
47
51
|
}
|
|
48
52
|
|
|
49
|
-
|
|
50
|
-
float depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y));
|
|
51
|
-
float depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y));
|
|
52
|
-
float depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0));
|
|
53
|
-
float depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0));
|
|
54
|
-
vec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize);
|
|
53
|
+
vec3 normalEC = getNormalXEdge(positionEC);
|
|
55
54
|
|
|
56
55
|
float ao = 0.0;
|
|
57
|
-
vec2 sampleDirection = vec2(1.0, 0.0);
|
|
58
|
-
float gapAngle = 90.0 * czm_radiansPerDegree;
|
|
59
56
|
|
|
60
|
-
|
|
61
|
-
float
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
const int ANGLE_STEPS = 4;
|
|
58
|
+
float angleStepScale = 1.0 / float(ANGLE_STEPS);
|
|
59
|
+
float angleStep = angleStepScale * czm_twoPi;
|
|
60
|
+
float cosStep = cos(angleStep);
|
|
61
|
+
float sinStep = sin(angleStep);
|
|
62
|
+
mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep);
|
|
63
|
+
|
|
64
|
+
// Initial sampling direction (different for each pixel)
|
|
65
|
+
const float randomTextureSize = 255.0;
|
|
66
|
+
vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize);
|
|
67
|
+
float randomVal = texture(randomTexture, randomTexCoord).x;
|
|
68
|
+
vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal));
|
|
69
|
+
|
|
70
|
+
// Loop over sampling directions
|
|
71
|
+
for (int i = 0; i < ANGLE_STEPS; i++)
|
|
65
72
|
{
|
|
66
|
-
|
|
67
|
-
float cosVal = cos(newGapAngle);
|
|
68
|
-
float sinVal = sin(newGapAngle);
|
|
73
|
+
sampleDirection = rotateStep * sampleDirection;
|
|
69
74
|
|
|
70
|
-
//Rotate Sampling Direction
|
|
71
|
-
vec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y);
|
|
72
75
|
float localAO = 0.0;
|
|
73
|
-
|
|
76
|
+
vec2 radialStep = stepSize * sampleDirection;
|
|
74
77
|
|
|
75
|
-
//Loop for each step
|
|
76
78
|
for (int j = 0; j < 6; j++)
|
|
77
79
|
{
|
|
78
|
-
|
|
80
|
+
// Step along sampling direction, away from output pixel
|
|
81
|
+
vec2 newCoords = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5);
|
|
79
82
|
|
|
80
|
-
//
|
|
81
|
-
if(newCoords
|
|
83
|
+
// Exit if we stepped off the screen
|
|
84
|
+
if (clamp(newCoords, vec2(0.0), czm_viewport.zw) != newCoords)
|
|
82
85
|
{
|
|
83
86
|
break;
|
|
84
87
|
}
|
|
85
88
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
float len = length(diffVec);
|
|
89
|
+
vec3 stepPositionEC = pixelToEye(newCoords);
|
|
90
|
+
vec3 stepVector = stepPositionEC - positionEC;
|
|
91
|
+
float stepLength = length(stepVector);
|
|
90
92
|
|
|
91
|
-
if (
|
|
93
|
+
if (stepLength > lengthCap)
|
|
92
94
|
{
|
|
93
95
|
break;
|
|
94
96
|
}
|
|
95
97
|
|
|
96
|
-
float dotVal = clamp(dot(
|
|
97
|
-
float weight = len / lengthCap;
|
|
98
|
-
weight = 1.0 - weight * weight;
|
|
99
|
-
|
|
98
|
+
float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0);
|
|
100
99
|
if (dotVal < bias)
|
|
101
100
|
{
|
|
102
101
|
dotVal = 0.0;
|
|
103
102
|
}
|
|
104
103
|
|
|
104
|
+
float weight = stepLength / lengthCap;
|
|
105
|
+
weight = 1.0 - weight * weight;
|
|
105
106
|
localAO = max(localAO, dotVal * weight);
|
|
106
|
-
localStepSize += stepSize;
|
|
107
107
|
}
|
|
108
108
|
ao += localAO;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
ao
|
|
111
|
+
ao *= angleStepScale;
|
|
112
112
|
ao = 1.0 - clamp(ao, 0.0, 1.0);
|
|
113
113
|
ao = pow(ao, intensity);
|
|
114
114
|
out_FragColor = vec4(vec3(ao), 1.0);
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
-
export default "
|
|
2
|
+
export default "precision highp float;\n\
|
|
3
|
+
\n\
|
|
4
|
+
uniform sampler2D randomTexture;\n\
|
|
3
5
|
uniform sampler2D depthTexture;\n\
|
|
4
6
|
uniform float intensity;\n\
|
|
5
7
|
uniform float bias;\n\
|
|
@@ -7,109 +9,107 @@ uniform float lengthCap;\n\
|
|
|
7
9
|
uniform float stepSize;\n\
|
|
8
10
|
uniform float frustumLength;\n\
|
|
9
11
|
\n\
|
|
10
|
-
|
|
11
|
-
\n\
|
|
12
|
-
vec4 clipToEye(vec2 uv, float depth)\n\
|
|
12
|
+
vec3 pixelToEye(vec2 screenCoordinate)\n\
|
|
13
13
|
{\n\
|
|
14
|
-
vec2
|
|
14
|
+
vec2 uv = screenCoordinate / czm_viewport.zw;\n\
|
|
15
|
+
float depth = czm_readDepth(depthTexture, uv);\n\
|
|
16
|
+
vec2 xy = 2.0 * uv - vec2(1.0);\n\
|
|
15
17
|
vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);\n\
|
|
16
|
-
|
|
17
|
-
return posEC;\n\
|
|
18
|
+
return posEC.xyz / posEC.w;\n\
|
|
18
19
|
}\n\
|
|
19
20
|
\n\
|
|
20
|
-
//Reconstruct
|
|
21
|
-
vec3 getNormalXEdge(vec3
|
|
21
|
+
// Reconstruct surface normal in eye coordinates, avoiding edges\n\
|
|
22
|
+
vec3 getNormalXEdge(vec3 positionEC)\n\
|
|
22
23
|
{\n\
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
vec3
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
vec3
|
|
32
|
-
|
|
33
|
-
vec3
|
|
34
|
-
vec3
|
|
35
|
-
\n\
|
|
36
|
-
|
|
24
|
+
// Find the 3D surface positions at adjacent screen pixels\n\
|
|
25
|
+
vec2 centerCoord = gl_FragCoord.xy;\n\
|
|
26
|
+
vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0));\n\
|
|
27
|
+
vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0));\n\
|
|
28
|
+
vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0));\n\
|
|
29
|
+
vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0));\n\
|
|
30
|
+
\n\
|
|
31
|
+
// Compute potential tangent vectors\n\
|
|
32
|
+
vec3 dx0 = positionEC - positionLeft;\n\
|
|
33
|
+
vec3 dx1 = positionRight - positionEC;\n\
|
|
34
|
+
vec3 dy0 = positionEC - positionDown;\n\
|
|
35
|
+
vec3 dy1 = positionUp - positionEC;\n\
|
|
36
|
+
\n\
|
|
37
|
+
// The shorter tangent is more likely to be on the same surface\n\
|
|
38
|
+
vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1;\n\
|
|
39
|
+
vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1;\n\
|
|
40
|
+
\n\
|
|
41
|
+
return normalize(cross(dx, dy));\n\
|
|
37
42
|
}\n\
|
|
38
43
|
\n\
|
|
39
44
|
void main(void)\n\
|
|
40
45
|
{\n\
|
|
41
|
-
|
|
42
|
-
vec4 posInCamera = clipToEye(v_textureCoordinates, depth);\n\
|
|
46
|
+
vec3 positionEC = pixelToEye(gl_FragCoord.xy);\n\
|
|
43
47
|
\n\
|
|
44
|
-
if (
|
|
48
|
+
if (positionEC.z > frustumLength)\n\
|
|
45
49
|
{\n\
|
|
46
50
|
out_FragColor = vec4(1.0);\n\
|
|
47
51
|
return;\n\
|
|
48
52
|
}\n\
|
|
49
53
|
\n\
|
|
50
|
-
|
|
51
|
-
float depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y));\n\
|
|
52
|
-
float depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y));\n\
|
|
53
|
-
float depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0));\n\
|
|
54
|
-
float depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0));\n\
|
|
55
|
-
vec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize);\n\
|
|
54
|
+
vec3 normalEC = getNormalXEdge(positionEC);\n\
|
|
56
55
|
\n\
|
|
57
56
|
float ao = 0.0;\n\
|
|
58
|
-
vec2 sampleDirection = vec2(1.0, 0.0);\n\
|
|
59
|
-
float gapAngle = 90.0 * czm_radiansPerDegree;\n\
|
|
60
57
|
\n\
|
|
61
|
-
|
|
62
|
-
float
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
const int ANGLE_STEPS = 4;\n\
|
|
59
|
+
float angleStepScale = 1.0 / float(ANGLE_STEPS);\n\
|
|
60
|
+
float angleStep = angleStepScale * czm_twoPi;\n\
|
|
61
|
+
float cosStep = cos(angleStep);\n\
|
|
62
|
+
float sinStep = sin(angleStep);\n\
|
|
63
|
+
mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep);\n\
|
|
64
|
+
\n\
|
|
65
|
+
// Initial sampling direction (different for each pixel)\n\
|
|
66
|
+
const float randomTextureSize = 255.0;\n\
|
|
67
|
+
vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize);\n\
|
|
68
|
+
float randomVal = texture(randomTexture, randomTexCoord).x;\n\
|
|
69
|
+
vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal));\n\
|
|
70
|
+
\n\
|
|
71
|
+
// Loop over sampling directions\n\
|
|
72
|
+
for (int i = 0; i < ANGLE_STEPS; i++)\n\
|
|
66
73
|
{\n\
|
|
67
|
-
|
|
68
|
-
float cosVal = cos(newGapAngle);\n\
|
|
69
|
-
float sinVal = sin(newGapAngle);\n\
|
|
74
|
+
sampleDirection = rotateStep * sampleDirection;\n\
|
|
70
75
|
\n\
|
|
71
|
-
//Rotate Sampling Direction\n\
|
|
72
|
-
vec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y);\n\
|
|
73
76
|
float localAO = 0.0;\n\
|
|
74
|
-
|
|
77
|
+
vec2 radialStep = stepSize * sampleDirection;\n\
|
|
75
78
|
\n\
|
|
76
|
-
//Loop for each step\n\
|
|
77
79
|
for (int j = 0; j < 6; j++)\n\
|
|
78
80
|
{\n\
|
|
79
|
-
|
|
81
|
+
// Step along sampling direction, away from output pixel\n\
|
|
82
|
+
vec2 newCoords = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5);\n\
|
|
80
83
|
\n\
|
|
81
|
-
//
|
|
82
|
-
if(newCoords
|
|
84
|
+
// Exit if we stepped off the screen\n\
|
|
85
|
+
if (clamp(newCoords, vec2(0.0), czm_viewport.zw) != newCoords)\n\
|
|
83
86
|
{\n\
|
|
84
87
|
break;\n\
|
|
85
88
|
}\n\
|
|
86
89
|
\n\
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
float len = length(diffVec);\n\
|
|
90
|
+
vec3 stepPositionEC = pixelToEye(newCoords);\n\
|
|
91
|
+
vec3 stepVector = stepPositionEC - positionEC;\n\
|
|
92
|
+
float stepLength = length(stepVector);\n\
|
|
91
93
|
\n\
|
|
92
|
-
if (
|
|
94
|
+
if (stepLength > lengthCap)\n\
|
|
93
95
|
{\n\
|
|
94
96
|
break;\n\
|
|
95
97
|
}\n\
|
|
96
98
|
\n\
|
|
97
|
-
float dotVal = clamp(dot(
|
|
98
|
-
float weight = len / lengthCap;\n\
|
|
99
|
-
weight = 1.0 - weight * weight;\n\
|
|
100
|
-
\n\
|
|
99
|
+
float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0);\n\
|
|
101
100
|
if (dotVal < bias)\n\
|
|
102
101
|
{\n\
|
|
103
102
|
dotVal = 0.0;\n\
|
|
104
103
|
}\n\
|
|
105
104
|
\n\
|
|
105
|
+
float weight = stepLength / lengthCap;\n\
|
|
106
|
+
weight = 1.0 - weight * weight;\n\
|
|
106
107
|
localAO = max(localAO, dotVal * weight);\n\
|
|
107
|
-
localStepSize += stepSize;\n\
|
|
108
108
|
}\n\
|
|
109
109
|
ao += localAO;\n\
|
|
110
110
|
}\n\
|
|
111
111
|
\n\
|
|
112
|
-
ao
|
|
112
|
+
ao *= angleStepScale;\n\
|
|
113
113
|
ao = 1.0 - clamp(ao, 0.0, 1.0);\n\
|
|
114
114
|
ao = pow(ao, intensity);\n\
|
|
115
115
|
out_FragColor = vec4(vec3(ao), 1.0);\n\
|
|
@@ -4,6 +4,8 @@ in vec2 v_textureCoordinates;
|
|
|
4
4
|
|
|
5
5
|
#ifdef AUTO_EXPOSURE
|
|
6
6
|
uniform sampler2D autoExposure;
|
|
7
|
+
#else
|
|
8
|
+
uniform float exposure;
|
|
7
9
|
#endif
|
|
8
10
|
|
|
9
11
|
// See slides 142 and 143:
|
|
@@ -17,6 +19,8 @@ void main()
|
|
|
17
19
|
#ifdef AUTO_EXPOSURE
|
|
18
20
|
float exposure = texture(autoExposure, vec2(0.5)).r;
|
|
19
21
|
color /= exposure;
|
|
22
|
+
#else
|
|
23
|
+
color *= vec3(exposure);
|
|
20
24
|
#endif
|
|
21
25
|
|
|
22
26
|
const float A = 0.22; // shoulder strength
|