@cesium/engine 1.0.0 → 2.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/{AttributeCompression-4589338a.js → AttributeCompression-b646d393.js} +1 -1
- package/Build/Workers/{AxisAlignedBoundingBox-bfb1234f.js → AxisAlignedBoundingBox-47525601.js} +1 -1
- package/Build/Workers/{BoundingRectangle-7ffc2153.js → BoundingRectangle-93b263ac.js} +1 -1
- package/Build/Workers/{BoxGeometry-93f344a3.js → BoxGeometry-8c4b4125.js} +1 -1
- package/Build/Workers/{Color-0c5aaf47.js → Color-52c60ed7.js} +1 -1
- package/Build/Workers/{CoplanarPolygonGeometryLibrary-6597982a.js → CoplanarPolygonGeometryLibrary-33c4c1f8.js} +1 -1
- package/Build/Workers/{CorridorGeometryLibrary-2119580e.js → CorridorGeometryLibrary-5039cd8e.js} +1 -1
- package/Build/Workers/{CylinderGeometry-f9503c6d.js → CylinderGeometry-3ac44974.js} +1 -1
- package/Build/Workers/{EllipseGeometry-fedf72d5.js → EllipseGeometry-a9c9b3be.js} +1 -1
- package/Build/Workers/{EllipseGeometryLibrary-4ea68687.js → EllipseGeometryLibrary-855d4681.js} +1 -1
- package/Build/Workers/{EllipseOutlineGeometry-e2ae6a35.js → EllipseOutlineGeometry-017a5929.js} +1 -1
- package/Build/Workers/{EllipsoidGeodesic-16de63ea.js → EllipsoidGeodesic-98c62a56.js} +1 -1
- package/Build/Workers/{EllipsoidGeometry-95c0330e.js → EllipsoidGeometry-826e7bce.js} +1 -1
- package/Build/Workers/{EllipsoidOutlineGeometry-d6d2ceec.js → EllipsoidOutlineGeometry-784dcdb5.js} +1 -1
- package/Build/Workers/{EllipsoidRhumbLine-ae5e65e0.js → EllipsoidRhumbLine-19756602.js} +1 -1
- package/Build/Workers/{EllipsoidTangentPlane-bfc674bf.js → EllipsoidTangentPlane-ed9443a1.js} +1 -1
- package/Build/Workers/{EncodedCartesian3-f473ea18.js → EncodedCartesian3-81f70735.js} +1 -1
- package/Build/Workers/{FrustumGeometry-3bf2e4eb.js → FrustumGeometry-9f1ee4d8.js} +1 -1
- package/Build/Workers/{GeometryAttribute-df5f473e.js → GeometryAttribute-334718f8.js} +1 -1
- package/Build/Workers/{GeometryInstance-aa75b4cf.js → GeometryInstance-451dc1cd.js} +1 -1
- package/Build/Workers/{GeometryPipeline-f0e46c42.js → GeometryPipeline-8fb0db69.js} +1 -1
- package/Build/Workers/{IntersectionTests-9de29d51.js → IntersectionTests-27d49265.js} +1 -1
- package/Build/Workers/{Matrix2-ce637455.js → Matrix2-13178034.js} +4 -2
- package/Build/Workers/{Matrix3-4f4df527.js → Matrix3-315394f6.js} +2 -1
- package/Build/Workers/{OrientedBoundingBox-d3ff3d4d.js → OrientedBoundingBox-79ee7cbb.js} +5 -5
- package/Build/Workers/{Plane-b81241c2.js → Plane-900aa728.js} +1 -1
- package/Build/Workers/{PolygonGeometryLibrary-6f4937bb.js → PolygonGeometryLibrary-6b5a29e9.js} +1 -1
- package/Build/Workers/PolygonPipeline-21668b3f.js +1345 -0
- package/Build/Workers/{PolylinePipeline-2e2b015c.js → PolylinePipeline-5e2e1b21.js} +1 -1
- package/Build/Workers/{PolylineVolumeGeometryLibrary-7ee1d449.js → PolylineVolumeGeometryLibrary-97f0b94e.js} +1 -1
- package/Build/Workers/{PrimitivePipeline-a9b7aae0.js → PrimitivePipeline-5640850a.js} +1 -1
- package/Build/Workers/{RectangleGeometryLibrary-9aa6c8f6.js → RectangleGeometryLibrary-d5457f7b.js} +1 -1
- package/Build/Workers/{TerrainEncoding-b52dcfc5.js → TerrainEncoding-bfdf2021.js} +1 -1
- package/Build/Workers/{Transforms-2f755df8.js → Transforms-a05e5e6e.js} +114 -83
- package/Build/Workers/{WallGeometryLibrary-ab19a93d.js → WallGeometryLibrary-6db0ebb6.js} +1 -1
- package/Build/Workers/{WebMercatorProjection-9f25de49.js → WebMercatorProjection-13a90d41.js} +1 -1
- package/Build/Workers/cesiumWorkerBootstrapper.js +92 -2
- package/Build/Workers/combineGeometry.js +1 -1
- package/Build/Workers/createBoxGeometry.js +1 -1
- package/Build/Workers/createBoxOutlineGeometry.js +1 -1
- package/Build/Workers/createCircleGeometry.js +1 -1
- package/Build/Workers/createCircleOutlineGeometry.js +1 -1
- package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/Build/Workers/createCorridorGeometry.js +1 -1
- package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
- package/Build/Workers/createCylinderGeometry.js +1 -1
- package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
- package/Build/Workers/createEllipseGeometry.js +1 -1
- package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
- package/Build/Workers/createEllipsoidGeometry.js +1 -1
- package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/Build/Workers/createFrustumGeometry.js +1 -1
- package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
- package/Build/Workers/createGeometry.js +1 -1
- package/Build/Workers/createGroundPolylineGeometry.js +1 -1
- package/Build/Workers/createPlaneGeometry.js +1 -1
- package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
- package/Build/Workers/createPolygonGeometry.js +1 -1
- package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
- package/Build/Workers/createPolylineGeometry.js +1 -1
- package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
- package/Build/Workers/createRectangleGeometry.js +1 -1
- package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
- package/Build/Workers/createSimplePolylineGeometry.js +1 -1
- package/Build/Workers/createSphereGeometry.js +1 -1
- package/Build/Workers/createSphereOutlineGeometry.js +1 -1
- package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
- package/Build/Workers/createVectorTileGeometries.js +1 -1
- package/Build/Workers/createVectorTilePoints.js +1 -1
- package/Build/Workers/createVectorTilePolygons.js +1 -1
- package/Build/Workers/createVectorTilePolylines.js +1 -1
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/Build/Workers/createVerticesFromHeightmap.js +7 -3
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
- package/Build/Workers/createWallGeometry.js +1 -1
- package/Build/Workers/createWallOutlineGeometry.js +1 -1
- package/Build/Workers/decodeDraco.js +9 -1
- package/Build/Workers/decodeI3S.js +1 -1
- package/Build/Workers/package.js +25 -1
- package/Build/Workers/transcodeKTX2.js +22 -2
- package/Build/Workers/transferTypedArrayTest.js +25 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
- package/README.md +14 -16
- package/Source/Core/EarthOrientationParameters.js +67 -63
- package/Source/Core/FeatureDetection.js +18 -0
- package/Source/Core/Ion.js +1 -2
- package/Source/Core/Matrix2.js +2 -1
- package/Source/Core/Matrix3.js +2 -1
- package/Source/Core/Matrix4.js +1 -0
- package/Source/Core/OrientedBoundingBox.js +4 -4
- package/Source/Core/PixelFormat.js +22 -2
- package/Source/Core/S2Cell.js +3 -3
- package/Source/Core/Transforms.js +3 -7
- package/Source/Core/sampleTerrain.js +5 -0
- package/Source/DataSources/GpxDataSource.js +4 -6
- package/Source/DataSources/KmlDataSource.js +3 -5
- package/Source/Renderer/AutomaticUniforms.js +3 -3
- package/Source/Renderer/Context.js +20 -12
- package/Source/Renderer/Pass.js +3 -2
- package/Source/Renderer/ShaderBuilder.js +13 -12
- package/Source/Renderer/ShaderSource.js +31 -26
- package/Source/Renderer/demodernizeShader.js +76 -0
- package/Source/Scene/AutoExposure.js +5 -5
- package/Source/Scene/BatchTable.js +5 -5
- package/Source/Scene/BillboardCollection.js +2 -2
- package/Source/Scene/BingMapsImageryProvider.js +1 -1
- package/Source/Scene/Cesium3DTile.js +8 -2
- package/Source/Scene/Cesium3DTileBatchTable.js +28 -28
- package/Source/Scene/Cesium3DTileContentType.js +19 -0
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +494 -0
- package/Source/Scene/Cesium3DTileset.js +6 -1
- package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
- package/Source/Scene/ClassificationPrimitive.js +3 -8
- package/Source/Scene/ContentMetadata.js +2 -2
- package/Source/Scene/DebugAppearance.js +7 -9
- package/Source/Scene/DebugInspector.js +5 -5
- package/Source/Scene/DepthPlane.js +0 -6
- package/Source/Scene/DerivedCommand.js +15 -22
- package/Source/Scene/EllipsoidPrimitive.js +0 -7
- package/Source/Scene/Expression.js +1 -1
- package/Source/Scene/Globe.js +10 -0
- package/Source/Scene/GlobeSurfaceTileProvider.js +7 -0
- package/Source/Scene/GlobeTranslucencyState.js +6 -6
- package/Source/Scene/GltfImageLoader.js +1 -1
- package/Source/Scene/GltfVertexBufferLoader.js +10 -2
- package/Source/Scene/GroundPolylinePrimitive.js +2 -4
- package/Source/Scene/GroupMetadata.js +2 -2
- package/Source/Scene/ImplicitMetadataView.js +2 -2
- package/Source/Scene/ImplicitSubtreeCache.js +127 -0
- package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
- package/Source/Scene/ImplicitTileset.js +3 -2
- package/Source/Scene/InvertClassification.js +9 -10
- package/Source/Scene/KeyframeNode.js +47 -0
- package/Source/Scene/Material.js +6 -6
- package/Source/Scene/Megatexture.js +490 -0
- package/Source/Scene/MetadataClass.js +60 -25
- package/Source/Scene/MetadataClassProperty.js +132 -68
- package/Source/Scene/MetadataComponentType.js +78 -57
- package/Source/Scene/MetadataEnum.js +59 -23
- package/Source/Scene/MetadataEnumValue.js +49 -15
- package/Source/Scene/MetadataSchema.js +53 -24
- package/Source/Scene/MetadataSchemaLoader.js +2 -2
- package/Source/Scene/MetadataSemantic.js +8 -0
- package/Source/Scene/MetadataTableProperty.js +2 -2
- package/Source/Scene/MetadataType.js +6 -14
- package/Source/Scene/Model/CustomShader.js +1 -1
- package/Source/Scene/Model/FeatureIdPipelineStage.js +4 -4
- package/Source/Scene/Model/GeoJsonLoader.js +1 -1
- package/Source/Scene/Model/LightingModel.js +1 -1
- package/Source/Scene/Model/MetadataPipelineStage.js +1 -1
- package/Source/Scene/Model/Model.js +2 -3
- package/Source/Scene/Model/PickingPipelineStage.js +1 -1
- package/Source/Scene/Model/buildDrawCommand.js +19 -11
- package/Source/Scene/OIT.js +211 -119
- package/Source/Scene/PickDepth.js +2 -2
- package/Source/Scene/PointCloud.js +12 -12
- package/Source/Scene/PointCloudEyeDomeLighting.js +9 -4
- package/Source/Scene/PolylineCollection.js +2 -7
- package/Source/Scene/PolylineMaterialAppearance.js +2 -3
- package/Source/Scene/PostProcessStage.js +13 -13
- package/Source/Scene/PostProcessStageLibrary.js +3 -3
- package/Source/Scene/Primitive.js +22 -31
- package/Source/Scene/PropertyAttribute.js +2 -2
- package/Source/Scene/PropertyAttributeProperty.js +2 -2
- package/Source/Scene/PropertyTable.js +2 -2
- package/Source/Scene/PropertyTexture.js +2 -2
- package/Source/Scene/PropertyTextureProperty.js +2 -2
- package/Source/Scene/ResourceCache.js +9 -1
- package/Source/Scene/ResourceCacheKey.js +9 -1
- package/Source/Scene/Scene.js +17 -0
- package/Source/Scene/ShadowMap.js +7 -7
- package/Source/Scene/ShadowMapShader.js +9 -9
- package/Source/Scene/ShadowVolumeAppearance.js +1 -1
- package/Source/Scene/SpatialNode.js +375 -0
- package/Source/Scene/StructuralMetadata.js +2 -2
- package/Source/Scene/TextureAtlas.js +5 -3
- package/Source/Scene/TileMetadata.js +2 -2
- package/Source/Scene/TilesetMetadata.js +2 -2
- package/Source/Scene/Vector3DTilePolylines.js +1 -1
- package/Source/Scene/Vector3DTilePrimitive.js +2 -2
- package/Source/Scene/VoxelBoxShape.js +527 -0
- package/Source/Scene/VoxelContent.js +169 -0
- package/Source/Scene/VoxelCylinderShape.js +937 -0
- package/Source/Scene/VoxelEllipsoidShape.js +945 -0
- package/Source/Scene/VoxelPrimitive.js +1919 -0
- package/Source/Scene/VoxelProvider.js +255 -0
- package/Source/Scene/VoxelRenderResources.js +224 -0
- package/Source/Scene/VoxelShape.js +152 -0
- package/Source/Scene/VoxelShapeType.js +105 -0
- package/Source/Scene/VoxelTraversal.js +1144 -0
- package/Source/Scene/buildVoxelDrawCommands.js +116 -0
- package/Source/Scene/computeFlyToLocationForRectangle.js +10 -1
- package/Source/Scene/createElevationBandMaterial.js +10 -15
- package/Source/Scene/getClipAndStyleCode.js +1 -1
- package/Source/Scene/getClippingFunction.js +3 -3
- package/Source/Scene/parseBatchTable.js +18 -2
- package/Source/Scene/preprocess3DTileContent.js +8 -0
- package/Source/Scene/processVoxelProperties.js +455 -0
- package/Source/Shaders/AdjustTranslucentFS.glsl +9 -6
- package/Source/Shaders/AdjustTranslucentFS.js +9 -6
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +7 -7
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +7 -7
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +12 -12
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +12 -12
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +4 -4
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +4 -4
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +6 -6
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +6 -6
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +5 -5
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +5 -5
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +7 -7
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +7 -7
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +4 -4
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +4 -4
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +8 -8
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +8 -8
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +2 -2
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +2 -2
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +5 -5
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +5 -5
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +10 -10
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +10 -10
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +12 -12
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +12 -12
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +5 -5
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +5 -5
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +8 -8
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +8 -8
- package/Source/Shaders/BillboardCollectionFS.glsl +15 -15
- package/Source/Shaders/BillboardCollectionFS.js +15 -15
- package/Source/Shaders/BillboardCollectionVS.glsl +24 -24
- package/Source/Shaders/BillboardCollectionVS.js +24 -24
- package/Source/Shaders/BrdfLutGeneratorFS.glsl +2 -2
- package/Source/Shaders/BrdfLutGeneratorFS.js +2 -2
- package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
- package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
- package/Source/Shaders/Builtin/CzmBuiltins.js +19 -15
- package/Source/Shaders/Builtin/Functions/depthClamp.glsl +3 -3
- package/Source/Shaders/Builtin/Functions/depthClamp.js +3 -3
- package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +4 -4
- package/Source/Shaders/Builtin/Functions/getWaterNoise.js +4 -4
- package/Source/Shaders/Builtin/Functions/phong.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/phong.js +1 -1
- package/Source/Shaders/Builtin/Functions/readDepth.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/readDepth.js +1 -1
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +5 -5
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +5 -5
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +3 -3
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +3 -3
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +1 -1
- package/Source/Shaders/Builtin/Functions/textureCube.glsl +17 -0
- package/Source/Shaders/Builtin/Functions/textureCube.js +18 -0
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +2 -2
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +2 -2
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +55 -43
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +55 -43
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +5 -8
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +5 -8
- package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +6 -6
- package/Source/Shaders/Builtin/Functions/writeLogDepth.js +6 -6
- package/Source/Shaders/CloudCollectionFS.glsl +18 -18
- package/Source/Shaders/CloudCollectionFS.js +18 -18
- package/Source/Shaders/CloudCollectionVS.glsl +11 -11
- package/Source/Shaders/CloudCollectionVS.js +11 -11
- package/Source/Shaders/CloudNoiseFS.glsl +5 -5
- package/Source/Shaders/CloudNoiseFS.js +5 -5
- package/Source/Shaders/CloudNoiseVS.glsl +2 -2
- package/Source/Shaders/CloudNoiseVS.js +2 -2
- package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +4 -4
- package/Source/Shaders/CompareAndPackTranslucentDepth.js +4 -4
- package/Source/Shaders/CompositeOITFS.glsl +6 -6
- package/Source/Shaders/CompositeOITFS.js +6 -6
- package/Source/Shaders/DepthPlaneFS.glsl +2 -2
- package/Source/Shaders/DepthPlaneFS.js +2 -2
- package/Source/Shaders/DepthPlaneVS.glsl +2 -2
- package/Source/Shaders/DepthPlaneVS.js +2 -2
- package/Source/Shaders/EllipsoidFS.glsl +5 -13
- package/Source/Shaders/EllipsoidFS.js +6 -14
- package/Source/Shaders/EllipsoidVS.glsl +2 -2
- package/Source/Shaders/EllipsoidVS.js +2 -2
- package/Source/Shaders/FXAA3_11.glsl +4 -4
- package/Source/Shaders/FXAA3_11.js +4 -4
- package/Source/Shaders/GlobeFS.glsl +17 -16
- package/Source/Shaders/GlobeFS.js +17 -16
- package/Source/Shaders/GlobeVS.glsl +17 -17
- package/Source/Shaders/GlobeVS.js +17 -17
- package/Source/Shaders/Materials/AspectRampMaterial.glsl +1 -1
- package/Source/Shaders/Materials/AspectRampMaterial.js +1 -1
- package/Source/Shaders/Materials/BumpMapMaterial.glsl +3 -3
- package/Source/Shaders/Materials/BumpMapMaterial.js +3 -3
- package/Source/Shaders/Materials/ElevationBandMaterial.glsl +3 -3
- package/Source/Shaders/Materials/ElevationBandMaterial.js +3 -3
- package/Source/Shaders/Materials/ElevationContourMaterial.glsl +2 -1
- package/Source/Shaders/Materials/ElevationContourMaterial.js +2 -1
- package/Source/Shaders/Materials/ElevationRampMaterial.glsl +1 -1
- package/Source/Shaders/Materials/ElevationRampMaterial.js +1 -1
- package/Source/Shaders/Materials/GridMaterial.glsl +3 -2
- package/Source/Shaders/Materials/GridMaterial.js +3 -2
- package/Source/Shaders/Materials/NormalMapMaterial.glsl +1 -1
- package/Source/Shaders/Materials/NormalMapMaterial.js +1 -1
- package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +3 -2
- package/Source/Shaders/Materials/PolylineArrowMaterial.js +3 -2
- package/Source/Shaders/Materials/PolylineDashMaterial.glsl +1 -1
- package/Source/Shaders/Materials/PolylineDashMaterial.js +1 -1
- package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +1 -1
- package/Source/Shaders/Materials/PolylineOutlineMaterial.js +1 -1
- package/Source/Shaders/Materials/SlopeRampMaterial.glsl +1 -1
- package/Source/Shaders/Materials/SlopeRampMaterial.js +1 -1
- package/Source/Shaders/Materials/Water.glsl +1 -1
- package/Source/Shaders/Materials/Water.js +1 -1
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +3 -3
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -3
- package/Source/Shaders/Model/MaterialStageFS.glsl +10 -10
- package/Source/Shaders/Model/MaterialStageFS.js +10 -10
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +3 -3
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +3 -3
- package/Source/Shaders/Model/ModelFS.glsl +1 -1
- package/Source/Shaders/Model/ModelFS.js +1 -1
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +3 -3
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +3 -3
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +1 -1
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +1 -1
- package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +8 -8
- package/Source/Shaders/OctahedralProjectionAtlasFS.js +8 -8
- package/Source/Shaders/OctahedralProjectionFS.glsl +4 -4
- package/Source/Shaders/OctahedralProjectionFS.js +4 -4
- package/Source/Shaders/OctahedralProjectionVS.glsl +3 -3
- package/Source/Shaders/OctahedralProjectionVS.js +3 -3
- package/Source/Shaders/PointPrimitiveCollectionFS.glsl +6 -6
- package/Source/Shaders/PointPrimitiveCollectionFS.js +6 -6
- package/Source/Shaders/PointPrimitiveCollectionVS.glsl +17 -14
- package/Source/Shaders/PointPrimitiveCollectionVS.js +17 -14
- package/Source/Shaders/PolylineFS.glsl +3 -3
- package/Source/Shaders/PolylineFS.js +3 -3
- package/Source/Shaders/PolylineShadowVolumeFS.glsl +12 -16
- package/Source/Shaders/PolylineShadowVolumeFS.js +12 -16
- package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +8 -8
- package/Source/Shaders/PolylineShadowVolumeMorphFS.js +8 -8
- package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +20 -20
- package/Source/Shaders/PolylineShadowVolumeMorphVS.js +20 -20
- package/Source/Shaders/PolylineShadowVolumeVS.glsl +20 -20
- package/Source/Shaders/PolylineShadowVolumeVS.js +20 -20
- package/Source/Shaders/PolylineVS.glsl +17 -17
- package/Source/Shaders/PolylineVS.js +17 -17
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -4
- package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AdditiveBlend.js +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +4 -4
- package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +4 -4
- package/Source/Shaders/PostProcessStages/BlackAndWhite.js +4 -4
- package/Source/Shaders/PostProcessStages/BloomComposite.glsl +5 -5
- package/Source/Shaders/PostProcessStages/BloomComposite.js +5 -5
- package/Source/Shaders/PostProcessStages/BrightPass.glsl +3 -3
- package/Source/Shaders/PostProcessStages/BrightPass.js +3 -3
- package/Source/Shaders/PostProcessStages/Brightness.glsl +3 -3
- package/Source/Shaders/PostProcessStages/Brightness.js +3 -3
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +5 -5
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +5 -5
- package/Source/Shaders/PostProcessStages/ContrastBias.glsl +3 -3
- package/Source/Shaders/PostProcessStages/ContrastBias.js +3 -3
- package/Source/Shaders/PostProcessStages/DepthOfField.glsl +2 -2
- package/Source/Shaders/PostProcessStages/DepthOfField.js +2 -2
- package/Source/Shaders/PostProcessStages/DepthView.glsl +2 -2
- package/Source/Shaders/PostProcessStages/DepthView.js +2 -2
- package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +3 -3
- package/Source/Shaders/PostProcessStages/DepthViewPacked.js +3 -3
- package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +7 -7
- package/Source/Shaders/PostProcessStages/EdgeDetection.js +7 -7
- package/Source/Shaders/PostProcessStages/FXAA.glsl +3 -3
- package/Source/Shaders/PostProcessStages/FXAA.js +3 -3
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -4
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -4
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +5 -5
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +5 -5
- package/Source/Shaders/PostProcessStages/LensFlare.glsl +13 -13
- package/Source/Shaders/PostProcessStages/LensFlare.js +13 -13
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -4
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -4
- package/Source/Shaders/PostProcessStages/NightVision.glsl +3 -3
- package/Source/Shaders/PostProcessStages/NightVision.js +3 -3
- package/Source/Shaders/PostProcessStages/PassThrough.glsl +2 -2
- package/Source/Shaders/PostProcessStages/PassThrough.js +2 -2
- package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +2 -2
- package/Source/Shaders/PostProcessStages/PassThroughDepth.js +2 -2
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +7 -9
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +8 -10
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -4
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -4
- package/Source/Shaders/PostProcessStages/Silhouette.glsl +4 -4
- package/Source/Shaders/PostProcessStages/Silhouette.js +4 -4
- package/Source/Shaders/ReprojectWebMercatorFS.glsl +2 -2
- package/Source/Shaders/ReprojectWebMercatorFS.js +2 -2
- package/Source/Shaders/ReprojectWebMercatorVS.glsl +3 -3
- package/Source/Shaders/ReprojectWebMercatorVS.js +3 -3
- package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +19 -23
- package/Source/Shaders/ShadowVolumeAppearanceFS.js +20 -24
- package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +12 -12
- package/Source/Shaders/ShadowVolumeAppearanceVS.js +12 -12
- package/Source/Shaders/ShadowVolumeFS.glsl +2 -6
- package/Source/Shaders/ShadowVolumeFS.js +3 -7
- package/Source/Shaders/SkyAtmosphereFS.glsl +6 -6
- package/Source/Shaders/SkyAtmosphereFS.js +6 -6
- package/Source/Shaders/SkyAtmosphereVS.glsl +6 -6
- package/Source/Shaders/SkyAtmosphereVS.js +6 -6
- package/Source/Shaders/SkyBoxFS.glsl +3 -3
- package/Source/Shaders/SkyBoxFS.js +3 -3
- package/Source/Shaders/SkyBoxVS.glsl +2 -2
- package/Source/Shaders/SkyBoxVS.js +2 -2
- package/Source/Shaders/SunFS.glsl +3 -3
- package/Source/Shaders/SunFS.js +3 -3
- package/Source/Shaders/SunTextureFS.glsl +2 -2
- package/Source/Shaders/SunTextureFS.js +2 -2
- package/Source/Shaders/SunVS.glsl +2 -2
- package/Source/Shaders/SunVS.js +2 -2
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +9 -13
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +9 -13
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +12 -12
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +12 -12
- package/Source/Shaders/Vector3DTilePolylinesVS.glsl +5 -5
- package/Source/Shaders/Vector3DTilePolylinesVS.js +5 -5
- package/Source/Shaders/VectorTileVS.glsl +2 -2
- package/Source/Shaders/VectorTileVS.js +2 -2
- package/Source/Shaders/ViewportQuadFS.glsl +2 -2
- package/Source/Shaders/ViewportQuadFS.js +2 -2
- package/Source/Shaders/ViewportQuadVS.glsl +3 -3
- package/Source/Shaders/ViewportQuadVS.js +3 -3
- package/Source/Shaders/Voxels/IntersectBox.glsl +79 -0
- package/Source/Shaders/Voxels/IntersectBox.js +81 -0
- package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +70 -0
- package/Source/Shaders/Voxels/IntersectClippingPlanes.js +72 -0
- package/Source/Shaders/Voxels/IntersectCylinder.glsl +273 -0
- package/Source/Shaders/Voxels/IntersectCylinder.js +275 -0
- package/Source/Shaders/Voxels/IntersectDepth.glsl +23 -0
- package/Source/Shaders/Voxels/IntersectDepth.js +25 -0
- package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +347 -0
- package/Source/Shaders/Voxels/IntersectEllipsoid.js +349 -0
- package/Source/Shaders/Voxels/Intersection.glsl +54 -0
- package/Source/Shaders/Voxels/Intersection.js +56 -0
- package/Source/Shaders/Voxels/IntersectionUtils.glsl +151 -0
- package/Source/Shaders/Voxels/IntersectionUtils.js +153 -0
- package/Source/Shaders/Voxels/Megatexture.glsl +136 -0
- package/Source/Shaders/Voxels/Megatexture.js +138 -0
- package/Source/Shaders/Voxels/Octree.glsl +221 -0
- package/Source/Shaders/Voxels/Octree.js +223 -0
- package/Source/Shaders/Voxels/VoxelFS.glsl +150 -0
- package/Source/Shaders/Voxels/VoxelFS.js +152 -0
- package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
- package/Source/Shaders/Voxels/VoxelVS.js +13 -0
- package/Source/Shaders/Voxels/convertUvToBox.glsl +16 -0
- package/Source/Shaders/Voxels/convertUvToBox.js +18 -0
- package/Source/Shaders/Voxels/convertUvToCylinder.glsl +75 -0
- package/Source/Shaders/Voxels/convertUvToCylinder.js +77 -0
- package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +130 -0
- package/Source/Shaders/Voxels/convertUvToEllipsoid.js +132 -0
- package/Source/ThirdParty/Workers/z-worker-pako.js +0 -0
- package/Source/WorkersES6/decodeDraco.js +9 -1
- package/index.d.ts +3148 -2297
- package/index.js +1118 -1085
- package/package.json +3 -4
- package/Build/Workers/PolygonPipeline-774a8aaf.js +0 -1341
- package/Source/Renderer/modernizeShader.js +0 -242
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
2
|
export default "#ifdef LOG_DEPTH\n\
|
|
3
3
|
// 1.0 at the near plane, increasing linearly from there.\n\
|
|
4
|
-
|
|
4
|
+
out float v_depthFromNearPlusOne;\n\
|
|
5
5
|
#ifdef SHADOW_MAP\n\
|
|
6
|
-
|
|
6
|
+
out vec3 v_logPositionEC;\n\
|
|
7
7
|
#endif\n\
|
|
8
8
|
#endif\n\
|
|
9
9
|
\n\
|
|
@@ -1,38 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
* Transforms a position from window to eye coordinates.
|
|
3
|
-
* The transform from window to normalized device coordinates is done using components
|
|
4
|
-
* of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating
|
|
5
|
-
* the inverse of <code>czm_viewportTransformation</code>. The transformation from
|
|
6
|
-
* normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>,
|
|
7
|
-
* which is expected to be the scalar used in the perspective divide. The transformation
|
|
8
|
-
* from clip to eye coordinates is done using {@link czm_inverseProjection}.
|
|
9
|
-
*
|
|
10
|
-
* @name czm_windowToEyeCoordinates
|
|
11
|
-
* @glslFunction
|
|
12
|
-
*
|
|
13
|
-
* @param {vec4} fragmentCoordinate The position in window coordinates to transform.
|
|
14
|
-
*
|
|
15
|
-
* @returns {vec4} The transformed position in eye coordinates.
|
|
16
|
-
*
|
|
17
|
-
* @see czm_modelToWindowCoordinates
|
|
18
|
-
* @see czm_eyeToWindowCoordinates
|
|
19
|
-
* @see czm_inverseProjection
|
|
20
|
-
* @see czm_viewport
|
|
21
|
-
* @see czm_viewportTransformation
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord);
|
|
25
|
-
*/
|
|
26
|
-
vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)
|
|
1
|
+
vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate)
|
|
27
2
|
{
|
|
28
3
|
// Reconstruct NDC coordinates
|
|
29
|
-
float x = 2.0 *
|
|
30
|
-
float y = 2.0 *
|
|
31
|
-
float z = (
|
|
4
|
+
float x = 2.0 * screenCoordinate.x - 1.0;
|
|
5
|
+
float y = 2.0 * screenCoordinate.y - 1.0;
|
|
6
|
+
float z = (screenCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];
|
|
32
7
|
vec4 q = vec4(x, y, z, 1.0);
|
|
33
8
|
|
|
34
9
|
// Reverse the perspective division to obtain clip coordinates.
|
|
35
|
-
q /=
|
|
10
|
+
q /= screenCoordinate.w;
|
|
36
11
|
|
|
37
12
|
// Reverse the projection transformation to obtain eye coordinates.
|
|
38
13
|
if (!(czm_inverseProjection == mat4(0.0))) // IE and Edge sometimes do something weird with != between mat4s
|
|
@@ -59,16 +34,20 @@ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)
|
|
|
59
34
|
}
|
|
60
35
|
|
|
61
36
|
/**
|
|
62
|
-
* Transforms a position
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* of
|
|
37
|
+
* Transforms a position from window to eye coordinates.
|
|
38
|
+
* The transform from window to normalized device coordinates is done using components
|
|
39
|
+
* of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating
|
|
40
|
+
* the inverse of <code>czm_viewportTransformation</code>. The transformation from
|
|
41
|
+
* normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>,
|
|
42
|
+
* which is expected to be the scalar used in the perspective divide. The transformation
|
|
43
|
+
* from clip to eye coordinates is done using {@link czm_inverseProjection}.
|
|
66
44
|
*
|
|
67
45
|
* @name czm_windowToEyeCoordinates
|
|
68
46
|
* @glslFunction
|
|
69
47
|
*
|
|
70
|
-
* @param {
|
|
71
|
-
*
|
|
48
|
+
* @param {vec4} fragmentCoordinate The position in window coordinates to transform.
|
|
49
|
+
*
|
|
50
|
+
* @returns {vec4} The transformed position in eye coordinates.
|
|
72
51
|
*
|
|
73
52
|
* @see czm_modelToWindowCoordinates
|
|
74
53
|
* @see czm_eyeToWindowCoordinates
|
|
@@ -76,24 +55,57 @@ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)
|
|
|
76
55
|
* @see czm_viewport
|
|
77
56
|
* @see czm_viewportTransformation
|
|
78
57
|
*
|
|
79
|
-
* @
|
|
58
|
+
* @example
|
|
59
|
+
* vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord);
|
|
80
60
|
*/
|
|
81
|
-
vec4 czm_windowToEyeCoordinates(
|
|
61
|
+
vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)
|
|
62
|
+
{
|
|
63
|
+
vec2 screenCoordXY = (fragmentCoordinate.xy - czm_viewport.xy) / czm_viewport.zw;
|
|
64
|
+
return czm_screenToEyeCoordinates(vec4(screenCoordXY, fragmentCoordinate.zw));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
vec4 czm_screenToEyeCoordinates(vec2 screenCoordinateXY, float depthOrLogDepth)
|
|
82
68
|
{
|
|
83
69
|
// See reverseLogDepth.glsl. This is separate to re-use the pow.
|
|
84
|
-
#
|
|
70
|
+
#if defined(LOG_DEPTH) || defined(LOG_DEPTH_READ_ONLY)
|
|
85
71
|
float near = czm_currentFrustum.x;
|
|
86
72
|
float far = czm_currentFrustum.y;
|
|
87
73
|
float log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne;
|
|
88
74
|
float depthFromNear = pow(2.0, log2Depth) - 1.0;
|
|
89
75
|
float depthFromCamera = depthFromNear + near;
|
|
90
|
-
vec4
|
|
91
|
-
vec4 eyeCoordinate =
|
|
76
|
+
vec4 screenCoord = vec4(screenCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0);
|
|
77
|
+
vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord);
|
|
92
78
|
eyeCoordinate.w = 1.0 / depthFromCamera; // Better precision
|
|
93
79
|
return eyeCoordinate;
|
|
94
80
|
#else
|
|
95
|
-
vec4
|
|
96
|
-
vec4 eyeCoordinate =
|
|
81
|
+
vec4 screenCoord = vec4(screenCoordinateXY, depthOrLogDepth, 1.0);
|
|
82
|
+
vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord);
|
|
97
83
|
#endif
|
|
98
84
|
return eyeCoordinate;
|
|
99
85
|
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates.
|
|
89
|
+
* This function produces more accurate results for window positions with log depth than
|
|
90
|
+
* conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version
|
|
91
|
+
* of czm_windowToEyeCoordinates.
|
|
92
|
+
*
|
|
93
|
+
* @name czm_windowToEyeCoordinates
|
|
94
|
+
* @glslFunction
|
|
95
|
+
*
|
|
96
|
+
* @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform.
|
|
97
|
+
* @param {float} depthOrLogDepth A depth or log depth for the fragment.
|
|
98
|
+
*
|
|
99
|
+
* @see czm_modelToWindowCoordinates
|
|
100
|
+
* @see czm_eyeToWindowCoordinates
|
|
101
|
+
* @see czm_inverseProjection
|
|
102
|
+
* @see czm_viewport
|
|
103
|
+
* @see czm_viewportTransformation
|
|
104
|
+
*
|
|
105
|
+
* @returns {vec4} The transformed position in eye coordinates.
|
|
106
|
+
*/
|
|
107
|
+
vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth)
|
|
108
|
+
{
|
|
109
|
+
vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw;
|
|
110
|
+
return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth);
|
|
111
|
+
}
|
|
@@ -1,39 +1,14 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
-
export default "
|
|
3
|
-
* Transforms a position from window to eye coordinates.\n\
|
|
4
|
-
* The transform from window to normalized device coordinates is done using components\n\
|
|
5
|
-
* of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating\n\
|
|
6
|
-
* the inverse of <code>czm_viewportTransformation</code>. The transformation from\n\
|
|
7
|
-
* normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>,\n\
|
|
8
|
-
* which is expected to be the scalar used in the perspective divide. The transformation\n\
|
|
9
|
-
* from clip to eye coordinates is done using {@link czm_inverseProjection}.\n\
|
|
10
|
-
*\n\
|
|
11
|
-
* @name czm_windowToEyeCoordinates\n\
|
|
12
|
-
* @glslFunction\n\
|
|
13
|
-
*\n\
|
|
14
|
-
* @param {vec4} fragmentCoordinate The position in window coordinates to transform.\n\
|
|
15
|
-
*\n\
|
|
16
|
-
* @returns {vec4} The transformed position in eye coordinates.\n\
|
|
17
|
-
*\n\
|
|
18
|
-
* @see czm_modelToWindowCoordinates\n\
|
|
19
|
-
* @see czm_eyeToWindowCoordinates\n\
|
|
20
|
-
* @see czm_inverseProjection\n\
|
|
21
|
-
* @see czm_viewport\n\
|
|
22
|
-
* @see czm_viewportTransformation\n\
|
|
23
|
-
*\n\
|
|
24
|
-
* @example\n\
|
|
25
|
-
* vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord);\n\
|
|
26
|
-
*/\n\
|
|
27
|
-
vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n\
|
|
2
|
+
export default "vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate)\n\
|
|
28
3
|
{\n\
|
|
29
4
|
// Reconstruct NDC coordinates\n\
|
|
30
|
-
float x = 2.0 *
|
|
31
|
-
float y = 2.0 *
|
|
32
|
-
float z = (
|
|
5
|
+
float x = 2.0 * screenCoordinate.x - 1.0;\n\
|
|
6
|
+
float y = 2.0 * screenCoordinate.y - 1.0;\n\
|
|
7
|
+
float z = (screenCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\n\
|
|
33
8
|
vec4 q = vec4(x, y, z, 1.0);\n\
|
|
34
9
|
\n\
|
|
35
10
|
// Reverse the perspective division to obtain clip coordinates.\n\
|
|
36
|
-
q /=
|
|
11
|
+
q /= screenCoordinate.w;\n\
|
|
37
12
|
\n\
|
|
38
13
|
// Reverse the projection transformation to obtain eye coordinates.\n\
|
|
39
14
|
if (!(czm_inverseProjection == mat4(0.0))) // IE and Edge sometimes do something weird with != between mat4s\n\
|
|
@@ -60,16 +35,20 @@ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n\
|
|
|
60
35
|
}\n\
|
|
61
36
|
\n\
|
|
62
37
|
/**\n\
|
|
63
|
-
* Transforms a position
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* of
|
|
38
|
+
* Transforms a position from window to eye coordinates.\n\
|
|
39
|
+
* The transform from window to normalized device coordinates is done using components\n\
|
|
40
|
+
* of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating\n\
|
|
41
|
+
* the inverse of <code>czm_viewportTransformation</code>. The transformation from\n\
|
|
42
|
+
* normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>,\n\
|
|
43
|
+
* which is expected to be the scalar used in the perspective divide. The transformation\n\
|
|
44
|
+
* from clip to eye coordinates is done using {@link czm_inverseProjection}.\n\
|
|
67
45
|
*\n\
|
|
68
46
|
* @name czm_windowToEyeCoordinates\n\
|
|
69
47
|
* @glslFunction\n\
|
|
70
48
|
*\n\
|
|
71
|
-
* @param {
|
|
72
|
-
|
|
49
|
+
* @param {vec4} fragmentCoordinate The position in window coordinates to transform.\n\
|
|
50
|
+
*\n\
|
|
51
|
+
* @returns {vec4} The transformed position in eye coordinates.\n\
|
|
73
52
|
*\n\
|
|
74
53
|
* @see czm_modelToWindowCoordinates\n\
|
|
75
54
|
* @see czm_eyeToWindowCoordinates\n\
|
|
@@ -77,25 +56,58 @@ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n\
|
|
|
77
56
|
* @see czm_viewport\n\
|
|
78
57
|
* @see czm_viewportTransformation\n\
|
|
79
58
|
*\n\
|
|
80
|
-
* @
|
|
59
|
+
* @example\n\
|
|
60
|
+
* vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord);\n\
|
|
81
61
|
*/\n\
|
|
82
|
-
vec4 czm_windowToEyeCoordinates(
|
|
62
|
+
vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n\
|
|
63
|
+
{\n\
|
|
64
|
+
vec2 screenCoordXY = (fragmentCoordinate.xy - czm_viewport.xy) / czm_viewport.zw;\n\
|
|
65
|
+
return czm_screenToEyeCoordinates(vec4(screenCoordXY, fragmentCoordinate.zw));\n\
|
|
66
|
+
}\n\
|
|
67
|
+
\n\
|
|
68
|
+
vec4 czm_screenToEyeCoordinates(vec2 screenCoordinateXY, float depthOrLogDepth)\n\
|
|
83
69
|
{\n\
|
|
84
70
|
// See reverseLogDepth.glsl. This is separate to re-use the pow.\n\
|
|
85
|
-
#
|
|
71
|
+
#if defined(LOG_DEPTH) || defined(LOG_DEPTH_READ_ONLY)\n\
|
|
86
72
|
float near = czm_currentFrustum.x;\n\
|
|
87
73
|
float far = czm_currentFrustum.y;\n\
|
|
88
74
|
float log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne;\n\
|
|
89
75
|
float depthFromNear = pow(2.0, log2Depth) - 1.0;\n\
|
|
90
76
|
float depthFromCamera = depthFromNear + near;\n\
|
|
91
|
-
vec4
|
|
92
|
-
vec4 eyeCoordinate =
|
|
77
|
+
vec4 screenCoord = vec4(screenCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0);\n\
|
|
78
|
+
vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord);\n\
|
|
93
79
|
eyeCoordinate.w = 1.0 / depthFromCamera; // Better precision\n\
|
|
94
80
|
return eyeCoordinate;\n\
|
|
95
81
|
#else\n\
|
|
96
|
-
vec4
|
|
97
|
-
vec4 eyeCoordinate =
|
|
82
|
+
vec4 screenCoord = vec4(screenCoordinateXY, depthOrLogDepth, 1.0);\n\
|
|
83
|
+
vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord);\n\
|
|
98
84
|
#endif\n\
|
|
99
85
|
return eyeCoordinate;\n\
|
|
100
86
|
}\n\
|
|
87
|
+
\n\
|
|
88
|
+
/**\n\
|
|
89
|
+
* Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates.\n\
|
|
90
|
+
* This function produces more accurate results for window positions with log depth than\n\
|
|
91
|
+
* conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version\n\
|
|
92
|
+
* of czm_windowToEyeCoordinates.\n\
|
|
93
|
+
*\n\
|
|
94
|
+
* @name czm_windowToEyeCoordinates\n\
|
|
95
|
+
* @glslFunction\n\
|
|
96
|
+
*\n\
|
|
97
|
+
* @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform.\n\
|
|
98
|
+
* @param {float} depthOrLogDepth A depth or log depth for the fragment.\n\
|
|
99
|
+
*\n\
|
|
100
|
+
* @see czm_modelToWindowCoordinates\n\
|
|
101
|
+
* @see czm_eyeToWindowCoordinates\n\
|
|
102
|
+
* @see czm_inverseProjection\n\
|
|
103
|
+
* @see czm_viewport\n\
|
|
104
|
+
* @see czm_viewportTransformation\n\
|
|
105
|
+
*\n\
|
|
106
|
+
* @returns {vec4} The transformed position in eye coordinates.\n\
|
|
107
|
+
*/\n\
|
|
108
|
+
vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth)\n\
|
|
109
|
+
{\n\
|
|
110
|
+
vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw;\n\
|
|
111
|
+
return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth);\n\
|
|
112
|
+
}\n\
|
|
101
113
|
";
|
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
// emulated noperspective
|
|
2
|
-
#if
|
|
3
|
-
|
|
2
|
+
#if !defined(LOG_DEPTH)
|
|
3
|
+
in float v_WindowZ;
|
|
4
4
|
#endif
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Emulates GL_DEPTH_CLAMP. Clamps a fragment to the near and far plane
|
|
8
8
|
* by writing the fragment's depth. See czm_depthClamp for more details.
|
|
9
|
-
* <p>
|
|
10
|
-
* The shader must enable the GL_EXT_frag_depth extension.
|
|
11
|
-
* </p>
|
|
12
9
|
*
|
|
13
10
|
* @name czm_writeDepthClamp
|
|
14
11
|
* @glslFunction
|
|
15
12
|
*
|
|
16
13
|
* @example
|
|
17
|
-
*
|
|
14
|
+
* out_FragColor = color;
|
|
18
15
|
* czm_writeDepthClamp();
|
|
19
16
|
*
|
|
20
17
|
* @see czm_depthClamp
|
|
21
18
|
*/
|
|
22
19
|
void czm_writeDepthClamp()
|
|
23
20
|
{
|
|
24
|
-
#if defined(
|
|
25
|
-
|
|
21
|
+
#if (!defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth)))
|
|
22
|
+
gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0);
|
|
26
23
|
#endif
|
|
27
24
|
}
|
|
@@ -1,29 +1,26 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
2
|
export default "// emulated noperspective\n\
|
|
3
|
-
#if
|
|
4
|
-
|
|
3
|
+
#if !defined(LOG_DEPTH)\n\
|
|
4
|
+
in float v_WindowZ;\n\
|
|
5
5
|
#endif\n\
|
|
6
6
|
\n\
|
|
7
7
|
/**\n\
|
|
8
8
|
* Emulates GL_DEPTH_CLAMP. Clamps a fragment to the near and far plane\n\
|
|
9
9
|
* by writing the fragment's depth. See czm_depthClamp for more details.\n\
|
|
10
|
-
* <p>\n\
|
|
11
|
-
* The shader must enable the GL_EXT_frag_depth extension.\n\
|
|
12
|
-
* </p>\n\
|
|
13
10
|
*\n\
|
|
14
11
|
* @name czm_writeDepthClamp\n\
|
|
15
12
|
* @glslFunction\n\
|
|
16
13
|
*\n\
|
|
17
14
|
* @example\n\
|
|
18
|
-
*
|
|
15
|
+
* out_FragColor = color;\n\
|
|
19
16
|
* czm_writeDepthClamp();\n\
|
|
20
17
|
*\n\
|
|
21
18
|
* @see czm_depthClamp\n\
|
|
22
19
|
*/\n\
|
|
23
20
|
void czm_writeDepthClamp()\n\
|
|
24
21
|
{\n\
|
|
25
|
-
#if defined(
|
|
26
|
-
|
|
22
|
+
#if (!defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth)))\n\
|
|
23
|
+
gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0);\n\
|
|
27
24
|
#endif\n\
|
|
28
25
|
}\n\
|
|
29
26
|
";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#ifdef LOG_DEPTH
|
|
2
|
-
|
|
2
|
+
in float v_depthFromNearPlusOne;
|
|
3
3
|
|
|
4
4
|
#ifdef POLYGON_OFFSET
|
|
5
5
|
uniform vec2 u_polygonOffset;
|
|
@@ -27,7 +27,7 @@ uniform vec2 u_polygonOffset;
|
|
|
27
27
|
*/
|
|
28
28
|
void czm_writeLogDepth(float depth)
|
|
29
29
|
{
|
|
30
|
-
#if defined(
|
|
30
|
+
#if (defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth)))
|
|
31
31
|
// Discard the vertex if it's not between the near and far planes.
|
|
32
32
|
// We allow a bit of epsilon on the near plane comparison because a 1.0
|
|
33
33
|
// from the vertex shader (indicating the vertex should be _on_ the near
|
|
@@ -41,8 +41,8 @@ void czm_writeLogDepth(float depth)
|
|
|
41
41
|
float factor = u_polygonOffset[0];
|
|
42
42
|
float units = u_polygonOffset[1];
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives))
|
|
45
|
+
// This factor doesn't work in IE 10
|
|
46
46
|
if (factor != 0.0) {
|
|
47
47
|
// m = sqrt(dZdX^2 + dZdY^2);
|
|
48
48
|
float x = dFdx(depth);
|
|
@@ -56,11 +56,11 @@ void czm_writeLogDepth(float depth)
|
|
|
56
56
|
|
|
57
57
|
#endif
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
gl_FragDepth = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne;
|
|
60
60
|
|
|
61
61
|
#ifdef POLYGON_OFFSET
|
|
62
62
|
// Apply the units after the log depth.
|
|
63
|
-
|
|
63
|
+
gl_FragDepth += czm_epsilon7 * units;
|
|
64
64
|
#endif
|
|
65
65
|
|
|
66
66
|
#endif
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
2
|
export default "#ifdef LOG_DEPTH\n\
|
|
3
|
-
|
|
3
|
+
in float v_depthFromNearPlusOne;\n\
|
|
4
4
|
\n\
|
|
5
5
|
#ifdef POLYGON_OFFSET\n\
|
|
6
6
|
uniform vec2 u_polygonOffset;\n\
|
|
@@ -28,7 +28,7 @@ uniform vec2 u_polygonOffset;\n\
|
|
|
28
28
|
*/\n\
|
|
29
29
|
void czm_writeLogDepth(float depth)\n\
|
|
30
30
|
{\n\
|
|
31
|
-
#if defined(
|
|
31
|
+
#if (defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth)))\n\
|
|
32
32
|
// Discard the vertex if it's not between the near and far planes.\n\
|
|
33
33
|
// We allow a bit of epsilon on the near plane comparison because a 1.0\n\
|
|
34
34
|
// from the vertex shader (indicating the vertex should be _on_ the near\n\
|
|
@@ -42,8 +42,8 @@ void czm_writeLogDepth(float depth)\n\
|
|
|
42
42
|
float factor = u_polygonOffset[0];\n\
|
|
43
43
|
float units = u_polygonOffset[1];\n\
|
|
44
44
|
\n\
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives))\n\
|
|
46
|
+
// This factor doesn't work in IE 10\n\
|
|
47
47
|
if (factor != 0.0) {\n\
|
|
48
48
|
// m = sqrt(dZdX^2 + dZdY^2);\n\
|
|
49
49
|
float x = dFdx(depth);\n\
|
|
@@ -57,11 +57,11 @@ void czm_writeLogDepth(float depth)\n\
|
|
|
57
57
|
\n\
|
|
58
58
|
#endif\n\
|
|
59
59
|
\n\
|
|
60
|
-
|
|
60
|
+
gl_FragDepth = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne;\n\
|
|
61
61
|
\n\
|
|
62
62
|
#ifdef POLYGON_OFFSET\n\
|
|
63
63
|
// Apply the units after the log depth.\n\
|
|
64
|
-
|
|
64
|
+
gl_FragDepth += czm_epsilon7 * units;\n\
|
|
65
65
|
#endif\n\
|
|
66
66
|
\n\
|
|
67
67
|
#endif\n\
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
uniform sampler2D u_noiseTexture;
|
|
2
2
|
uniform vec3 u_noiseTextureDimensions;
|
|
3
3
|
uniform float u_noiseDetail;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
in vec2 v_offset;
|
|
5
|
+
in vec3 v_maximumSize;
|
|
6
|
+
in vec4 v_color;
|
|
7
|
+
in float v_slice;
|
|
8
|
+
in float v_brightness;
|
|
9
9
|
|
|
10
10
|
float wrap(float value, float rangeLength) {
|
|
11
11
|
if(value < 0.0) {
|
|
@@ -22,15 +22,14 @@ vec3 wrapVec(vec3 value, float rangeLength) {
|
|
|
22
22
|
wrap(value.z, rangeLength));
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
float textureSliceWidth = u_noiseTextureDimensions.x;
|
|
26
|
-
float noiseTextureRows = u_noiseTextureDimensions.y;
|
|
27
|
-
float inverseNoiseTextureRows = u_noiseTextureDimensions.z;
|
|
28
|
-
|
|
29
|
-
float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;
|
|
30
|
-
vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,
|
|
31
|
-
inverseNoiseTextureRows / textureSliceWidth);
|
|
32
|
-
|
|
33
25
|
vec2 voxelToUV(vec3 voxelIndex) {
|
|
26
|
+
float textureSliceWidth = u_noiseTextureDimensions.x;
|
|
27
|
+
float noiseTextureRows = u_noiseTextureDimensions.y;
|
|
28
|
+
float inverseNoiseTextureRows = u_noiseTextureDimensions.z;
|
|
29
|
+
|
|
30
|
+
float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;
|
|
31
|
+
vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,
|
|
32
|
+
inverseNoiseTextureRows / textureSliceWidth);
|
|
34
33
|
vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth);
|
|
35
34
|
float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows);
|
|
36
35
|
float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows);
|
|
@@ -44,12 +43,13 @@ vec2 voxelToUV(vec3 voxelIndex) {
|
|
|
44
43
|
vec4 lerpSamplesX(vec3 voxelIndex, float x) {
|
|
45
44
|
vec2 uv0 = voxelToUV(voxelIndex);
|
|
46
45
|
vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0));
|
|
47
|
-
vec4 sample0 =
|
|
48
|
-
vec4 sample1 =
|
|
46
|
+
vec4 sample0 = texture(u_noiseTexture, uv0);
|
|
47
|
+
vec4 sample1 = texture(u_noiseTexture, uv1);
|
|
49
48
|
return mix(sample0, sample1, x);
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
vec4 sampleNoiseTexture(vec3 position) {
|
|
52
|
+
float textureSliceWidth = u_noiseTextureDimensions.x;
|
|
53
53
|
vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0);
|
|
54
54
|
vec3 lerpValue = fract(recenteredPos);
|
|
55
55
|
vec3 voxelIndex = floor(recenteredPos);
|
|
@@ -231,7 +231,7 @@ vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, f
|
|
|
231
231
|
|
|
232
232
|
void main() {
|
|
233
233
|
#ifdef DEBUG_BILLBOARDS
|
|
234
|
-
|
|
234
|
+
out_FragColor = vec4(0.0, 0.5, 0.5, 1.0);
|
|
235
235
|
#endif
|
|
236
236
|
// To avoid calculations with high values,
|
|
237
237
|
// we raycast from an arbitrarily smaller space.
|
|
@@ -248,7 +248,7 @@ void main() {
|
|
|
248
248
|
vec3 point, normal;
|
|
249
249
|
if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice,
|
|
250
250
|
point, normal)) {
|
|
251
|
-
|
|
251
|
+
out_FragColor = v_brightness * v_color;
|
|
252
252
|
}
|
|
253
253
|
#else
|
|
254
254
|
#ifndef DEBUG_BILLBOARDS
|
|
@@ -257,7 +257,7 @@ void main() {
|
|
|
257
257
|
if(cloud.w < 0.01) {
|
|
258
258
|
discard;
|
|
259
259
|
}
|
|
260
|
-
|
|
260
|
+
out_FragColor = cloud;
|
|
261
261
|
#endif
|
|
262
262
|
#endif
|
|
263
263
|
}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
export default "uniform sampler2D u_noiseTexture;\n\
|
|
3
3
|
uniform vec3 u_noiseTextureDimensions;\n\
|
|
4
4
|
uniform float u_noiseDetail;\n\
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
in vec2 v_offset;\n\
|
|
6
|
+
in vec3 v_maximumSize;\n\
|
|
7
|
+
in vec4 v_color;\n\
|
|
8
|
+
in float v_slice;\n\
|
|
9
|
+
in float v_brightness;\n\
|
|
10
10
|
\n\
|
|
11
11
|
float wrap(float value, float rangeLength) {\n\
|
|
12
12
|
if(value < 0.0) {\n\
|
|
@@ -23,15 +23,14 @@ vec3 wrapVec(vec3 value, float rangeLength) {\n\
|
|
|
23
23
|
wrap(value.z, rangeLength));\n\
|
|
24
24
|
}\n\
|
|
25
25
|
\n\
|
|
26
|
-
float textureSliceWidth = u_noiseTextureDimensions.x;\n\
|
|
27
|
-
float noiseTextureRows = u_noiseTextureDimensions.y;\n\
|
|
28
|
-
float inverseNoiseTextureRows = u_noiseTextureDimensions.z;\n\
|
|
29
|
-
\n\
|
|
30
|
-
float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;\n\
|
|
31
|
-
vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,\n\
|
|
32
|
-
inverseNoiseTextureRows / textureSliceWidth);\n\
|
|
33
|
-
\n\
|
|
34
26
|
vec2 voxelToUV(vec3 voxelIndex) {\n\
|
|
27
|
+
float textureSliceWidth = u_noiseTextureDimensions.x;\n\
|
|
28
|
+
float noiseTextureRows = u_noiseTextureDimensions.y;\n\
|
|
29
|
+
float inverseNoiseTextureRows = u_noiseTextureDimensions.z;\n\
|
|
30
|
+
\n\
|
|
31
|
+
float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;\n\
|
|
32
|
+
vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,\n\
|
|
33
|
+
inverseNoiseTextureRows / textureSliceWidth);\n\
|
|
35
34
|
vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth);\n\
|
|
36
35
|
float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows);\n\
|
|
37
36
|
float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows);\n\
|
|
@@ -45,12 +44,13 @@ vec2 voxelToUV(vec3 voxelIndex) {\n\
|
|
|
45
44
|
vec4 lerpSamplesX(vec3 voxelIndex, float x) {\n\
|
|
46
45
|
vec2 uv0 = voxelToUV(voxelIndex);\n\
|
|
47
46
|
vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0));\n\
|
|
48
|
-
vec4 sample0 =
|
|
49
|
-
vec4 sample1 =
|
|
47
|
+
vec4 sample0 = texture(u_noiseTexture, uv0);\n\
|
|
48
|
+
vec4 sample1 = texture(u_noiseTexture, uv1);\n\
|
|
50
49
|
return mix(sample0, sample1, x);\n\
|
|
51
50
|
}\n\
|
|
52
51
|
\n\
|
|
53
52
|
vec4 sampleNoiseTexture(vec3 position) {\n\
|
|
53
|
+
float textureSliceWidth = u_noiseTextureDimensions.x;\n\
|
|
54
54
|
vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0);\n\
|
|
55
55
|
vec3 lerpValue = fract(recenteredPos);\n\
|
|
56
56
|
vec3 voxelIndex = floor(recenteredPos);\n\
|
|
@@ -232,7 +232,7 @@ vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, f
|
|
|
232
232
|
\n\
|
|
233
233
|
void main() {\n\
|
|
234
234
|
#ifdef DEBUG_BILLBOARDS\n\
|
|
235
|
-
|
|
235
|
+
out_FragColor = vec4(0.0, 0.5, 0.5, 1.0);\n\
|
|
236
236
|
#endif\n\
|
|
237
237
|
// To avoid calculations with high values,\n\
|
|
238
238
|
// we raycast from an arbitrarily smaller space.\n\
|
|
@@ -249,7 +249,7 @@ void main() {\n\
|
|
|
249
249
|
vec3 point, normal;\n\
|
|
250
250
|
if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice,\n\
|
|
251
251
|
point, normal)) {\n\
|
|
252
|
-
|
|
252
|
+
out_FragColor = v_brightness * v_color;\n\
|
|
253
253
|
}\n\
|
|
254
254
|
#else\n\
|
|
255
255
|
#ifndef DEBUG_BILLBOARDS\n\
|
|
@@ -258,7 +258,7 @@ void main() {\n\
|
|
|
258
258
|
if(cloud.w < 0.01) {\n\
|
|
259
259
|
discard;\n\
|
|
260
260
|
}\n\
|
|
261
|
-
|
|
261
|
+
out_FragColor = cloud;\n\
|
|
262
262
|
#endif\n\
|
|
263
263
|
#endif\n\
|
|
264
264
|
}\n\
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#ifdef INSTANCED
|
|
2
|
-
|
|
2
|
+
in vec2 direction;
|
|
3
3
|
#endif
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
in vec4 positionHighAndScaleX;
|
|
5
|
+
in vec4 positionLowAndScaleY;
|
|
6
|
+
in vec4 packedAttribute0;
|
|
7
|
+
in vec4 packedAttribute1;
|
|
8
|
+
in vec4 color;
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
out vec2 v_offset;
|
|
11
|
+
out vec3 v_maximumSize;
|
|
12
|
+
out vec4 v_color;
|
|
13
|
+
out float v_slice;
|
|
14
|
+
out float v_brightness;
|
|
15
15
|
|
|
16
16
|
void main() {
|
|
17
17
|
// Unpack attributes.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
//This file is automatically rebuilt by the Cesium build process.
|
|
2
2
|
export default "#ifdef INSTANCED\n\
|
|
3
|
-
|
|
3
|
+
in vec2 direction;\n\
|
|
4
4
|
#endif\n\
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
in vec4 positionHighAndScaleX;\n\
|
|
6
|
+
in vec4 positionLowAndScaleY;\n\
|
|
7
|
+
in vec4 packedAttribute0;\n\
|
|
8
|
+
in vec4 packedAttribute1;\n\
|
|
9
|
+
in vec4 color;\n\
|
|
10
10
|
\n\
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
out vec2 v_offset;\n\
|
|
12
|
+
out vec3 v_maximumSize;\n\
|
|
13
|
+
out vec4 v_color;\n\
|
|
14
|
+
out float v_slice;\n\
|
|
15
|
+
out float v_brightness;\n\
|
|
16
16
|
\n\
|
|
17
17
|
void main() {\n\
|
|
18
18
|
// Unpack attributes.\n\
|