@cesium/engine 1.1.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/{AxisAlignedBoundingBox-a4321399.js → AxisAlignedBoundingBox-47525601.js} +1 -1
- package/Build/Workers/{BoundingRectangle-80d8801f.js → BoundingRectangle-93b263ac.js} +1 -1
- package/Build/Workers/{BoxGeometry-33c10a4f.js → BoxGeometry-8c4b4125.js} +1 -1
- package/Build/Workers/{Color-1bf9a6e0.js → Color-52c60ed7.js} +1 -1
- package/Build/Workers/{CoplanarPolygonGeometryLibrary-5c5b981b.js → CoplanarPolygonGeometryLibrary-33c4c1f8.js} +1 -1
- package/Build/Workers/{CorridorGeometryLibrary-7cbae7a0.js → CorridorGeometryLibrary-5039cd8e.js} +1 -1
- package/Build/Workers/{CylinderGeometry-42740df0.js → CylinderGeometry-3ac44974.js} +1 -1
- package/Build/Workers/{EllipseGeometry-49a3ac21.js → EllipseGeometry-a9c9b3be.js} +1 -1
- package/Build/Workers/{EllipseGeometryLibrary-b891b2f8.js → EllipseGeometryLibrary-855d4681.js} +1 -1
- package/Build/Workers/{EllipseOutlineGeometry-fbd72e07.js → EllipseOutlineGeometry-017a5929.js} +1 -1
- package/Build/Workers/{EllipsoidGeometry-a351dba8.js → EllipsoidGeometry-826e7bce.js} +1 -1
- package/Build/Workers/{EllipsoidOutlineGeometry-3e8779bf.js → EllipsoidOutlineGeometry-784dcdb5.js} +1 -1
- package/Build/Workers/{EllipsoidTangentPlane-cfb50678.js → EllipsoidTangentPlane-ed9443a1.js} +1 -1
- package/Build/Workers/{FrustumGeometry-c5754412.js → FrustumGeometry-9f1ee4d8.js} +1 -1
- package/Build/Workers/{GeometryAttribute-0bfd05e8.js → GeometryAttribute-334718f8.js} +1 -1
- package/Build/Workers/{GeometryPipeline-0166905d.js → GeometryPipeline-8fb0db69.js} +1 -1
- package/Build/Workers/{IntersectionTests-a93d3de9.js → IntersectionTests-27d49265.js} +1 -1
- package/Build/Workers/{OrientedBoundingBox-b450cb61.js → OrientedBoundingBox-79ee7cbb.js} +1 -1
- package/Build/Workers/{PolygonGeometryLibrary-f918ac26.js → PolygonGeometryLibrary-6b5a29e9.js} +1 -1
- package/Build/Workers/{PolygonPipeline-f59a8f0a.js → PolygonPipeline-21668b3f.js} +1 -1
- package/Build/Workers/{PolylinePipeline-d8e6bd9b.js → PolylinePipeline-5e2e1b21.js} +1 -1
- package/Build/Workers/{PolylineVolumeGeometryLibrary-125d2edf.js → PolylineVolumeGeometryLibrary-97f0b94e.js} +1 -1
- package/Build/Workers/{PrimitivePipeline-0d7b5ed4.js → PrimitivePipeline-5640850a.js} +1 -1
- package/Build/Workers/{RectangleGeometryLibrary-0768db63.js → RectangleGeometryLibrary-d5457f7b.js} +1 -1
- package/Build/Workers/{TerrainEncoding-06470d7f.js → TerrainEncoding-bfdf2021.js} +1 -1
- package/Build/Workers/{Transforms-26539bce.js → Transforms-a05e5e6e.js} +17 -0
- package/Build/Workers/{WallGeometryLibrary-6167b0fc.js → WallGeometryLibrary-6db0ebb6.js} +1 -1
- package/Build/Workers/cesiumWorkerBootstrapper.js +68 -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/createVectorTileGeometries.js +1 -1
- package/Build/Workers/createVectorTilePolygons.js +1 -1
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/Build/Workers/createVerticesFromHeightmap.js +1 -1
- 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/package.js +1 -1
- package/Build/Workers/transcodeKTX2.js +22 -2
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
- package/README.md +14 -16
- package/Source/Core/FeatureDetection.js +18 -0
- package/Source/Core/Ion.js +1 -2
- package/Source/Core/PixelFormat.js +22 -2
- package/Source/Core/sampleTerrain.js +5 -0
- package/Source/Renderer/AutomaticUniforms.js +3 -3
- package/Source/Renderer/Context.js +4 -14
- 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/Cesium3DTilesVoxelProvider.js +12 -0
- package/Source/Scene/Cesium3DTileset.js +6 -1
- package/Source/Scene/ClassificationPrimitive.js +3 -8
- 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 +8 -22
- package/Source/Scene/EllipsoidPrimitive.js +0 -7
- package/Source/Scene/GlobeTranslucencyState.js +6 -6
- package/Source/Scene/GroundPolylinePrimitive.js +2 -4
- package/Source/Scene/InvertClassification.js +9 -10
- package/Source/Scene/Material.js +6 -6
- package/Source/Scene/Megatexture.js +2 -2
- package/Source/Scene/MetadataSemantic.js +8 -0
- package/Source/Scene/Model/CustomShader.js +1 -1
- package/Source/Scene/Model/FeatureIdPipelineStage.js +4 -4
- package/Source/Scene/Model/LightingModel.js +1 -1
- package/Source/Scene/Model/MetadataPipelineStage.js +1 -1
- package/Source/Scene/Model/PickingPipelineStage.js +1 -1
- package/Source/Scene/OIT.js +211 -119
- package/Source/Scene/PickDepth.js +2 -2
- package/Source/Scene/PointCloud.js +11 -11
- 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/ShadowMap.js +7 -7
- package/Source/Scene/ShadowMapShader.js +9 -9
- package/Source/Scene/ShadowVolumeAppearance.js +1 -1
- package/Source/Scene/TextureAtlas.js +5 -3
- package/Source/Scene/Vector3DTilePolylines.js +1 -1
- package/Source/Scene/Vector3DTilePrimitive.js +2 -2
- package/Source/Scene/VoxelEllipsoidShape.js +15 -7
- package/Source/Scene/VoxelPrimitive.js +4 -4
- 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/processVoxelProperties.js +1 -1
- package/Source/Shaders/AdjustTranslucentFS.glsl +9 -6
- package/Source/Shaders/AdjustTranslucentFS.js +9 -6
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +7 -7
- package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +7 -7
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +12 -12
- package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +12 -12
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +4 -4
- package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +4 -4
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +6 -6
- package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +6 -6
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +5 -5
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +5 -5
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +7 -7
- package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +7 -7
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +4 -4
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +4 -4
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +8 -8
- package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +8 -8
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +2 -2
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +2 -2
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +5 -5
- package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +5 -5
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +10 -10
- package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +10 -10
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +12 -12
- package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +12 -12
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +5 -5
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +5 -5
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +8 -8
- package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +8 -8
- package/Source/Shaders/BillboardCollectionFS.glsl +15 -15
- package/Source/Shaders/BillboardCollectionFS.js +15 -15
- package/Source/Shaders/BillboardCollectionVS.glsl +23 -23
- package/Source/Shaders/BillboardCollectionVS.js +23 -23
- package/Source/Shaders/BrdfLutGeneratorFS.glsl +2 -2
- package/Source/Shaders/BrdfLutGeneratorFS.js +2 -2
- package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
- package/Source/Shaders/Builtin/Functions/depthClamp.glsl +3 -3
- package/Source/Shaders/Builtin/Functions/depthClamp.js +3 -3
- package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +4 -4
- package/Source/Shaders/Builtin/Functions/getWaterNoise.js +4 -4
- package/Source/Shaders/Builtin/Functions/phong.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/phong.js +1 -1
- package/Source/Shaders/Builtin/Functions/readDepth.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/readDepth.js +1 -1
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +5 -5
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +5 -5
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +3 -3
- package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +3 -3
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +1 -1
- package/Source/Shaders/Builtin/Functions/textureCube.glsl +17 -0
- package/Source/Shaders/Builtin/Functions/textureCube.js +18 -0
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +2 -2
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +2 -2
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +5 -8
- package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +5 -8
- package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +6 -6
- package/Source/Shaders/Builtin/Functions/writeLogDepth.js +6 -6
- package/Source/Shaders/CloudCollectionFS.glsl +18 -18
- package/Source/Shaders/CloudCollectionFS.js +18 -18
- package/Source/Shaders/CloudCollectionVS.glsl +11 -11
- package/Source/Shaders/CloudCollectionVS.js +11 -11
- package/Source/Shaders/CloudNoiseFS.glsl +5 -5
- package/Source/Shaders/CloudNoiseFS.js +5 -5
- package/Source/Shaders/CloudNoiseVS.glsl +2 -2
- package/Source/Shaders/CloudNoiseVS.js +2 -2
- package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +4 -4
- package/Source/Shaders/CompareAndPackTranslucentDepth.js +4 -4
- package/Source/Shaders/CompositeOITFS.glsl +6 -6
- package/Source/Shaders/CompositeOITFS.js +6 -6
- package/Source/Shaders/DepthPlaneFS.glsl +2 -2
- package/Source/Shaders/DepthPlaneFS.js +2 -2
- package/Source/Shaders/DepthPlaneVS.glsl +2 -2
- package/Source/Shaders/DepthPlaneVS.js +2 -2
- package/Source/Shaders/EllipsoidFS.glsl +5 -13
- package/Source/Shaders/EllipsoidFS.js +6 -14
- package/Source/Shaders/EllipsoidVS.glsl +2 -2
- package/Source/Shaders/EllipsoidVS.js +2 -2
- package/Source/Shaders/FXAA3_11.glsl +4 -4
- package/Source/Shaders/FXAA3_11.js +4 -4
- package/Source/Shaders/GlobeFS.glsl +15 -15
- package/Source/Shaders/GlobeFS.js +15 -15
- package/Source/Shaders/GlobeVS.glsl +17 -17
- package/Source/Shaders/GlobeVS.js +17 -17
- package/Source/Shaders/Materials/AspectRampMaterial.glsl +1 -1
- package/Source/Shaders/Materials/AspectRampMaterial.js +1 -1
- package/Source/Shaders/Materials/BumpMapMaterial.glsl +3 -3
- package/Source/Shaders/Materials/BumpMapMaterial.js +3 -3
- package/Source/Shaders/Materials/ElevationBandMaterial.glsl +3 -3
- package/Source/Shaders/Materials/ElevationBandMaterial.js +3 -3
- package/Source/Shaders/Materials/ElevationContourMaterial.glsl +2 -1
- package/Source/Shaders/Materials/ElevationContourMaterial.js +2 -1
- package/Source/Shaders/Materials/ElevationRampMaterial.glsl +1 -1
- package/Source/Shaders/Materials/ElevationRampMaterial.js +1 -1
- package/Source/Shaders/Materials/GridMaterial.glsl +3 -2
- package/Source/Shaders/Materials/GridMaterial.js +3 -2
- package/Source/Shaders/Materials/NormalMapMaterial.glsl +1 -1
- package/Source/Shaders/Materials/NormalMapMaterial.js +1 -1
- package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +3 -2
- package/Source/Shaders/Materials/PolylineArrowMaterial.js +3 -2
- package/Source/Shaders/Materials/PolylineDashMaterial.glsl +1 -1
- package/Source/Shaders/Materials/PolylineDashMaterial.js +1 -1
- package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +1 -1
- package/Source/Shaders/Materials/PolylineOutlineMaterial.js +1 -1
- package/Source/Shaders/Materials/SlopeRampMaterial.glsl +1 -1
- package/Source/Shaders/Materials/SlopeRampMaterial.js +1 -1
- package/Source/Shaders/Materials/Water.glsl +1 -1
- package/Source/Shaders/Materials/Water.js +1 -1
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +3 -3
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -3
- package/Source/Shaders/Model/MaterialStageFS.glsl +10 -10
- package/Source/Shaders/Model/MaterialStageFS.js +10 -10
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +3 -3
- package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +3 -3
- package/Source/Shaders/Model/ModelFS.glsl +1 -1
- package/Source/Shaders/Model/ModelFS.js +1 -1
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +3 -3
- package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +3 -3
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +1 -1
- package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +1 -1
- package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +8 -8
- package/Source/Shaders/OctahedralProjectionAtlasFS.js +8 -8
- package/Source/Shaders/OctahedralProjectionFS.glsl +4 -4
- package/Source/Shaders/OctahedralProjectionFS.js +4 -4
- package/Source/Shaders/OctahedralProjectionVS.glsl +3 -3
- package/Source/Shaders/OctahedralProjectionVS.js +3 -3
- package/Source/Shaders/PointPrimitiveCollectionFS.glsl +6 -6
- package/Source/Shaders/PointPrimitiveCollectionFS.js +6 -6
- package/Source/Shaders/PointPrimitiveCollectionVS.glsl +12 -12
- package/Source/Shaders/PointPrimitiveCollectionVS.js +12 -12
- package/Source/Shaders/PolylineFS.glsl +3 -3
- package/Source/Shaders/PolylineFS.js +3 -3
- package/Source/Shaders/PolylineShadowVolumeFS.glsl +12 -16
- package/Source/Shaders/PolylineShadowVolumeFS.js +12 -16
- package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +8 -8
- package/Source/Shaders/PolylineShadowVolumeMorphFS.js +8 -8
- package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +20 -20
- package/Source/Shaders/PolylineShadowVolumeMorphVS.js +20 -20
- package/Source/Shaders/PolylineShadowVolumeVS.glsl +20 -20
- package/Source/Shaders/PolylineShadowVolumeVS.js +20 -20
- package/Source/Shaders/PolylineVS.glsl +17 -17
- package/Source/Shaders/PolylineVS.js +17 -17
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -4
- package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AdditiveBlend.js +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +4 -4
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +4 -4
- package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +4 -4
- package/Source/Shaders/PostProcessStages/BlackAndWhite.js +4 -4
- package/Source/Shaders/PostProcessStages/BloomComposite.glsl +5 -5
- package/Source/Shaders/PostProcessStages/BloomComposite.js +5 -5
- package/Source/Shaders/PostProcessStages/BrightPass.glsl +3 -3
- package/Source/Shaders/PostProcessStages/BrightPass.js +3 -3
- package/Source/Shaders/PostProcessStages/Brightness.glsl +3 -3
- package/Source/Shaders/PostProcessStages/Brightness.js +3 -3
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +5 -5
- package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +5 -5
- package/Source/Shaders/PostProcessStages/ContrastBias.glsl +3 -3
- package/Source/Shaders/PostProcessStages/ContrastBias.js +3 -3
- package/Source/Shaders/PostProcessStages/DepthOfField.glsl +2 -2
- package/Source/Shaders/PostProcessStages/DepthOfField.js +2 -2
- package/Source/Shaders/PostProcessStages/DepthView.glsl +2 -2
- package/Source/Shaders/PostProcessStages/DepthView.js +2 -2
- package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +3 -3
- package/Source/Shaders/PostProcessStages/DepthViewPacked.js +3 -3
- package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +7 -7
- package/Source/Shaders/PostProcessStages/EdgeDetection.js +7 -7
- package/Source/Shaders/PostProcessStages/FXAA.glsl +3 -3
- package/Source/Shaders/PostProcessStages/FXAA.js +3 -3
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -4
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -4
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +5 -5
- package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +5 -5
- package/Source/Shaders/PostProcessStages/LensFlare.glsl +13 -13
- package/Source/Shaders/PostProcessStages/LensFlare.js +13 -13
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -4
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -4
- package/Source/Shaders/PostProcessStages/NightVision.glsl +3 -3
- package/Source/Shaders/PostProcessStages/NightVision.js +3 -3
- package/Source/Shaders/PostProcessStages/PassThrough.glsl +2 -2
- package/Source/Shaders/PostProcessStages/PassThrough.js +2 -2
- package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +2 -2
- package/Source/Shaders/PostProcessStages/PassThroughDepth.js +2 -2
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +7 -9
- package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +8 -10
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -4
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -4
- package/Source/Shaders/PostProcessStages/Silhouette.glsl +4 -4
- package/Source/Shaders/PostProcessStages/Silhouette.js +4 -4
- package/Source/Shaders/ReprojectWebMercatorFS.glsl +2 -2
- package/Source/Shaders/ReprojectWebMercatorFS.js +2 -2
- package/Source/Shaders/ReprojectWebMercatorVS.glsl +3 -3
- package/Source/Shaders/ReprojectWebMercatorVS.js +3 -3
- package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +19 -23
- package/Source/Shaders/ShadowVolumeAppearanceFS.js +20 -24
- package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +12 -12
- package/Source/Shaders/ShadowVolumeAppearanceVS.js +12 -12
- package/Source/Shaders/ShadowVolumeFS.glsl +2 -6
- package/Source/Shaders/ShadowVolumeFS.js +3 -7
- package/Source/Shaders/SkyAtmosphereFS.glsl +6 -6
- package/Source/Shaders/SkyAtmosphereFS.js +6 -6
- package/Source/Shaders/SkyAtmosphereVS.glsl +6 -6
- package/Source/Shaders/SkyAtmosphereVS.js +6 -6
- package/Source/Shaders/SkyBoxFS.glsl +3 -3
- package/Source/Shaders/SkyBoxFS.js +3 -3
- package/Source/Shaders/SkyBoxVS.glsl +2 -2
- package/Source/Shaders/SkyBoxVS.js +2 -2
- package/Source/Shaders/SunFS.glsl +3 -3
- package/Source/Shaders/SunFS.js +3 -3
- package/Source/Shaders/SunTextureFS.glsl +2 -2
- package/Source/Shaders/SunTextureFS.js +2 -2
- package/Source/Shaders/SunVS.glsl +2 -2
- package/Source/Shaders/SunVS.js +2 -2
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +9 -13
- package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +9 -13
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +12 -12
- package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +12 -12
- package/Source/Shaders/Vector3DTilePolylinesVS.glsl +5 -5
- package/Source/Shaders/Vector3DTilePolylinesVS.js +5 -5
- package/Source/Shaders/VectorTileVS.glsl +2 -2
- package/Source/Shaders/VectorTileVS.js +2 -2
- package/Source/Shaders/ViewportQuadFS.glsl +2 -2
- package/Source/Shaders/ViewportQuadFS.js +2 -2
- package/Source/Shaders/ViewportQuadVS.glsl +3 -3
- package/Source/Shaders/ViewportQuadVS.js +3 -3
- package/Source/Shaders/Voxels/IntersectDepth.glsl +1 -1
- package/Source/Shaders/Voxels/IntersectDepth.js +1 -1
- package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +12 -2
- package/Source/Shaders/Voxels/IntersectEllipsoid.js +12 -2
- package/Source/Shaders/Voxels/Megatexture.glsl +1 -1
- package/Source/Shaders/Voxels/Megatexture.js +1 -1
- package/Source/Shaders/Voxels/Octree.glsl +4 -4
- package/Source/Shaders/Voxels/Octree.js +4 -4
- package/Source/Shaders/Voxels/VoxelFS.glsl +2 -2
- package/Source/Shaders/Voxels/VoxelFS.js +2 -2
- package/Source/Shaders/Voxels/VoxelVS.glsl +1 -1
- package/Source/Shaders/Voxels/VoxelVS.js +1 -1
- package/Source/Shaders/Voxels/convertUvToCylinder.glsl +5 -9
- package/Source/Shaders/Voxels/convertUvToCylinder.js +5 -9
- package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +3 -6
- package/Source/Shaders/Voxels/convertUvToEllipsoid.js +3 -6
- package/Source/WorkersES6/decodeDraco.js +9 -1
- package/index.d.ts +26 -12
- package/index.js +53 -52
- package/package.json +1 -1
- package/Source/Renderer/modernizeShader.js +0 -242
|
@@ -167,6 +167,7 @@ function Cesium3DTileset(options) {
|
|
|
167
167
|
this._asset = undefined; // Metadata for the entire tileset
|
|
168
168
|
this._properties = undefined; // Metadata for per-model/point/etc properties
|
|
169
169
|
this._geometricError = undefined; // Geometric error when the tree is not rendered at all
|
|
170
|
+
this._scaledGeometricError = undefined; // Geometric error scaled by root tile scale
|
|
170
171
|
this._extensionsUsed = undefined;
|
|
171
172
|
this._extensions = undefined;
|
|
172
173
|
this._modelUpAxis = undefined;
|
|
@@ -1007,6 +1008,11 @@ function Cesium3DTileset(options) {
|
|
|
1007
1008
|
return;
|
|
1008
1009
|
}
|
|
1009
1010
|
|
|
1011
|
+
// Set these before loading the tileset since _geometricError
|
|
1012
|
+
// and _scaledGeometricError get accessed during tile creation
|
|
1013
|
+
that._geometricError = tilesetJson.geometricError;
|
|
1014
|
+
that._scaledGeometricError = tilesetJson.geometricError;
|
|
1015
|
+
|
|
1010
1016
|
that._root = that.loadTileset(resource, tilesetJson);
|
|
1011
1017
|
|
|
1012
1018
|
// Handle legacy gltfUpAxis option
|
|
@@ -1019,7 +1025,6 @@ function Cesium3DTileset(options) {
|
|
|
1019
1025
|
const asset = tilesetJson.asset;
|
|
1020
1026
|
that._asset = asset;
|
|
1021
1027
|
that._properties = tilesetJson.properties;
|
|
1022
|
-
that._geometricError = tilesetJson.geometricError;
|
|
1023
1028
|
that._extensionsUsed = tilesetJson.extensionsUsed;
|
|
1024
1029
|
that._extensions = tilesetJson.extensions;
|
|
1025
1030
|
that._modelUpAxis = modelUpAxis;
|
|
@@ -493,22 +493,17 @@ function modifyForEncodedNormals(primitive, vertexShaderSource) {
|
|
|
493
493
|
return vertexShaderSource;
|
|
494
494
|
}
|
|
495
495
|
|
|
496
|
-
if (
|
|
497
|
-
vertexShaderSource.search(/attribute\s+vec3\s+extrudeDirection;/g) !== -1
|
|
498
|
-
) {
|
|
496
|
+
if (vertexShaderSource.search(/in\s+vec3\s+extrudeDirection;/g) !== -1) {
|
|
499
497
|
const attributeName = "compressedAttributes";
|
|
500
498
|
|
|
501
499
|
//only shadow volumes use extrudeDirection, and shadow volumes use vertexFormat: POSITION_ONLY so we don't need to check other attributes
|
|
502
|
-
const attributeDecl = `
|
|
500
|
+
const attributeDecl = `in vec2 ${attributeName};`;
|
|
503
501
|
|
|
504
502
|
const globalDecl = "vec3 extrudeDirection;\n";
|
|
505
503
|
const decode = ` extrudeDirection = czm_octDecode(${attributeName}, 65535.0);\n`;
|
|
506
504
|
|
|
507
505
|
let modifiedVS = vertexShaderSource;
|
|
508
|
-
modifiedVS = modifiedVS.replace(
|
|
509
|
-
/attribute\s+vec3\s+extrudeDirection;/g,
|
|
510
|
-
""
|
|
511
|
-
);
|
|
506
|
+
modifiedVS = modifiedVS.replace(/in\s+vec3\s+extrudeDirection;/g, "");
|
|
512
507
|
modifiedVS = ShaderSource.replaceMain(
|
|
513
508
|
modifiedVS,
|
|
514
509
|
"czm_non_compressed_main"
|
|
@@ -88,14 +88,12 @@ function DebugAppearance(options) {
|
|
|
88
88
|
|
|
89
89
|
const vs =
|
|
90
90
|
`${
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
91
|
+
"in vec3 position3DHigh;\n" +
|
|
92
|
+
"in vec3 position3DLow;\n" +
|
|
93
|
+
"in float batchId;\n"
|
|
94
94
|
}${
|
|
95
|
-
perInstanceAttribute
|
|
96
|
-
|
|
97
|
-
: `attribute ${glslDatatype} ${attributeName};\n`
|
|
98
|
-
}varying ${glslDatatype} ${varyingName};\n` +
|
|
95
|
+
perInstanceAttribute ? "" : `in ${glslDatatype} ${attributeName};\n`
|
|
96
|
+
}out ${glslDatatype} ${varyingName};\n` +
|
|
99
97
|
`void main()\n` +
|
|
100
98
|
`{\n` +
|
|
101
99
|
`vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow);\n${
|
|
@@ -105,10 +103,10 @@ function DebugAppearance(options) {
|
|
|
105
103
|
}gl_Position = czm_modelViewProjectionRelativeToEye * p;\n` +
|
|
106
104
|
`}`;
|
|
107
105
|
const fs =
|
|
108
|
-
`
|
|
106
|
+
`in ${glslDatatype} ${varyingName};\n${getColor}\n` +
|
|
109
107
|
`void main()\n` +
|
|
110
108
|
`{\n` +
|
|
111
|
-
`
|
|
109
|
+
`out_FragColor = getColor();\n` +
|
|
112
110
|
`}`;
|
|
113
111
|
|
|
114
112
|
/**
|
|
@@ -31,7 +31,7 @@ function createDebugShowFrustumsShaderProgram(scene, shaderProgram) {
|
|
|
31
31
|
const targets = [];
|
|
32
32
|
fs.sources = fs.sources.map(function (source) {
|
|
33
33
|
source = ShaderSource.replaceMain(source, "czm_Debug_main");
|
|
34
|
-
const re = /
|
|
34
|
+
const re = /out_FragData_(\d+)/g;
|
|
35
35
|
let match;
|
|
36
36
|
while ((match = re.exec(source)) !== null) {
|
|
37
37
|
if (targets.indexOf(match[1]) === -1) {
|
|
@@ -52,12 +52,12 @@ function createDebugShowFrustumsShaderProgram(scene, shaderProgram) {
|
|
|
52
52
|
let i;
|
|
53
53
|
if (length > 0) {
|
|
54
54
|
for (i = 0; i < length; ++i) {
|
|
55
|
-
newMain += `
|
|
56
|
-
newMain += `
|
|
55
|
+
newMain += ` out_FragData_${targets[i]}.rgb *= debugShowCommandsColor;\n`;
|
|
56
|
+
newMain += ` out_FragData_${targets[i]}.rgb *= debugShowFrustumsColor;\n`;
|
|
57
57
|
}
|
|
58
58
|
} else {
|
|
59
|
-
newMain += "
|
|
60
|
-
newMain += "
|
|
59
|
+
newMain += " out_FragColor.rgb *= debugShowCommandsColor;\n";
|
|
60
|
+
newMain += " out_FragColor.rgb *= debugShowFrustumsColor;\n";
|
|
61
61
|
}
|
|
62
62
|
newMain += "}";
|
|
63
63
|
|
|
@@ -173,12 +173,6 @@ DepthPlane.prototype.update = function (frameState) {
|
|
|
173
173
|
sources: [DepthPlaneFS],
|
|
174
174
|
});
|
|
175
175
|
if (useLogDepth) {
|
|
176
|
-
const extension =
|
|
177
|
-
"#ifdef GL_EXT_frag_depth \n" +
|
|
178
|
-
"#extension GL_EXT_frag_depth : enable \n" +
|
|
179
|
-
"#endif \n\n";
|
|
180
|
-
|
|
181
|
-
fs.sources.push(extension);
|
|
182
176
|
fs.defines.push("LOG_DEPTH");
|
|
183
177
|
vs.defines.push("LOG_DEPTH");
|
|
184
178
|
}
|
|
@@ -8,7 +8,7 @@ import ShaderSource from "../Renderer/ShaderSource.js";
|
|
|
8
8
|
*/
|
|
9
9
|
function DerivedCommand() {}
|
|
10
10
|
|
|
11
|
-
const fragDepthRegex = /\
|
|
11
|
+
const fragDepthRegex = /\bgl_FragDepth\b/;
|
|
12
12
|
const discardRegex = /\bdiscard\b/;
|
|
13
13
|
|
|
14
14
|
function getDepthOnlyShaderProgram(context, shaderProgram) {
|
|
@@ -44,18 +44,18 @@ function getDepthOnlyShaderProgram(context, shaderProgram) {
|
|
|
44
44
|
let source;
|
|
45
45
|
if (!writesDepthOrDiscards && !usesLogDepth) {
|
|
46
46
|
source =
|
|
47
|
-
"void main() \n" +
|
|
47
|
+
"void main() \n" +
|
|
48
|
+
"{ \n" +
|
|
49
|
+
" out_FragColor = vec4(1.0); \n" +
|
|
50
|
+
"} \n";
|
|
48
51
|
fs = new ShaderSource({
|
|
49
52
|
sources: [source],
|
|
50
53
|
});
|
|
51
54
|
} else if (!writesDepthOrDiscards && usesLogDepth) {
|
|
52
55
|
source =
|
|
53
|
-
"#ifdef GL_EXT_frag_depth \n" +
|
|
54
|
-
"#extension GL_EXT_frag_depth : enable \n" +
|
|
55
|
-
"#endif \n\n" +
|
|
56
56
|
"void main() \n" +
|
|
57
57
|
"{ \n" +
|
|
58
|
-
"
|
|
58
|
+
" out_FragColor = vec4(1.0); \n" +
|
|
59
59
|
" czm_writeLogDepth(); \n" +
|
|
60
60
|
"} \n";
|
|
61
61
|
fs = new ShaderSource({
|
|
@@ -145,7 +145,6 @@ DerivedCommand.createDepthOnlyDerivedCommand = function (
|
|
|
145
145
|
|
|
146
146
|
const writeLogDepthRegex = /\s+czm_writeLogDepth\(/;
|
|
147
147
|
const vertexlogDepthRegex = /\s+czm_vertexLogDepth\(/;
|
|
148
|
-
const extensionRegex = /\s*#extension\s+GL_EXT_frag_depth\s*:\s*enable/;
|
|
149
148
|
|
|
150
149
|
function getLogDepthShaderProgram(context, shaderProgram) {
|
|
151
150
|
const disableLogDepthWrite =
|
|
@@ -210,20 +209,7 @@ function getLogDepthShaderProgram(context, shaderProgram) {
|
|
|
210
209
|
writesLogDepth = true;
|
|
211
210
|
}
|
|
212
211
|
|
|
213
|
-
let addExtension = true;
|
|
214
|
-
for (i = 0; i < length; ++i) {
|
|
215
|
-
if (extensionRegex.test(sources[i])) {
|
|
216
|
-
addExtension = false;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
212
|
let logSource = "";
|
|
221
|
-
if (addExtension) {
|
|
222
|
-
logSource +=
|
|
223
|
-
"#ifdef GL_EXT_frag_depth \n" +
|
|
224
|
-
"#extension GL_EXT_frag_depth : enable \n" +
|
|
225
|
-
"#endif \n\n";
|
|
226
|
-
}
|
|
227
213
|
|
|
228
214
|
if (!writesLogDepth) {
|
|
229
215
|
for (i = 0; i < length; i++) {
|
|
@@ -297,10 +283,10 @@ function getPickShaderProgram(context, shaderProgram, pickId) {
|
|
|
297
283
|
"void main() \n" +
|
|
298
284
|
"{ \n" +
|
|
299
285
|
" czm_non_pick_main(); \n" +
|
|
300
|
-
" if (
|
|
286
|
+
" if (out_FragColor.a == 0.0) { \n" +
|
|
301
287
|
" discard; \n" +
|
|
302
288
|
" } \n" +
|
|
303
|
-
"
|
|
289
|
+
" out_FragColor = "
|
|
304
290
|
}${pickId}; \n` + `} \n`;
|
|
305
291
|
const newSources = new Array(length + 1);
|
|
306
292
|
for (let i = 0; i < length; ++i) {
|
|
@@ -238,11 +238,6 @@ function getVertexArray(context) {
|
|
|
238
238
|
return vertexArray;
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
-
const logDepthExtension =
|
|
242
|
-
"#ifdef GL_EXT_frag_depth \n" +
|
|
243
|
-
"#extension GL_EXT_frag_depth : enable \n" +
|
|
244
|
-
"#endif \n\n";
|
|
245
|
-
|
|
246
241
|
/**
|
|
247
242
|
* Called when {@link Viewer} or {@link CesiumWidget} render the scene to
|
|
248
243
|
* get the draw commands needed to render this primitive.
|
|
@@ -378,7 +373,6 @@ EllipsoidPrimitive.prototype.update = function (frameState) {
|
|
|
378
373
|
if (this._useLogDepth) {
|
|
379
374
|
vs.defines.push("LOG_DEPTH");
|
|
380
375
|
fs.defines.push("LOG_DEPTH");
|
|
381
|
-
fs.sources.push(logDepthExtension);
|
|
382
376
|
}
|
|
383
377
|
|
|
384
378
|
this._sp = ShaderProgram.replaceCache({
|
|
@@ -443,7 +437,6 @@ EllipsoidPrimitive.prototype.update = function (frameState) {
|
|
|
443
437
|
if (this._useLogDepth) {
|
|
444
438
|
vs.defines.push("LOG_DEPTH");
|
|
445
439
|
fs.defines.push("LOG_DEPTH");
|
|
446
|
-
fs.sources.push(logDepthExtension);
|
|
447
440
|
}
|
|
448
441
|
|
|
449
442
|
this._pickSP = ShaderProgram.replaceCache({
|
|
@@ -401,7 +401,7 @@ function getDepthOnlyShaderProgram(vs, fs) {
|
|
|
401
401
|
}
|
|
402
402
|
|
|
403
403
|
const depthOnlyShader =
|
|
404
|
-
"void main() \n" + "{ \n" + "
|
|
404
|
+
"void main() \n" + "{ \n" + " out_FragColor = vec4(1.0); \n" + "} \n";
|
|
405
405
|
|
|
406
406
|
fs.sources = [depthOnlyShader];
|
|
407
407
|
}
|
|
@@ -423,7 +423,7 @@ function getTranslucentShaderProgram(vs, fs) {
|
|
|
423
423
|
"{ \n" +
|
|
424
424
|
" vec2 st = gl_FragCoord.xy / czm_viewport.zw; \n" +
|
|
425
425
|
"#ifdef MANUAL_DEPTH_TEST \n" +
|
|
426
|
-
" float logDepthOrDepth = czm_unpackDepth(
|
|
426
|
+
" float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); \n" +
|
|
427
427
|
" if (logDepthOrDepth != 0.0) \n" +
|
|
428
428
|
" { \n" +
|
|
429
429
|
" vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); \n" +
|
|
@@ -435,13 +435,13 @@ function getTranslucentShaderProgram(vs, fs) {
|
|
|
435
435
|
" } \n" +
|
|
436
436
|
"#endif \n" +
|
|
437
437
|
" czm_globe_translucency_main(); \n" +
|
|
438
|
-
" vec4 classificationColor =
|
|
438
|
+
" vec4 classificationColor = texture(u_classificationTexture, st); \n" +
|
|
439
439
|
" if (classificationColor.a > 0.0) \n" +
|
|
440
440
|
" { \n" +
|
|
441
441
|
" // Reverse premultiplication process to get the correct composited result of the classification primitives \n" +
|
|
442
442
|
" classificationColor.rgb /= classificationColor.a; \n" +
|
|
443
443
|
" } \n" +
|
|
444
|
-
"
|
|
444
|
+
" out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); \n" +
|
|
445
445
|
"} \n";
|
|
446
446
|
|
|
447
447
|
sources.push(globeTranslucencyMain);
|
|
@@ -473,12 +473,12 @@ function getPickShaderProgram(vs, fs) {
|
|
|
473
473
|
"void main() \n" +
|
|
474
474
|
"{ \n" +
|
|
475
475
|
" vec2 st = gl_FragCoord.xy / czm_viewport.zw; \n" +
|
|
476
|
-
" vec4 pickColor =
|
|
476
|
+
" vec4 pickColor = texture(u_classificationTexture, st); \n" +
|
|
477
477
|
" if (pickColor == vec4(0.0)) \n" +
|
|
478
478
|
" { \n" +
|
|
479
479
|
" discard; \n" +
|
|
480
480
|
" } \n" +
|
|
481
|
-
"
|
|
481
|
+
" out_FragColor = pickColor; \n" +
|
|
482
482
|
"} \n";
|
|
483
483
|
|
|
484
484
|
fs.sources = [pickShader];
|
|
@@ -405,12 +405,10 @@ function createShaderProgram(groundPolylinePrimitive, frameState, appearance) {
|
|
|
405
405
|
|
|
406
406
|
// Check for use of v_width and v_polylineAngle in material shader
|
|
407
407
|
// to determine whether these varyings should be active in the vertex shader.
|
|
408
|
-
if (
|
|
409
|
-
materialShaderSource.search(/varying\s+float\s+v_polylineAngle;/g) !== -1
|
|
410
|
-
) {
|
|
408
|
+
if (materialShaderSource.search(/in\s+float\s+v_polylineAngle;/g) !== -1) {
|
|
411
409
|
vsDefines.push("ANGLE_VARYING");
|
|
412
410
|
}
|
|
413
|
-
if (materialShaderSource.search(/
|
|
411
|
+
if (materialShaderSource.search(/in\s+float\s+v_width;/g) !== -1) {
|
|
414
412
|
vsDefines.push("WIDTH_VARYING");
|
|
415
413
|
}
|
|
416
414
|
} else {
|
|
@@ -126,19 +126,18 @@ const rsDefault = {
|
|
|
126
126
|
};
|
|
127
127
|
|
|
128
128
|
const translucentFS =
|
|
129
|
-
"#extension GL_EXT_frag_depth : enable\n" +
|
|
130
129
|
"uniform sampler2D colorTexture;\n" +
|
|
131
130
|
"uniform sampler2D depthTexture;\n" +
|
|
132
131
|
"uniform sampler2D classifiedTexture;\n" +
|
|
133
|
-
"
|
|
132
|
+
"in vec2 v_textureCoordinates;\n" +
|
|
134
133
|
"void main()\n" +
|
|
135
134
|
"{\n" +
|
|
136
|
-
" vec4 color =
|
|
135
|
+
" vec4 color = texture(colorTexture, v_textureCoordinates);\n" +
|
|
137
136
|
" if (color.a == 0.0)\n" +
|
|
138
137
|
" {\n" +
|
|
139
138
|
" discard;\n" +
|
|
140
139
|
" }\n" +
|
|
141
|
-
" bool isClassified = all(equal(
|
|
140
|
+
" bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0)));\n" +
|
|
142
141
|
"#ifdef UNCLASSIFIED\n" +
|
|
143
142
|
" vec4 highlightColor = czm_invertClassificationColor;\n" +
|
|
144
143
|
" if (isClassified)\n" +
|
|
@@ -152,24 +151,24 @@ const translucentFS =
|
|
|
152
151
|
" discard;\n" +
|
|
153
152
|
" }\n" +
|
|
154
153
|
"#endif\n" +
|
|
155
|
-
"
|
|
156
|
-
"
|
|
154
|
+
" out_FragColor = color * highlightColor;\n" +
|
|
155
|
+
" gl_FragDepth = texture(depthTexture, v_textureCoordinates).r;\n" +
|
|
157
156
|
"}\n";
|
|
158
157
|
|
|
159
158
|
const opaqueFS =
|
|
160
159
|
"uniform sampler2D colorTexture;\n" +
|
|
161
|
-
"
|
|
160
|
+
"in vec2 v_textureCoordinates;\n" +
|
|
162
161
|
"void main()\n" +
|
|
163
162
|
"{\n" +
|
|
164
|
-
" vec4 color =
|
|
163
|
+
" vec4 color = texture(colorTexture, v_textureCoordinates);\n" +
|
|
165
164
|
" if (color.a == 0.0)\n" +
|
|
166
165
|
" {\n" +
|
|
167
166
|
" discard;\n" +
|
|
168
167
|
" }\n" +
|
|
169
168
|
"#ifdef UNCLASSIFIED\n" +
|
|
170
|
-
"
|
|
169
|
+
" out_FragColor = color * czm_invertClassificationColor;\n" +
|
|
171
170
|
"#else\n" +
|
|
172
|
-
"
|
|
171
|
+
" out_FragColor = color;\n" +
|
|
173
172
|
"#endif\n" +
|
|
174
173
|
"}\n";
|
|
175
174
|
|
package/Source/Scene/Material.js
CHANGED
|
@@ -1264,8 +1264,8 @@ Material._materialCache.addMaterial(Material.ImageType, {
|
|
|
1264
1264
|
},
|
|
1265
1265
|
components: {
|
|
1266
1266
|
diffuse:
|
|
1267
|
-
"
|
|
1268
|
-
alpha: "
|
|
1267
|
+
"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",
|
|
1268
|
+
alpha: "texture(image, fract(repeat * materialInput.st)).a * color.a",
|
|
1269
1269
|
},
|
|
1270
1270
|
},
|
|
1271
1271
|
translucent: function (material) {
|
|
@@ -1288,7 +1288,7 @@ Material._materialCache.addMaterial(Material.DiffuseMapType, {
|
|
|
1288
1288
|
repeat: new Cartesian2(1.0, 1.0),
|
|
1289
1289
|
},
|
|
1290
1290
|
components: {
|
|
1291
|
-
diffuse: "
|
|
1291
|
+
diffuse: "texture(image, fract(repeat * materialInput.st)).channels",
|
|
1292
1292
|
},
|
|
1293
1293
|
},
|
|
1294
1294
|
translucent: false,
|
|
@@ -1309,7 +1309,7 @@ Material._materialCache.addMaterial(Material.AlphaMapType, {
|
|
|
1309
1309
|
repeat: new Cartesian2(1.0, 1.0),
|
|
1310
1310
|
},
|
|
1311
1311
|
components: {
|
|
1312
|
-
alpha: "
|
|
1312
|
+
alpha: "texture(image, fract(repeat * materialInput.st)).channel",
|
|
1313
1313
|
},
|
|
1314
1314
|
},
|
|
1315
1315
|
translucent: true,
|
|
@@ -1330,7 +1330,7 @@ Material._materialCache.addMaterial(Material.SpecularMapType, {
|
|
|
1330
1330
|
repeat: new Cartesian2(1.0, 1.0),
|
|
1331
1331
|
},
|
|
1332
1332
|
components: {
|
|
1333
|
-
specular: "
|
|
1333
|
+
specular: "texture(image, fract(repeat * materialInput.st)).channel",
|
|
1334
1334
|
},
|
|
1335
1335
|
},
|
|
1336
1336
|
translucent: false,
|
|
@@ -1351,7 +1351,7 @@ Material._materialCache.addMaterial(Material.EmissionMapType, {
|
|
|
1351
1351
|
repeat: new Cartesian2(1.0, 1.0),
|
|
1352
1352
|
},
|
|
1353
1353
|
components: {
|
|
1354
|
-
emission: "
|
|
1354
|
+
emission: "texture(image, fract(repeat * materialInput.st)).channels",
|
|
1355
1355
|
},
|
|
1356
1356
|
},
|
|
1357
1357
|
translucent: false,
|
|
@@ -63,9 +63,9 @@ function Megatexture(
|
|
|
63
63
|
|
|
64
64
|
let pixelFormat;
|
|
65
65
|
if (channelCount === 1) {
|
|
66
|
-
pixelFormat = PixelFormat.LUMINANCE;
|
|
66
|
+
pixelFormat = context.webgl2 ? PixelFormat.RED : PixelFormat.LUMINANCE;
|
|
67
67
|
} else if (channelCount === 2) {
|
|
68
|
-
pixelFormat = PixelFormat.LUMINANCE_ALPHA;
|
|
68
|
+
pixelFormat = context.webgl2 ? PixelFormat.RG : PixelFormat.LUMINANCE_ALPHA;
|
|
69
69
|
} else if (channelCount === 3) {
|
|
70
70
|
pixelFormat = PixelFormat.RGB;
|
|
71
71
|
} else if (channelCount === 4) {
|
|
@@ -32,6 +32,14 @@ const MetadataSemantic = {
|
|
|
32
32
|
* @private
|
|
33
33
|
*/
|
|
34
34
|
DESCRIPTION: "DESCRIPTION",
|
|
35
|
+
/**
|
|
36
|
+
* The number of tiles in a tileset, stored as a <code>UINT64</code>.
|
|
37
|
+
*
|
|
38
|
+
* @type {String}
|
|
39
|
+
* @constant
|
|
40
|
+
* @private
|
|
41
|
+
*/
|
|
42
|
+
TILESET_TILE_COUNT: "TILESET_TILE_COUNT",
|
|
35
43
|
/**
|
|
36
44
|
* A bounding box for a tile, stored as an array of 12 <code>FLOAT32</code> or <code>FLOAT64</code> components. The components are the same format as for <code>boundingVolume.box</code> in 3D Tiles 1.0. This semantic is used to provide a tighter bounding volume than the one implicitly calculated in implicit tiling.
|
|
37
45
|
*
|
|
@@ -113,7 +113,7 @@ import CustomShaderTranslucencyMode from "./CustomShaderTranslucencyMode.js";
|
|
|
113
113
|
* `,
|
|
114
114
|
* fragmentShaderText: `
|
|
115
115
|
* void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
|
|
116
|
-
* material.normal =
|
|
116
|
+
* material.normal = texture(u_normalMap, fsInput.attributes.texCoord_0);
|
|
117
117
|
* material.diffuse = v_selectedColor;
|
|
118
118
|
* }
|
|
119
119
|
* `
|
|
@@ -295,13 +295,13 @@ function processImplicitRange(
|
|
|
295
295
|
);
|
|
296
296
|
|
|
297
297
|
// Declare the vertex attribute in the shader
|
|
298
|
-
// Example:
|
|
298
|
+
// Example: in float a_implicit_feature_id_n;
|
|
299
299
|
const shaderBuilder = renderResources.shaderBuilder;
|
|
300
300
|
const implicitAttributeName = `a_implicit_${variableName}`;
|
|
301
301
|
shaderBuilder.addAttribute("float", implicitAttributeName);
|
|
302
302
|
|
|
303
303
|
// Also declare the corresponding varyings
|
|
304
|
-
// Example:
|
|
304
|
+
// Example: in float v_implicit_feature_id_n;
|
|
305
305
|
const implicitVaryingName = `v_implicit_${variableName}`;
|
|
306
306
|
shaderBuilder.addVarying("float", implicitVaryingName);
|
|
307
307
|
|
|
@@ -388,9 +388,9 @@ function processTexture(
|
|
|
388
388
|
);
|
|
389
389
|
|
|
390
390
|
// Read one or more channels from the texture
|
|
391
|
-
// example:
|
|
391
|
+
// example: texture(u_featureIdTexture_0, v_texCoord_1).rg
|
|
392
392
|
const texCoord = `v_texCoord_${textureReader.texCoord}`;
|
|
393
|
-
const textureRead = `
|
|
393
|
+
const textureRead = `texture(${uniformName}, ${texCoord}).${channels}`;
|
|
394
394
|
|
|
395
395
|
// Finally, assign to the struct field. Example:
|
|
396
396
|
// featureIds.featureId_0 = unpacked;
|
|
@@ -9,7 +9,7 @@ const LightingModel = {
|
|
|
9
9
|
/**
|
|
10
10
|
* Use unlit shading, i.e. skip lighting calculations. The model's
|
|
11
11
|
* diffuse color (assumed to be linear RGB, not sRGB) is used directly
|
|
12
|
-
* when computing <code>
|
|
12
|
+
* when computing <code>out_FragColor</code>. The alpha mode is still
|
|
13
13
|
* applied.
|
|
14
14
|
*
|
|
15
15
|
* @type {Number}
|
|
@@ -452,7 +452,7 @@ function addPropertyTexturePropertyMetadata(renderResources, propertyInfo) {
|
|
|
452
452
|
|
|
453
453
|
// Get a GLSL expression for the value of the property
|
|
454
454
|
const texCoordVariable = `attributes.texCoord_${texCoord}`;
|
|
455
|
-
const valueExpression = `
|
|
455
|
+
const valueExpression = `texture(${textureUniformName}, ${texCoordVariable}).${channels}`;
|
|
456
456
|
|
|
457
457
|
// Some types need an unpacking step or two. For example, since texture reads
|
|
458
458
|
// are always normalized, UINT8 (not normalized) properties need to be
|
|
@@ -157,7 +157,7 @@ function processPickTexture(renderResources, primitive, instances) {
|
|
|
157
157
|
|
|
158
158
|
// The feature ID is ignored if it is greater than the number of features.
|
|
159
159
|
renderResources.pickId =
|
|
160
|
-
"((selectedFeature.id < int(model_featuresLength)) ?
|
|
160
|
+
"((selectedFeature.id < int(model_featuresLength)) ? texture(model_pickTexture, selectedFeature.st) : vec4(0.0))";
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
function processInstancedPickIds(renderResources, context) {
|