@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
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import defined from "../Core/defined.js";
|
|
2
|
+
import PrimitiveType from "../Core/PrimitiveType.js";
|
|
3
|
+
import BlendingState from "./BlendingState.js";
|
|
4
|
+
import CullFace from "./CullFace.js";
|
|
5
|
+
import getClippingFunction from "./getClippingFunction.js";
|
|
6
|
+
import DrawCommand from "../Renderer/DrawCommand.js";
|
|
7
|
+
import Pass from "../Renderer/Pass.js";
|
|
8
|
+
import RenderState from "../Renderer/RenderState.js";
|
|
9
|
+
import ShaderDestination from "../Renderer/ShaderDestination.js";
|
|
10
|
+
import VoxelRenderResources from "./VoxelRenderResources.js";
|
|
11
|
+
import processVoxelProperties from "./processVoxelProperties.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @function
|
|
15
|
+
*
|
|
16
|
+
* @param {VoxelPrimitive} primitive
|
|
17
|
+
* @param {Context} context
|
|
18
|
+
*
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
function buildVoxelDrawCommands(primitive, context) {
|
|
22
|
+
const renderResources = new VoxelRenderResources(primitive);
|
|
23
|
+
|
|
24
|
+
processVoxelProperties(renderResources, primitive);
|
|
25
|
+
|
|
26
|
+
const {
|
|
27
|
+
shaderBuilder,
|
|
28
|
+
clippingPlanes,
|
|
29
|
+
clippingPlanesLength,
|
|
30
|
+
} = renderResources;
|
|
31
|
+
|
|
32
|
+
if (clippingPlanesLength > 0) {
|
|
33
|
+
// Extract the getClippingPlane function from the getClippingFunction string.
|
|
34
|
+
// This is a bit of a hack.
|
|
35
|
+
const functionId = "getClippingPlane";
|
|
36
|
+
const entireFunction = getClippingFunction(clippingPlanes, context);
|
|
37
|
+
const functionSignatureBegin = 0;
|
|
38
|
+
const functionSignatureEnd = entireFunction.indexOf(")") + 1;
|
|
39
|
+
const functionBodyBegin =
|
|
40
|
+
entireFunction.indexOf("{", functionSignatureEnd) + 1;
|
|
41
|
+
const functionBodyEnd = entireFunction.indexOf("}", functionBodyBegin);
|
|
42
|
+
const functionSignature = entireFunction.slice(
|
|
43
|
+
functionSignatureBegin,
|
|
44
|
+
functionSignatureEnd
|
|
45
|
+
);
|
|
46
|
+
const functionBody = entireFunction.slice(
|
|
47
|
+
functionBodyBegin,
|
|
48
|
+
functionBodyEnd
|
|
49
|
+
);
|
|
50
|
+
shaderBuilder.addFunction(
|
|
51
|
+
functionId,
|
|
52
|
+
functionSignature,
|
|
53
|
+
ShaderDestination.FRAGMENT
|
|
54
|
+
);
|
|
55
|
+
shaderBuilder.addFunctionLines(functionId, [functionBody]);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Compile shaders
|
|
59
|
+
const shaderBuilderPick = shaderBuilder.clone();
|
|
60
|
+
shaderBuilderPick.addDefine("PICKING", undefined, ShaderDestination.FRAGMENT);
|
|
61
|
+
const shaderProgram = shaderBuilder.buildShaderProgram(context);
|
|
62
|
+
const shaderProgramPick = shaderBuilderPick.buildShaderProgram(context);
|
|
63
|
+
const renderState = RenderState.fromCache({
|
|
64
|
+
cull: {
|
|
65
|
+
enabled: true,
|
|
66
|
+
face: CullFace.BACK,
|
|
67
|
+
},
|
|
68
|
+
depthTest: {
|
|
69
|
+
enabled: false,
|
|
70
|
+
},
|
|
71
|
+
depthMask: false,
|
|
72
|
+
// internally the shader does premultiplied alpha, so it makes sense to blend that way too
|
|
73
|
+
blending: BlendingState.PRE_MULTIPLIED_ALPHA_BLEND,
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// Create the draw commands
|
|
77
|
+
const viewportQuadVertexArray = context.getViewportQuadVertexArray();
|
|
78
|
+
const depthTest = primitive._depthTest;
|
|
79
|
+
const drawCommand = new DrawCommand({
|
|
80
|
+
vertexArray: viewportQuadVertexArray,
|
|
81
|
+
primitiveType: PrimitiveType.TRIANGLES,
|
|
82
|
+
renderState: renderState,
|
|
83
|
+
shaderProgram: shaderProgram,
|
|
84
|
+
uniformMap: renderResources.uniformMap,
|
|
85
|
+
pass: Pass.VOXELS,
|
|
86
|
+
executeInClosestFrustum: true,
|
|
87
|
+
owner: this,
|
|
88
|
+
cull: depthTest, // don't cull or occlude if depth testing is off
|
|
89
|
+
occlude: depthTest, // don't cull or occlude if depth testing is off
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
// Create the pick draw command
|
|
93
|
+
const drawCommandPick = DrawCommand.shallowClone(
|
|
94
|
+
drawCommand,
|
|
95
|
+
new DrawCommand()
|
|
96
|
+
);
|
|
97
|
+
drawCommandPick.shaderProgram = shaderProgramPick;
|
|
98
|
+
drawCommandPick.pickOnly = true;
|
|
99
|
+
|
|
100
|
+
// Delete the old shader programs
|
|
101
|
+
if (defined(primitive._drawCommand)) {
|
|
102
|
+
const command = primitive._drawCommand;
|
|
103
|
+
command.shaderProgram =
|
|
104
|
+
command.shaderProgram && command.shaderProgram.destroy();
|
|
105
|
+
}
|
|
106
|
+
if (defined(primitive._drawCommandPick)) {
|
|
107
|
+
const command = primitive._drawCommandPick;
|
|
108
|
+
command.shaderProgram =
|
|
109
|
+
command.shaderProgram && command.shaderProgram.destroy();
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
primitive._drawCommand = drawCommand;
|
|
113
|
+
primitive._drawCommandPick = drawCommandPick;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export default buildVoxelDrawCommands;
|
|
@@ -49,16 +49,25 @@ function computeFlyToLocationForRectangle(rectangle, scene) {
|
|
|
49
49
|
return computeFlyToLocationForRectangle
|
|
50
50
|
._sampleTerrainMostDetailed(terrainProvider, cartographics)
|
|
51
51
|
.then(function (positionsOnTerrain) {
|
|
52
|
+
let heightFound = false;
|
|
52
53
|
const maxHeight = positionsOnTerrain.reduce(function (
|
|
53
54
|
currentMax,
|
|
54
55
|
item
|
|
55
56
|
) {
|
|
57
|
+
if (!defined(item.height)) {
|
|
58
|
+
return currentMax;
|
|
59
|
+
}
|
|
60
|
+
heightFound = true;
|
|
56
61
|
return Math.max(item.height, currentMax);
|
|
57
62
|
},
|
|
58
63
|
-Number.MAX_VALUE);
|
|
59
64
|
|
|
60
65
|
const finalPosition = positionWithoutTerrain;
|
|
61
|
-
|
|
66
|
+
|
|
67
|
+
if (heightFound) {
|
|
68
|
+
finalPosition.height += maxHeight;
|
|
69
|
+
}
|
|
70
|
+
|
|
62
71
|
return finalPosition;
|
|
63
72
|
});
|
|
64
73
|
});
|
|
@@ -462,9 +462,7 @@ function createLayeredEntries(layers) {
|
|
|
462
462
|
* });
|
|
463
463
|
*/
|
|
464
464
|
function createElevationBandMaterial(options) {
|
|
465
|
-
|
|
466
|
-
const scene = options.scene;
|
|
467
|
-
const layers = options.layers;
|
|
465
|
+
const { scene, layers } = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
468
466
|
|
|
469
467
|
//>>includeStart('debug', pragmas.debug);
|
|
470
468
|
Check.typeOf.object("options.scene", scene);
|
|
@@ -472,36 +470,34 @@ function createElevationBandMaterial(options) {
|
|
|
472
470
|
Check.typeOf.number.greaterThan("options.layers.length", layers.length, 0);
|
|
473
471
|
//>>includeEnd('debug');
|
|
474
472
|
|
|
473
|
+
const { context } = scene;
|
|
475
474
|
const entries = createLayeredEntries(layers);
|
|
476
475
|
const entriesLength = entries.length;
|
|
477
|
-
let i;
|
|
478
476
|
|
|
479
477
|
let heightTexBuffer;
|
|
480
478
|
let heightTexDatatype;
|
|
481
479
|
let heightTexFormat;
|
|
482
480
|
|
|
483
|
-
const isPackedHeight = !createElevationBandMaterial._useFloatTexture(
|
|
484
|
-
scene.context
|
|
485
|
-
);
|
|
481
|
+
const isPackedHeight = !createElevationBandMaterial._useFloatTexture(context);
|
|
486
482
|
if (isPackedHeight) {
|
|
487
483
|
heightTexDatatype = PixelDatatype.UNSIGNED_BYTE;
|
|
488
484
|
heightTexFormat = PixelFormat.RGBA;
|
|
489
485
|
heightTexBuffer = new Uint8Array(entriesLength * 4);
|
|
490
|
-
for (i = 0; i < entriesLength; i++) {
|
|
486
|
+
for (let i = 0; i < entriesLength; i++) {
|
|
491
487
|
Cartesian4.packFloat(entries[i].height, scratchPackedFloat);
|
|
492
488
|
Cartesian4.pack(scratchPackedFloat, heightTexBuffer, i * 4);
|
|
493
489
|
}
|
|
494
490
|
} else {
|
|
495
491
|
heightTexDatatype = PixelDatatype.FLOAT;
|
|
496
|
-
heightTexFormat = PixelFormat.LUMINANCE;
|
|
492
|
+
heightTexFormat = context.webgl2 ? PixelFormat.RED : PixelFormat.LUMINANCE;
|
|
497
493
|
heightTexBuffer = new Float32Array(entriesLength);
|
|
498
|
-
for (i = 0; i < entriesLength; i++) {
|
|
494
|
+
for (let i = 0; i < entriesLength; i++) {
|
|
499
495
|
heightTexBuffer[i] = entries[i].height;
|
|
500
496
|
}
|
|
501
497
|
}
|
|
502
498
|
|
|
503
499
|
const heightsTex = Texture.create({
|
|
504
|
-
context:
|
|
500
|
+
context: context,
|
|
505
501
|
pixelFormat: heightTexFormat,
|
|
506
502
|
pixelDatatype: heightTexDatatype,
|
|
507
503
|
source: {
|
|
@@ -518,7 +514,7 @@ function createElevationBandMaterial(options) {
|
|
|
518
514
|
});
|
|
519
515
|
|
|
520
516
|
const colorsArray = new Uint8Array(entriesLength * 4);
|
|
521
|
-
for (i = 0; i < entriesLength; i++) {
|
|
517
|
+
for (let i = 0; i < entriesLength; i++) {
|
|
522
518
|
const color = entries[i].color;
|
|
523
519
|
color.toBytes(scratchColorBytes);
|
|
524
520
|
colorsArray[i * 4 + 0] = scratchColorBytes[0];
|
|
@@ -528,7 +524,7 @@ function createElevationBandMaterial(options) {
|
|
|
528
524
|
}
|
|
529
525
|
|
|
530
526
|
const colorsTex = Texture.create({
|
|
531
|
-
context:
|
|
527
|
+
context: context,
|
|
532
528
|
pixelFormat: PixelFormat.RGBA,
|
|
533
529
|
pixelDatatype: PixelDatatype.UNSIGNED_BYTE,
|
|
534
530
|
source: {
|
|
@@ -544,11 +540,10 @@ function createElevationBandMaterial(options) {
|
|
|
544
540
|
}),
|
|
545
541
|
});
|
|
546
542
|
|
|
547
|
-
|
|
543
|
+
return Material.fromType("ElevationBand", {
|
|
548
544
|
heights: heightsTex,
|
|
549
545
|
colors: colorsTex,
|
|
550
546
|
});
|
|
551
|
-
return material;
|
|
552
547
|
}
|
|
553
548
|
|
|
554
549
|
/**
|
|
@@ -27,7 +27,7 @@ function getClipAndStyleCode(
|
|
|
27
27
|
` float clippingPlanesEdgeWidth = ${styleUniformName}.a; \n` +
|
|
28
28
|
` if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) \n` +
|
|
29
29
|
` { \n` +
|
|
30
|
-
`
|
|
30
|
+
` out_FragColor = clippingPlanesEdgeColor;\n` +
|
|
31
31
|
` } \n`;
|
|
32
32
|
return shaderCode;
|
|
33
33
|
}
|
|
@@ -122,7 +122,7 @@ function getClippingPlaneFloat(width, height) {
|
|
|
122
122
|
` int pixX = clippingPlaneNumber - (pixY * ${width});\n` +
|
|
123
123
|
` float u = (float(pixX) + 0.5) * ${pixelWidthString};\n` + // sample from center of pixel
|
|
124
124
|
` float v = (float(pixY) + 0.5) * ${pixelHeightString};\n` +
|
|
125
|
-
` vec4 plane =
|
|
125
|
+
` vec4 plane = texture(packedClippingPlanes, vec2(u, v));\n` +
|
|
126
126
|
` return czm_transformPlane(plane, transform);\n` +
|
|
127
127
|
`}\n`;
|
|
128
128
|
return functionString;
|
|
@@ -151,11 +151,11 @@ function getClippingPlaneUint8(width, height) {
|
|
|
151
151
|
` int pixX = clippingPlaneStartIndex - (pixY * ${width});\n` +
|
|
152
152
|
` float u = (float(pixX) + 0.5) * ${pixelWidthString};\n` + // sample from center of pixel
|
|
153
153
|
` float v = (float(pixY) + 0.5) * ${pixelHeightString};\n` +
|
|
154
|
-
` vec4 oct32 =
|
|
154
|
+
` vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0;\n` +
|
|
155
155
|
` vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w);\n` +
|
|
156
156
|
` vec4 plane;\n` +
|
|
157
157
|
` plane.xyz = czm_octDecode(oct, 65535.0);\n` +
|
|
158
|
-
` plane.w = czm_unpackFloat(
|
|
158
|
+
` plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + ${pixelWidthString}, v)));\n` +
|
|
159
159
|
` return czm_transformPlane(plane, transform);\n` +
|
|
160
160
|
`}\n`;
|
|
161
161
|
return functionString;
|
|
@@ -16,6 +16,7 @@ import MetadataSchema from "./MetadataSchema.js";
|
|
|
16
16
|
import MetadataTable from "./MetadataTable.js";
|
|
17
17
|
import ModelComponents from "./ModelComponents.js";
|
|
18
18
|
import ModelUtility from "./Model/ModelUtility.js";
|
|
19
|
+
import oneTimeWarning from "../Core/oneTimeWarning.js";
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* An object that parses the the 3D Tiles 1.0 batch table and transcodes it to
|
|
@@ -263,7 +264,7 @@ function transcodeBinaryProperties(
|
|
|
263
264
|
properties: classProperties,
|
|
264
265
|
};
|
|
265
266
|
|
|
266
|
-
const transcodedSchema =
|
|
267
|
+
const transcodedSchema = MetadataSchema.fromJson(schemaJson);
|
|
267
268
|
|
|
268
269
|
const featureTableJson = {
|
|
269
270
|
class: className,
|
|
@@ -353,6 +354,20 @@ function transcodeBinaryPropertiesAsPropertyAttributes(
|
|
|
353
354
|
attribute.name = customAttributeName;
|
|
354
355
|
attribute.count = featureCount;
|
|
355
356
|
attribute.type = property.type;
|
|
357
|
+
const componentDatatype = ComponentDatatype.fromTypedArray(
|
|
358
|
+
attributeTypedArray
|
|
359
|
+
);
|
|
360
|
+
if (
|
|
361
|
+
componentDatatype === ComponentDatatype.INT ||
|
|
362
|
+
componentDatatype === ComponentDatatype.UNSIGNED_INT ||
|
|
363
|
+
componentDatatype === ComponentDatatype.DOUBLE
|
|
364
|
+
) {
|
|
365
|
+
parseBatchTable._oneTimeWarning(
|
|
366
|
+
"Cast pnts property to floats",
|
|
367
|
+
`Point cloud property "${customAttributeName}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`
|
|
368
|
+
);
|
|
369
|
+
attributeTypedArray = new Float32Array(attributeTypedArray);
|
|
370
|
+
}
|
|
356
371
|
attribute.componentDatatype = ComponentDatatype.fromTypedArray(
|
|
357
372
|
attributeTypedArray
|
|
358
373
|
);
|
|
@@ -372,7 +387,7 @@ function transcodeBinaryPropertiesAsPropertyAttributes(
|
|
|
372
387
|
properties: classProperties,
|
|
373
388
|
};
|
|
374
389
|
|
|
375
|
-
const transcodedSchema =
|
|
390
|
+
const transcodedSchema = MetadataSchema.fromJson(schemaJson);
|
|
376
391
|
|
|
377
392
|
const propertyAttributeJson = {
|
|
378
393
|
properties: propertyAttributeProperties,
|
|
@@ -435,5 +450,6 @@ function transcodeComponentType(componentType) {
|
|
|
435
450
|
|
|
436
451
|
// exposed for testing
|
|
437
452
|
parseBatchTable._deprecationWarning = deprecationWarning;
|
|
453
|
+
parseBatchTable._oneTimeWarning = oneTimeWarning;
|
|
438
454
|
|
|
439
455
|
export default parseBatchTable;
|
|
@@ -76,6 +76,14 @@ function preprocess3DTileContent(arrayBuffer) {
|
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
if (defined(json.voxelTable)) {
|
|
80
|
+
// Most likely a voxel JSON
|
|
81
|
+
return {
|
|
82
|
+
contentType: Cesium3DTileContentType.VOXEL_JSON,
|
|
83
|
+
jsonPayload: json,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
79
87
|
throw new RuntimeError("Invalid tile content.");
|
|
80
88
|
}
|
|
81
89
|
|