@cesium/engine 11.0.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Build/Workers/{chunk-HFPMX5L2.js → chunk-2B5H7KIN.js} +1 -1
- package/Build/Workers/{chunk-KKAEXHDY.js → chunk-2RHMHHJH.js} +2 -2
- package/Build/Workers/{chunk-AI3O7UN2.js → chunk-3OHDXGFC.js} +6 -6
- package/Build/Workers/{chunk-TTI2SUWJ.js → chunk-3OM5QZSI.js} +2 -2
- package/Build/Workers/{chunk-2EDC3QGH.js → chunk-3UJV3W4Y.js} +1 -1
- package/Build/Workers/{chunk-N3BIL6WA.js → chunk-3X2LXRHU.js} +13 -13
- package/Build/Workers/{chunk-FJT3ERV7.js → chunk-4ESQ3DN2.js} +9 -9
- package/Build/Workers/{chunk-HO2NTC7I.js → chunk-4IQPX22D.js} +6 -6
- package/Build/Workers/{chunk-L6FARMF6.js → chunk-4XPGN5Y7.js} +11 -11
- package/Build/Workers/{chunk-4NBRIKB3.js → chunk-56LALJCU.js} +2 -2
- package/Build/Workers/{chunk-HC7RYWPZ.js → chunk-5FSKL7US.js} +12 -12
- package/Build/Workers/{chunk-54VC7SCM.js → chunk-5YKJKOFE.js} +7 -7
- package/Build/Workers/{chunk-6ZREIBKS.js → chunk-62YGXNGC.js} +7 -7
- package/Build/Workers/{chunk-BH5ZEN4I.js → chunk-6DYMJ57Z.js} +10 -10
- package/Build/Workers/{chunk-AS7P4BHI.js → chunk-7DSVCRFD.js} +6 -6
- package/Build/Workers/{chunk-6FFGOENI.js → chunk-7OISMGQF.js} +46 -23
- package/Build/Workers/{chunk-BJ3WF5RW.js → chunk-AL7BHP36.js} +6 -6
- package/Build/Workers/{chunk-WQRXRDCZ.js → chunk-AOCENJVH.js} +11 -11
- package/Build/Workers/{chunk-2MKRG7L7.js → chunk-ARTM66DL.js} +5 -5
- package/Build/Workers/{chunk-VSFFJGTA.js → chunk-B4AZL6Q4.js} +5 -5
- package/Build/Workers/{chunk-5IY5BXCT.js → chunk-BQNTN4CC.js} +83 -79
- package/Build/Workers/{chunk-AUM45VEG.js → chunk-C4IAULHW.js} +15 -15
- package/Build/Workers/{chunk-6PJIHPQB.js → chunk-ES6Q5HWK.js} +13 -13
- package/Build/Workers/{chunk-DVAIU7A4.js → chunk-GKBICLGC.js} +19 -23
- package/Build/Workers/{chunk-IBG5FVXC.js → chunk-GMGUR5GM.js} +4 -4
- package/Build/Workers/{chunk-OOA6GXKD.js → chunk-GUW6BS72.js} +7 -7
- package/Build/Workers/{chunk-KFW4UNQH.js → chunk-GYHHNFW5.js} +15 -25
- package/Build/Workers/{chunk-GOHDOWU5.js → chunk-GZG526CC.js} +14 -14
- package/Build/Workers/{chunk-BZXF3GNX.js → chunk-HILBDZUP.js} +2 -2
- package/Build/Workers/{chunk-BBO6BGLC.js → chunk-HYUTWUXN.js} +13 -13
- package/Build/Workers/{chunk-HA6TZ3XT.js → chunk-IL6SMMDD.js} +4 -4
- package/Build/Workers/{chunk-T4MB73MC.js → chunk-IT6AWHFV.js} +2 -2
- package/Build/Workers/{chunk-SRZJCF7G.js → chunk-J64XIF5C.js} +10 -36
- package/Build/Workers/{chunk-BUOFSNFW.js → chunk-JGGZ3H4W.js} +1 -1
- package/Build/Workers/{chunk-SIZXFNJY.js → chunk-JRULXFCC.js} +5 -5
- package/Build/Workers/{chunk-QGT2GMOK.js → chunk-MSY2AAW2.js} +4 -4
- package/Build/Workers/{chunk-XLCZE6DD.js → chunk-QXBRZZQS.js} +10 -10
- package/Build/Workers/{chunk-JYUCC5NV.js → chunk-SXJ37VUC.js} +7 -7
- package/Build/Workers/{chunk-OC4MYPVW.js → chunk-T6FZFMTF.js} +2 -2
- package/Build/Workers/{chunk-OSCHEWSG.js → chunk-TQK4D4AR.js} +7 -7
- package/Build/Workers/{chunk-2RZYNSMR.js → chunk-US3L7FXC.js} +7 -9
- package/Build/Workers/{chunk-RFQYEYAL.js → chunk-VGT4ONMC.js} +18 -20
- package/Build/Workers/{chunk-VHJ5ESXF.js → chunk-VJVTWBXB.js} +1 -1
- package/Build/Workers/{chunk-RJF5ZP76.js → chunk-VQZNBD3T.js} +4 -4
- package/Build/Workers/{chunk-WXDGOYTT.js → chunk-VUCVRDLD.js} +7 -7
- package/Build/Workers/{chunk-DJXXI7UF.js → chunk-W2Q2F7JS.js} +5 -5
- package/Build/Workers/{chunk-HZPMWR4H.js → chunk-WQCX7U65.js} +7 -7
- package/Build/Workers/{chunk-HFMJM3SX.js → chunk-WW5RTJ72.js} +1 -1
- package/Build/Workers/{chunk-IXLNNST6.js → chunk-X67KKHI7.js} +4 -4
- package/Build/Workers/{chunk-4TK5YR6Q.js → chunk-X7VRF25X.js} +5 -5
- package/Build/Workers/{chunk-O5SSW3B3.js → chunk-YANQEHO5.js} +6 -6
- package/Build/Workers/{chunk-HBZSCVZC.js → chunk-ZZNBFQL5.js} +11 -11
- 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 +22 -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 +5 -5
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/transcodeKTX2.js +7 -7
- 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 +45 -45
- 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 +12 -9
- package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
- package/Source/Core/ComponentDatatype.js +4 -4
- package/Source/Core/CompressedTextureBuffer.js +2 -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 +48 -48
- 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 +55 -56
- 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 +18 -17
- 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 +15 -15
- 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 +2 -2
- 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 +6 -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 +6 -6
- 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 +53 -53
- 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 +4 -4
- 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/Cesium3DTilesetGraphics.js +1 -1
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
- package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
- package/Source/DataSources/ColorMaterialProperty.js +1 -1
- package/Source/DataSources/CompositeEntityCollection.js +14 -15
- package/Source/DataSources/CompositeMaterialProperty.js +5 -7
- package/Source/DataSources/CompositePositionProperty.js +4 -5
- package/Source/DataSources/CompositeProperty.js +2 -2
- package/Source/DataSources/ConstantPositionProperty.js +2 -2
- 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 +24 -24
- 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 +13 -13
- 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 +5 -5
- package/Source/DataSources/GroundGeometryUpdater.js +6 -6
- package/Source/DataSources/ImageMaterialProperty.js +2 -2
- package/Source/DataSources/KmlDataSource.js +212 -212
- package/Source/DataSources/LabelGraphics.js +14 -14
- package/Source/DataSources/LabelVisualizer.js +24 -24
- package/Source/DataSources/ModelGraphics.js +38 -17
- package/Source/DataSources/ModelVisualizer.js +41 -32
- package/Source/DataSources/NodeTransformationProperty.js +3 -3
- 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 +1 -1
- package/Source/DataSources/PolylineDashMaterialProperty.js +4 -4
- package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
- package/Source/DataSources/PolylineGlowMaterialProperty.js +3 -3
- package/Source/DataSources/PolylineGraphics.js +4 -4
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +3 -3
- 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 +4 -3
- package/Source/DataSources/PositionPropertyArray.js +3 -3
- package/Source/DataSources/Property.js +1 -1
- package/Source/DataSources/PropertyArray.js +1 -1
- package/Source/DataSources/PropertyBag.js +5 -5
- package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
- package/Source/DataSources/RectangleGraphics.js +6 -6
- package/Source/DataSources/ReferenceProperty.js +6 -6
- package/Source/DataSources/Rotation.js +2 -2
- package/Source/DataSources/SampledPositionProperty.js +6 -6
- package/Source/DataSources/SampledProperty.js +16 -16
- package/Source/DataSources/ScaledPositionProperty.js +2 -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 +2 -2
- package/Source/DataSources/TerrainOffsetProperty.js +11 -11
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +28 -30
- package/Source/DataSources/TimeIntervalCollectionProperty.js +1 -1
- package/Source/DataSources/VelocityOrientationProperty.js +3 -3
- package/Source/DataSources/VelocityVectorProperty.js +4 -4
- 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 +14 -1
- 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 +40 -40
- package/Source/Renderer/CubeMap.js +109 -32
- package/Source/Renderer/CubeMapFace.js +109 -32
- 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/RenderState.js +36 -36
- package/Source/Renderer/Renderbuffer.js +3 -3
- package/Source/Renderer/Sampler.js +2 -2
- 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 +15 -15
- package/Source/Renderer/ShaderSource.js +40 -40
- package/Source/Renderer/Texture.js +74 -63
- package/Source/Renderer/UniformState.js +78 -58
- 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 +5 -5
- package/Source/Renderer/loadCubeMap.js +1 -1
- package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
- package/Source/Scene/ArcGisMapService.js +4 -7
- package/Source/Scene/Atmosphere.js +22 -0
- 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 +18 -18
- 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 +120 -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/DynamicEnvironmentMapManager.js +852 -0
- 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 +76 -116
- package/Source/Scene/FrameRateMonitor.js +22 -22
- package/Source/Scene/FrameState.js +36 -3
- package/Source/Scene/Geometry3DTileContent.js +20 -20
- package/Source/Scene/GetFeatureInfoFormat.js +15 -14
- package/Source/Scene/Globe.js +32 -27
- package/Source/Scene/GlobeDepth.js +95 -66
- package/Source/Scene/GlobeSurfaceShaderSet.js +12 -10
- package/Source/Scene/GlobeSurfaceTile.js +33 -33
- package/Source/Scene/GlobeSurfaceTileProvider.js +127 -124
- 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 +32 -87
- 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 +29 -29
- 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 +26 -27
- 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 +13 -8
- 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 +56 -34
- 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 +228 -75
- package/Source/Scene/Model/Model3DTileContent.js +37 -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 +43 -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 +35 -41
- package/Source/Scene/PostProcessStageComposite.js +2 -2
- package/Source/Scene/PostProcessStageLibrary.js +5 -5
- 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 +879 -657
- package/Source/Scene/SceneFramebuffer.js +2 -2
- package/Source/Scene/SceneTransforms.js +30 -30
- package/Source/Scene/SceneTransitioner.js +47 -47
- package/Source/Scene/ScreenSpaceCameraController.js +180 -154
- 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 +7 -8
- package/Source/Scene/SpatialNode.js +13 -13
- 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/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 -80
- package/Source/Scene/VoxelRenderResources.js +13 -13
- 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/Functions/computeAtmosphereColor.glsl +44 -0
- package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +44 -0
- package/Source/Shaders/Builtin/Functions/computeScattering.glsl +0 -1
- package/Source/Shaders/Builtin/Functions/computeScattering.js +0 -1
- package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +3 -1
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +3 -1
- 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/ComputeIrradianceFS.glsl +103 -0
- package/Source/Shaders/ComputeIrradianceFS.js +105 -0
- package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
- package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
- package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
- package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
- package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
- package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
- package/Source/Shaders/DepthPlaneVS.glsl +1 -1
- package/Source/Shaders/DepthPlaneVS.js +1 -1
- package/Source/Shaders/GlobeFS.glsl +1 -2
- package/Source/Shaders/GlobeFS.js +1 -2
- package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -4
- package/Source/Shaders/Model/AtmosphereStageFS.js +1 -4
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +2 -155
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -156
- package/Source/Shaders/Model/LightingStageFS.glsl +3 -22
- package/Source/Shaders/Model/LightingStageFS.js +3 -22
- package/Source/Shaders/Model/ModelFS.glsl +26 -0
- package/Source/Shaders/Model/ModelFS.js +26 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
- package/Source/Shaders/SkyBoxVS.glsl +0 -1
- package/Source/Shaders/SkyBoxVS.js +0 -1
- package/Source/Widget/CesiumWidget.js +785 -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 +4 -4
- 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 +769 -47
- package/index.js +73 -51
- package/package.json +3 -3
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
in vec3 position;
|
|
2
|
+
out vec3 v_textureCoordinates;
|
|
3
|
+
|
|
4
|
+
uniform vec3 u_faceDirection;
|
|
5
|
+
|
|
6
|
+
vec3 getCubeMapDirection(vec2 uv, vec3 faceDir) {
|
|
7
|
+
vec2 scaledUV = uv;
|
|
8
|
+
|
|
9
|
+
if (faceDir.x != 0.0) {
|
|
10
|
+
return vec3(faceDir.x, scaledUV.y, scaledUV.x * faceDir.x);
|
|
11
|
+
} else if (faceDir.y != 0.0) {
|
|
12
|
+
return vec3(scaledUV.x, -faceDir.y, -scaledUV.y * faceDir.y);
|
|
13
|
+
} else {
|
|
14
|
+
return vec3(scaledUV.x * faceDir.z, scaledUV.y, -faceDir.z);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
void main()
|
|
19
|
+
{
|
|
20
|
+
v_textureCoordinates = getCubeMapDirection(position.xy, u_faceDirection);
|
|
21
|
+
v_textureCoordinates.y = -v_textureCoordinates.y;
|
|
22
|
+
v_textureCoordinates.z = -v_textureCoordinates.z;
|
|
23
|
+
gl_Position = vec4(position, 1.0);
|
|
24
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
+
export default "in vec3 position;\n\
|
|
3
|
+
out vec3 v_textureCoordinates;\n\
|
|
4
|
+
\n\
|
|
5
|
+
uniform vec3 u_faceDirection;\n\
|
|
6
|
+
\n\
|
|
7
|
+
vec3 getCubeMapDirection(vec2 uv, vec3 faceDir) {\n\
|
|
8
|
+
vec2 scaledUV = uv;\n\
|
|
9
|
+
\n\
|
|
10
|
+
if (faceDir.x != 0.0) {\n\
|
|
11
|
+
return vec3(faceDir.x, scaledUV.y, scaledUV.x * faceDir.x);\n\
|
|
12
|
+
} else if (faceDir.y != 0.0) {\n\
|
|
13
|
+
return vec3(scaledUV.x, -faceDir.y, -scaledUV.y * faceDir.y);\n\
|
|
14
|
+
} else {\n\
|
|
15
|
+
return vec3(scaledUV.x * faceDir.z, scaledUV.y, -faceDir.z); \n\
|
|
16
|
+
}\n\
|
|
17
|
+
}\n\
|
|
18
|
+
\n\
|
|
19
|
+
void main() \n\
|
|
20
|
+
{\n\
|
|
21
|
+
v_textureCoordinates = getCubeMapDirection(position.xy, u_faceDirection);\n\
|
|
22
|
+
v_textureCoordinates.y = -v_textureCoordinates.y;\n\
|
|
23
|
+
v_textureCoordinates.z = -v_textureCoordinates.z;\n\
|
|
24
|
+
gl_Position = vec4(position, 1.0);\n\
|
|
25
|
+
}\n\
|
|
26
|
+
";
|
|
@@ -499,8 +499,7 @@ void main()
|
|
|
499
499
|
fogColor.rgb = czm_inverseGamma(fogColor.rgb);
|
|
500
500
|
#endif
|
|
501
501
|
|
|
502
|
-
|
|
503
|
-
finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a);
|
|
502
|
+
finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, czm_fogVisualDensityScalar), finalColor.a);
|
|
504
503
|
|
|
505
504
|
#else
|
|
506
505
|
// Apply ground atmosphere. This happens when the camera is far away from the earth.
|
|
@@ -500,8 +500,7 @@ void main()\n\
|
|
|
500
500
|
fogColor.rgb = czm_inverseGamma(fogColor.rgb);\n\
|
|
501
501
|
#endif\n\
|
|
502
502
|
\n\
|
|
503
|
-
|
|
504
|
-
finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a);\n\
|
|
503
|
+
finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, czm_fogVisualDensityScalar), finalColor.a);\n\
|
|
505
504
|
\n\
|
|
506
505
|
#else\n\
|
|
507
506
|
// Apply ground atmosphere. This happens when the camera is far away from the earth.\n\
|
|
@@ -56,10 +56,7 @@ void applyFog(inout vec4 color, vec4 groundAtmosphereColor, vec3 lightDirection,
|
|
|
56
56
|
fogColor.rgb = czm_inverseGamma(fogColor.rgb);
|
|
57
57
|
#endif
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
// more gradual.
|
|
61
|
-
const float fogModifier = 0.15;
|
|
62
|
-
vec3 withFog = czm_fog(distanceToCamera, color.rgb, fogColor, fogModifier);
|
|
59
|
+
vec3 withFog = czm_fog(distanceToCamera, color.rgb, fogColor, czm_fogVisualDensityScalar);
|
|
63
60
|
color = vec4(withFog, color.a);
|
|
64
61
|
}
|
|
65
62
|
|
|
@@ -57,10 +57,7 @@ void applyFog(inout vec4 color, vec4 groundAtmosphereColor, vec3 lightDirection,
|
|
|
57
57
|
fogColor.rgb = czm_inverseGamma(fogColor.rgb);\n\
|
|
58
58
|
#endif\n\
|
|
59
59
|
\n\
|
|
60
|
-
|
|
61
|
-
// more gradual.\n\
|
|
62
|
-
const float fogModifier = 0.15;\n\
|
|
63
|
-
vec3 withFog = czm_fog(distanceToCamera, color.rgb, fogColor, fogModifier);\n\
|
|
60
|
+
vec3 withFog = czm_fog(distanceToCamera, color.rgb, fogColor, czm_fogVisualDensityScalar);\n\
|
|
64
61
|
color = vec4(withFog, color.a);\n\
|
|
65
62
|
}\n\
|
|
66
63
|
\n\
|
|
@@ -1,156 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Compute some metrics for a procedural sky lighting model
|
|
3
|
-
*
|
|
4
|
-
* @param {vec3} positionWC The position of the fragment in world coordinates.
|
|
5
|
-
* @param {vec3} reflectionWC A unit vector in the direction of the reflection, in world coordinates.
|
|
6
|
-
* @return {vec3} The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance.
|
|
7
|
-
*/
|
|
8
|
-
vec3 getProceduralSkyMetrics(vec3 positionWC, vec3 reflectionWC)
|
|
9
|
-
{
|
|
10
|
-
// Figure out if the reflection vector hits the ellipsoid
|
|
11
|
-
float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / length(positionWC));
|
|
12
|
-
float reflectionDotNadir = dot(reflectionWC, normalize(positionWC));
|
|
13
|
-
float atmosphereHeight = 0.05;
|
|
14
|
-
float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir);
|
|
15
|
-
return vec3(horizonDotNadir, reflectionDotNadir, smoothstepHeight);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Compute the diffuse irradiance for a procedural sky lighting model.
|
|
20
|
-
*
|
|
21
|
-
* @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance.
|
|
22
|
-
* @return {vec3} The computed diffuse irradiance.
|
|
23
|
-
*/
|
|
24
|
-
vec3 getProceduralDiffuseIrradiance(vec3 skyMetrics)
|
|
25
|
-
{
|
|
26
|
-
vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9);
|
|
27
|
-
float diffuseIrradianceFromEarth = (1.0 - skyMetrics.x) * (skyMetrics.y * 0.25 + 0.75) * skyMetrics.z;
|
|
28
|
-
float diffuseIrradianceFromSky = (1.0 - skyMetrics.z) * (1.0 - (skyMetrics.y * 0.25 + 0.25));
|
|
29
|
-
return blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Compute the specular irradiance for a procedural sky lighting model.
|
|
34
|
-
*
|
|
35
|
-
* @param {vec3} reflectionWC The reflection vector in world coordinates.
|
|
36
|
-
* @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance.
|
|
37
|
-
* @param {float} roughness The roughness of the material.
|
|
38
|
-
* @return {vec3} The computed specular irradiance.
|
|
39
|
-
*/
|
|
40
|
-
vec3 getProceduralSpecularIrradiance(vec3 reflectionWC, vec3 skyMetrics, float roughness)
|
|
41
|
-
{
|
|
42
|
-
// Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z.
|
|
43
|
-
reflectionWC.x = -reflectionWC.x;
|
|
44
|
-
reflectionWC = -normalize(czm_temeToPseudoFixed * reflectionWC);
|
|
45
|
-
reflectionWC.x = -reflectionWC.x;
|
|
46
|
-
|
|
47
|
-
float inverseRoughness = 1.0 - roughness;
|
|
48
|
-
inverseRoughness *= inverseRoughness;
|
|
49
|
-
vec3 sceneSkyBox = czm_textureCube(czm_environmentMap, reflectionWC).rgb * inverseRoughness;
|
|
50
|
-
|
|
51
|
-
// Compute colors at different angles relative to the horizon
|
|
52
|
-
vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), skyMetrics.z);
|
|
53
|
-
vec3 nadirColor = belowHorizonColor * 0.5;
|
|
54
|
-
vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5);
|
|
55
|
-
vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, skyMetrics.y * inverseRoughness * 0.5 + 0.75);
|
|
56
|
-
vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, skyMetrics.z);
|
|
57
|
-
|
|
58
|
-
// Compute blend zones
|
|
59
|
-
float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - skyMetrics.x);
|
|
60
|
-
float blendRegionOffset = roughness * -1.0;
|
|
61
|
-
float farAboveHorizon = clamp(skyMetrics.x - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999);
|
|
62
|
-
float aroundHorizon = clamp(skyMetrics.x + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999);
|
|
63
|
-
float farBelowHorizon = clamp(skyMetrics.x + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999);
|
|
64
|
-
|
|
65
|
-
// Blend colors
|
|
66
|
-
float notDistantRough = (1.0 - skyMetrics.x * roughness * 0.8);
|
|
67
|
-
vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, skyMetrics.y) * notDistantRough);
|
|
68
|
-
specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, skyMetrics.y) * inverseRoughness);
|
|
69
|
-
specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, skyMetrics.y) * inverseRoughness);
|
|
70
|
-
|
|
71
|
-
return specularIrradiance;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
#ifdef USE_SUN_LUMINANCE
|
|
75
|
-
float clampedDot(vec3 x, vec3 y)
|
|
76
|
-
{
|
|
77
|
-
return clamp(dot(x, y), 0.001, 1.0);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Sun luminance following the "CIE Clear Sky Model"
|
|
81
|
-
* See page 40 of https://3dvar.com/Green2003Spherical.pdf
|
|
82
|
-
*
|
|
83
|
-
* @param {vec3} positionWC The position of the fragment in world coordinates.
|
|
84
|
-
* @param {vec3} normalEC The surface normal in eye coordinates.
|
|
85
|
-
* @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates.
|
|
86
|
-
* @return {float} The computed sun luminance.
|
|
87
|
-
*/
|
|
88
|
-
float getSunLuminance(vec3 positionWC, vec3 normalEC, vec3 lightDirectionEC)
|
|
89
|
-
{
|
|
90
|
-
vec3 normalWC = normalize(czm_inverseViewRotation * normalEC);
|
|
91
|
-
vec3 lightDirectionWC = normalize(czm_inverseViewRotation * lightDirectionEC);
|
|
92
|
-
vec3 vWC = -normalize(positionWC);
|
|
93
|
-
|
|
94
|
-
// Angle between sun and zenith.
|
|
95
|
-
float LdotZenith = clampedDot(lightDirectionWC, vWC);
|
|
96
|
-
float S = acos(LdotZenith);
|
|
97
|
-
// Angle between zenith and current pixel
|
|
98
|
-
float NdotZenith = clampedDot(normalWC, vWC);
|
|
99
|
-
// Angle between sun and current pixel
|
|
100
|
-
float NdotL = clampedDot(normalEC, lightDirectionEC);
|
|
101
|
-
float gamma = acos(NdotL);
|
|
102
|
-
|
|
103
|
-
float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * NdotL * NdotL) * (1.0 - exp(-0.32 / NdotZenith)));
|
|
104
|
-
float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * LdotZenith * LdotZenith) * (1.0 - exp(-0.32));
|
|
105
|
-
return model_luminanceAtZenith * (numerator / denominator);
|
|
106
|
-
}
|
|
107
|
-
#endif
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Compute the light contribution from a procedural sky model
|
|
111
|
-
*
|
|
112
|
-
* @param {vec3} positionEC The position of the fragment in eye coordinates.
|
|
113
|
-
* @param {vec3} normalEC The surface normal in eye coordinates.
|
|
114
|
-
* @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates.
|
|
115
|
-
* @param {czm_modelMaterial} The material properties.
|
|
116
|
-
* @return {vec3} The computed HDR color
|
|
117
|
-
*/
|
|
118
|
-
vec3 proceduralIBL(
|
|
119
|
-
vec3 positionEC,
|
|
120
|
-
vec3 normalEC,
|
|
121
|
-
vec3 lightDirectionEC,
|
|
122
|
-
czm_modelMaterial material
|
|
123
|
-
) {
|
|
124
|
-
vec3 viewDirectionEC = -normalize(positionEC);
|
|
125
|
-
vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0));
|
|
126
|
-
vec3 reflectionWC = normalize(czm_inverseViewRotation * reflect(viewDirectionEC, normalEC));
|
|
127
|
-
vec3 skyMetrics = getProceduralSkyMetrics(positionWC, reflectionWC);
|
|
128
|
-
|
|
129
|
-
float roughness = material.roughness;
|
|
130
|
-
vec3 f0 = material.specular;
|
|
131
|
-
|
|
132
|
-
vec3 specularIrradiance = getProceduralSpecularIrradiance(reflectionWC, skyMetrics, roughness);
|
|
133
|
-
float NdotV = abs(dot(normalEC, viewDirectionEC)) + 0.001;
|
|
134
|
-
vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg;
|
|
135
|
-
vec3 specularColor = czm_srgbToLinear(f0 * brdfLut.x + brdfLut.y);
|
|
136
|
-
vec3 specularContribution = specularIrradiance * specularColor * model_iblFactor.y;
|
|
137
|
-
#ifdef USE_SPECULAR
|
|
138
|
-
specularContribution *= material.specularWeight;
|
|
139
|
-
#endif
|
|
140
|
-
|
|
141
|
-
vec3 diffuseIrradiance = getProceduralDiffuseIrradiance(skyMetrics);
|
|
142
|
-
vec3 diffuseColor = material.diffuse;
|
|
143
|
-
vec3 diffuseContribution = diffuseIrradiance * diffuseColor * model_iblFactor.x;
|
|
144
|
-
|
|
145
|
-
vec3 iblColor = specularContribution + diffuseContribution;
|
|
146
|
-
|
|
147
|
-
#ifdef USE_SUN_LUMINANCE
|
|
148
|
-
iblColor *= getSunLuminance(positionWC, normalEC, lightDirectionEC);
|
|
149
|
-
#endif
|
|
150
|
-
|
|
151
|
-
return iblColor;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
1
|
#ifdef DIFFUSE_IBL
|
|
155
2
|
vec3 sampleDiffuseEnvironment(vec3 cubeDir)
|
|
156
3
|
{
|
|
@@ -223,7 +70,7 @@ vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material)
|
|
|
223
70
|
float Ems = specularWeight * (1.0 - brdfLut.x - brdfLut.y);
|
|
224
71
|
vec3 FmsEms = FssEss * averageFresnel * Ems / (1.0 - averageFresnel * Ems);
|
|
225
72
|
vec3 dielectricScattering = (1.0 - FssEss - FmsEms) * material.diffuse;
|
|
226
|
-
vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering);
|
|
73
|
+
vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering) * model_iblFactor.x;
|
|
227
74
|
#else
|
|
228
75
|
vec3 diffuseContribution = vec3(0.0);
|
|
229
76
|
#endif
|
|
@@ -244,7 +91,7 @@ vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material)
|
|
|
244
91
|
#ifdef SPECULAR_IBL
|
|
245
92
|
vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflectEC);
|
|
246
93
|
vec3 radiance = sampleSpecularEnvironment(reflectMC, roughness);
|
|
247
|
-
vec3 specularContribution = radiance * FssEss;
|
|
94
|
+
vec3 specularContribution = radiance * FssEss * model_iblFactor.y;
|
|
248
95
|
#else
|
|
249
96
|
vec3 specularContribution = vec3(0.0);
|
|
250
97
|
#endif
|
|
@@ -1,158 +1,5 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
-
export default "
|
|
3
|
-
* Compute some metrics for a procedural sky lighting model\n\
|
|
4
|
-
*\n\
|
|
5
|
-
* @param {vec3} positionWC The position of the fragment in world coordinates.\n\
|
|
6
|
-
* @param {vec3} reflectionWC A unit vector in the direction of the reflection, in world coordinates.\n\
|
|
7
|
-
* @return {vec3} The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance.\n\
|
|
8
|
-
*/\n\
|
|
9
|
-
vec3 getProceduralSkyMetrics(vec3 positionWC, vec3 reflectionWC)\n\
|
|
10
|
-
{\n\
|
|
11
|
-
// Figure out if the reflection vector hits the ellipsoid\n\
|
|
12
|
-
float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / length(positionWC));\n\
|
|
13
|
-
float reflectionDotNadir = dot(reflectionWC, normalize(positionWC));\n\
|
|
14
|
-
float atmosphereHeight = 0.05;\n\
|
|
15
|
-
float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir);\n\
|
|
16
|
-
return vec3(horizonDotNadir, reflectionDotNadir, smoothstepHeight);\n\
|
|
17
|
-
}\n\
|
|
18
|
-
\n\
|
|
19
|
-
/**\n\
|
|
20
|
-
* Compute the diffuse irradiance for a procedural sky lighting model.\n\
|
|
21
|
-
*\n\
|
|
22
|
-
* @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance.\n\
|
|
23
|
-
* @return {vec3} The computed diffuse irradiance.\n\
|
|
24
|
-
*/\n\
|
|
25
|
-
vec3 getProceduralDiffuseIrradiance(vec3 skyMetrics)\n\
|
|
26
|
-
{\n\
|
|
27
|
-
vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9); \n\
|
|
28
|
-
float diffuseIrradianceFromEarth = (1.0 - skyMetrics.x) * (skyMetrics.y * 0.25 + 0.75) * skyMetrics.z; \n\
|
|
29
|
-
float diffuseIrradianceFromSky = (1.0 - skyMetrics.z) * (1.0 - (skyMetrics.y * 0.25 + 0.25));\n\
|
|
30
|
-
return blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0);\n\
|
|
31
|
-
}\n\
|
|
32
|
-
\n\
|
|
33
|
-
/**\n\
|
|
34
|
-
* Compute the specular irradiance for a procedural sky lighting model.\n\
|
|
35
|
-
*\n\
|
|
36
|
-
* @param {vec3} reflectionWC The reflection vector in world coordinates.\n\
|
|
37
|
-
* @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance.\n\
|
|
38
|
-
* @param {float} roughness The roughness of the material.\n\
|
|
39
|
-
* @return {vec3} The computed specular irradiance.\n\
|
|
40
|
-
*/\n\
|
|
41
|
-
vec3 getProceduralSpecularIrradiance(vec3 reflectionWC, vec3 skyMetrics, float roughness)\n\
|
|
42
|
-
{\n\
|
|
43
|
-
// Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z.\n\
|
|
44
|
-
reflectionWC.x = -reflectionWC.x;\n\
|
|
45
|
-
reflectionWC = -normalize(czm_temeToPseudoFixed * reflectionWC);\n\
|
|
46
|
-
reflectionWC.x = -reflectionWC.x;\n\
|
|
47
|
-
\n\
|
|
48
|
-
float inverseRoughness = 1.0 - roughness;\n\
|
|
49
|
-
inverseRoughness *= inverseRoughness;\n\
|
|
50
|
-
vec3 sceneSkyBox = czm_textureCube(czm_environmentMap, reflectionWC).rgb * inverseRoughness;\n\
|
|
51
|
-
\n\
|
|
52
|
-
// Compute colors at different angles relative to the horizon\n\
|
|
53
|
-
vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), skyMetrics.z);\n\
|
|
54
|
-
vec3 nadirColor = belowHorizonColor * 0.5;\n\
|
|
55
|
-
vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5);\n\
|
|
56
|
-
vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, skyMetrics.y * inverseRoughness * 0.5 + 0.75);\n\
|
|
57
|
-
vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, skyMetrics.z);\n\
|
|
58
|
-
\n\
|
|
59
|
-
// Compute blend zones\n\
|
|
60
|
-
float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - skyMetrics.x);\n\
|
|
61
|
-
float blendRegionOffset = roughness * -1.0;\n\
|
|
62
|
-
float farAboveHorizon = clamp(skyMetrics.x - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999);\n\
|
|
63
|
-
float aroundHorizon = clamp(skyMetrics.x + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999);\n\
|
|
64
|
-
float farBelowHorizon = clamp(skyMetrics.x + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999);\n\
|
|
65
|
-
\n\
|
|
66
|
-
// Blend colors\n\
|
|
67
|
-
float notDistantRough = (1.0 - skyMetrics.x * roughness * 0.8);\n\
|
|
68
|
-
vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, skyMetrics.y) * notDistantRough);\n\
|
|
69
|
-
specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, skyMetrics.y) * inverseRoughness);\n\
|
|
70
|
-
specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, skyMetrics.y) * inverseRoughness);\n\
|
|
71
|
-
\n\
|
|
72
|
-
return specularIrradiance;\n\
|
|
73
|
-
}\n\
|
|
74
|
-
\n\
|
|
75
|
-
#ifdef USE_SUN_LUMINANCE\n\
|
|
76
|
-
float clampedDot(vec3 x, vec3 y)\n\
|
|
77
|
-
{\n\
|
|
78
|
-
return clamp(dot(x, y), 0.001, 1.0);\n\
|
|
79
|
-
}\n\
|
|
80
|
-
/**\n\
|
|
81
|
-
* Sun luminance following the \"CIE Clear Sky Model\"\n\
|
|
82
|
-
* See page 40 of https://3dvar.com/Green2003Spherical.pdf\n\
|
|
83
|
-
*\n\
|
|
84
|
-
* @param {vec3} positionWC The position of the fragment in world coordinates.\n\
|
|
85
|
-
* @param {vec3} normalEC The surface normal in eye coordinates.\n\
|
|
86
|
-
* @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates.\n\
|
|
87
|
-
* @return {float} The computed sun luminance.\n\
|
|
88
|
-
*/\n\
|
|
89
|
-
float getSunLuminance(vec3 positionWC, vec3 normalEC, vec3 lightDirectionEC)\n\
|
|
90
|
-
{\n\
|
|
91
|
-
vec3 normalWC = normalize(czm_inverseViewRotation * normalEC);\n\
|
|
92
|
-
vec3 lightDirectionWC = normalize(czm_inverseViewRotation * lightDirectionEC);\n\
|
|
93
|
-
vec3 vWC = -normalize(positionWC);\n\
|
|
94
|
-
\n\
|
|
95
|
-
// Angle between sun and zenith.\n\
|
|
96
|
-
float LdotZenith = clampedDot(lightDirectionWC, vWC);\n\
|
|
97
|
-
float S = acos(LdotZenith);\n\
|
|
98
|
-
// Angle between zenith and current pixel\n\
|
|
99
|
-
float NdotZenith = clampedDot(normalWC, vWC);\n\
|
|
100
|
-
// Angle between sun and current pixel\n\
|
|
101
|
-
float NdotL = clampedDot(normalEC, lightDirectionEC);\n\
|
|
102
|
-
float gamma = acos(NdotL);\n\
|
|
103
|
-
\n\
|
|
104
|
-
float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * NdotL * NdotL) * (1.0 - exp(-0.32 / NdotZenith)));\n\
|
|
105
|
-
float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * LdotZenith * LdotZenith) * (1.0 - exp(-0.32));\n\
|
|
106
|
-
return model_luminanceAtZenith * (numerator / denominator);\n\
|
|
107
|
-
}\n\
|
|
108
|
-
#endif\n\
|
|
109
|
-
\n\
|
|
110
|
-
/**\n\
|
|
111
|
-
* Compute the light contribution from a procedural sky model\n\
|
|
112
|
-
*\n\
|
|
113
|
-
* @param {vec3} positionEC The position of the fragment in eye coordinates.\n\
|
|
114
|
-
* @param {vec3} normalEC The surface normal in eye coordinates.\n\
|
|
115
|
-
* @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates.\n\
|
|
116
|
-
* @param {czm_modelMaterial} The material properties.\n\
|
|
117
|
-
* @return {vec3} The computed HDR color\n\
|
|
118
|
-
*/\n\
|
|
119
|
-
vec3 proceduralIBL(\n\
|
|
120
|
-
vec3 positionEC,\n\
|
|
121
|
-
vec3 normalEC,\n\
|
|
122
|
-
vec3 lightDirectionEC,\n\
|
|
123
|
-
czm_modelMaterial material\n\
|
|
124
|
-
) {\n\
|
|
125
|
-
vec3 viewDirectionEC = -normalize(positionEC);\n\
|
|
126
|
-
vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0));\n\
|
|
127
|
-
vec3 reflectionWC = normalize(czm_inverseViewRotation * reflect(viewDirectionEC, normalEC));\n\
|
|
128
|
-
vec3 skyMetrics = getProceduralSkyMetrics(positionWC, reflectionWC);\n\
|
|
129
|
-
\n\
|
|
130
|
-
float roughness = material.roughness;\n\
|
|
131
|
-
vec3 f0 = material.specular;\n\
|
|
132
|
-
\n\
|
|
133
|
-
vec3 specularIrradiance = getProceduralSpecularIrradiance(reflectionWC, skyMetrics, roughness);\n\
|
|
134
|
-
float NdotV = abs(dot(normalEC, viewDirectionEC)) + 0.001;\n\
|
|
135
|
-
vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg;\n\
|
|
136
|
-
vec3 specularColor = czm_srgbToLinear(f0 * brdfLut.x + brdfLut.y);\n\
|
|
137
|
-
vec3 specularContribution = specularIrradiance * specularColor * model_iblFactor.y;\n\
|
|
138
|
-
#ifdef USE_SPECULAR\n\
|
|
139
|
-
specularContribution *= material.specularWeight;\n\
|
|
140
|
-
#endif\n\
|
|
141
|
-
\n\
|
|
142
|
-
vec3 diffuseIrradiance = getProceduralDiffuseIrradiance(skyMetrics);\n\
|
|
143
|
-
vec3 diffuseColor = material.diffuse;\n\
|
|
144
|
-
vec3 diffuseContribution = diffuseIrradiance * diffuseColor * model_iblFactor.x;\n\
|
|
145
|
-
\n\
|
|
146
|
-
vec3 iblColor = specularContribution + diffuseContribution;\n\
|
|
147
|
-
\n\
|
|
148
|
-
#ifdef USE_SUN_LUMINANCE\n\
|
|
149
|
-
iblColor *= getSunLuminance(positionWC, normalEC, lightDirectionEC);\n\
|
|
150
|
-
#endif\n\
|
|
151
|
-
\n\
|
|
152
|
-
return iblColor;\n\
|
|
153
|
-
}\n\
|
|
154
|
-
\n\
|
|
155
|
-
#ifdef DIFFUSE_IBL\n\
|
|
2
|
+
export default "#ifdef DIFFUSE_IBL\n\
|
|
156
3
|
vec3 sampleDiffuseEnvironment(vec3 cubeDir)\n\
|
|
157
4
|
{\n\
|
|
158
5
|
#ifdef CUSTOM_SPHERICAL_HARMONICS\n\
|
|
@@ -224,7 +71,7 @@ vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material)
|
|
|
224
71
|
float Ems = specularWeight * (1.0 - brdfLut.x - brdfLut.y);\n\
|
|
225
72
|
vec3 FmsEms = FssEss * averageFresnel * Ems / (1.0 - averageFresnel * Ems);\n\
|
|
226
73
|
vec3 dielectricScattering = (1.0 - FssEss - FmsEms) * material.diffuse;\n\
|
|
227
|
-
vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering);\n\
|
|
74
|
+
vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering) * model_iblFactor.x;\n\
|
|
228
75
|
#else\n\
|
|
229
76
|
vec3 diffuseContribution = vec3(0.0);\n\
|
|
230
77
|
#endif\n\
|
|
@@ -245,7 +92,7 @@ vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material)
|
|
|
245
92
|
#ifdef SPECULAR_IBL\n\
|
|
246
93
|
vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflectEC);\n\
|
|
247
94
|
vec3 radiance = sampleSpecularEnvironment(reflectMC, roughness);\n\
|
|
248
|
-
vec3 specularContribution = radiance * FssEss;\n\
|
|
95
|
+
vec3 specularContribution = radiance * FssEss * model_iblFactor.y;\n\
|
|
249
96
|
#else\n\
|
|
250
97
|
vec3 specularContribution = vec3(0.0);\n\
|
|
251
98
|
#endif\n\
|
|
@@ -5,14 +5,10 @@ vec3 computeIBL(vec3 position, vec3 normal, vec3 lightDirection, vec3 lightColor
|
|
|
5
5
|
// Environment maps were provided, use them for IBL
|
|
6
6
|
vec3 viewDirection = -normalize(position);
|
|
7
7
|
vec3 iblColor = textureIBL(viewDirection, normal, material);
|
|
8
|
-
|
|
9
|
-
// Use procedural IBL if there are no environment maps
|
|
10
|
-
vec3 imageBasedLighting = proceduralIBL(position, normal, lightDirection, material);
|
|
11
|
-
float maximumComponent = czm_maximumComponent(lightColorHdr);
|
|
12
|
-
vec3 clampedLightColor = lightColorHdr / max(maximumComponent, 1.0);
|
|
13
|
-
vec3 iblColor = clampedLightColor * imageBasedLighting;
|
|
8
|
+
return iblColor;
|
|
14
9
|
#endif
|
|
15
|
-
|
|
10
|
+
|
|
11
|
+
return vec3(0.0);
|
|
16
12
|
}
|
|
17
13
|
#endif
|
|
18
14
|
|
|
@@ -44,21 +40,6 @@ vec3 addClearcoatReflection(vec3 baseLayerColor, vec3 position, vec3 lightDirect
|
|
|
44
40
|
vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflect(-viewDirection, normal));
|
|
45
41
|
vec3 iblColor = computeSpecularIBL(reflectMC, NdotV, f0, roughness);
|
|
46
42
|
color += iblColor * material.occlusion;
|
|
47
|
-
#elif defined(USE_IBL_LIGHTING)
|
|
48
|
-
vec3 positionWC = vec3(czm_inverseView * vec4(position, 1.0));
|
|
49
|
-
vec3 reflectionWC = normalize(czm_inverseViewRotation * reflect(viewDirection, normal));
|
|
50
|
-
vec3 skyMetrics = getProceduralSkyMetrics(positionWC, reflectionWC);
|
|
51
|
-
|
|
52
|
-
vec3 specularIrradiance = getProceduralSpecularIrradiance(reflectionWC, skyMetrics, roughness);
|
|
53
|
-
vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg;
|
|
54
|
-
vec3 specularColor = czm_srgbToLinear(f0 * brdfLut.x + brdfLut.y);
|
|
55
|
-
vec3 iblColor = specularIrradiance * specularColor * model_iblFactor.y;
|
|
56
|
-
#ifdef USE_SUN_LUMINANCE
|
|
57
|
-
iblColor *= getSunLuminance(positionWC, normal, lightDirection);
|
|
58
|
-
#endif
|
|
59
|
-
float maximumComponent = czm_maximumComponent(lightColorHdr);
|
|
60
|
-
vec3 clampedLightColor = lightColorHdr / max(maximumComponent, 1.0);
|
|
61
|
-
color += clampedLightColor * iblColor * material.occlusion;
|
|
62
43
|
#endif
|
|
63
44
|
|
|
64
45
|
float clearcoatFactor = material.clearcoatFactor;
|
|
@@ -6,14 +6,10 @@ vec3 computeIBL(vec3 position, vec3 normal, vec3 lightDirection, vec3 lightColor
|
|
|
6
6
|
// Environment maps were provided, use them for IBL\n\
|
|
7
7
|
vec3 viewDirection = -normalize(position);\n\
|
|
8
8
|
vec3 iblColor = textureIBL(viewDirection, normal, material);\n\
|
|
9
|
-
|
|
10
|
-
// Use procedural IBL if there are no environment maps\n\
|
|
11
|
-
vec3 imageBasedLighting = proceduralIBL(position, normal, lightDirection, material);\n\
|
|
12
|
-
float maximumComponent = czm_maximumComponent(lightColorHdr);\n\
|
|
13
|
-
vec3 clampedLightColor = lightColorHdr / max(maximumComponent, 1.0);\n\
|
|
14
|
-
vec3 iblColor = clampedLightColor * imageBasedLighting;\n\
|
|
9
|
+
return iblColor;\n\
|
|
15
10
|
#endif\n\
|
|
16
|
-
|
|
11
|
+
\n\
|
|
12
|
+
return vec3(0.0);\n\
|
|
17
13
|
}\n\
|
|
18
14
|
#endif\n\
|
|
19
15
|
\n\
|
|
@@ -45,21 +41,6 @@ vec3 addClearcoatReflection(vec3 baseLayerColor, vec3 position, vec3 lightDirect
|
|
|
45
41
|
vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflect(-viewDirection, normal));\n\
|
|
46
42
|
vec3 iblColor = computeSpecularIBL(reflectMC, NdotV, f0, roughness);\n\
|
|
47
43
|
color += iblColor * material.occlusion;\n\
|
|
48
|
-
#elif defined(USE_IBL_LIGHTING)\n\
|
|
49
|
-
vec3 positionWC = vec3(czm_inverseView * vec4(position, 1.0));\n\
|
|
50
|
-
vec3 reflectionWC = normalize(czm_inverseViewRotation * reflect(viewDirection, normal));\n\
|
|
51
|
-
vec3 skyMetrics = getProceduralSkyMetrics(positionWC, reflectionWC);\n\
|
|
52
|
-
\n\
|
|
53
|
-
vec3 specularIrradiance = getProceduralSpecularIrradiance(reflectionWC, skyMetrics, roughness);\n\
|
|
54
|
-
vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg;\n\
|
|
55
|
-
vec3 specularColor = czm_srgbToLinear(f0 * brdfLut.x + brdfLut.y);\n\
|
|
56
|
-
vec3 iblColor = specularIrradiance * specularColor * model_iblFactor.y;\n\
|
|
57
|
-
#ifdef USE_SUN_LUMINANCE\n\
|
|
58
|
-
iblColor *= getSunLuminance(positionWC, normal, lightDirection);\n\
|
|
59
|
-
#endif\n\
|
|
60
|
-
float maximumComponent = czm_maximumComponent(lightColorHdr);\n\
|
|
61
|
-
vec3 clampedLightColor = lightColorHdr / max(maximumComponent, 1.0);\n\
|
|
62
|
-
color += clampedLightColor * iblColor * material.occlusion;\n\
|
|
63
44
|
#endif\n\
|
|
64
45
|
\n\
|
|
65
46
|
float clearcoatFactor = material.clearcoatFactor;\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\
|