@cesium/engine 10.1.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Build/Workers/{chunk-N4QEHO3U.js → chunk-2EDC3QGH.js} +1 -1
- package/Build/Workers/{chunk-NVOABL76.js → chunk-2MKRG7L7.js} +5 -5
- package/Build/Workers/{chunk-X23FRWHJ.js → chunk-2RZYNSMR.js} +6 -6
- package/Build/Workers/{chunk-TO2PVHKI.js → chunk-4NBRIKB3.js} +2 -2
- package/Build/Workers/{chunk-5BLJ5ZM6.js → chunk-4TK5YR6Q.js} +5 -5
- package/Build/Workers/{chunk-TF776XCO.js → chunk-54VC7SCM.js} +7 -7
- package/Build/Workers/{chunk-2GEAGYUY.js → chunk-5IY5BXCT.js} +13 -13
- package/Build/Workers/{chunk-OXALEQPI.js → chunk-6FFGOENI.js} +10 -7
- package/Build/Workers/{chunk-65MZOUNU.js → chunk-6PJIHPQB.js} +13 -13
- package/Build/Workers/{chunk-FOZWUH4T.js → chunk-6ZREIBKS.js} +7 -7
- package/Build/Workers/{chunk-BY3E4ONI.js → chunk-AI3O7UN2.js} +6 -6
- package/Build/Workers/{chunk-XQI7XZHX.js → chunk-AS7P4BHI.js} +6 -6
- package/Build/Workers/{chunk-PNFHVBSF.js → chunk-AUM45VEG.js} +16 -15
- package/Build/Workers/{chunk-VRZ46QZ5.js → chunk-BBO6BGLC.js} +13 -13
- package/Build/Workers/{chunk-POSRARY7.js → chunk-BH5ZEN4I.js} +10 -10
- package/Build/Workers/{chunk-A5CODJ4M.js → chunk-BJ3WF5RW.js} +6 -6
- package/Build/Workers/{chunk-Q55ECN3Y.js → chunk-BUOFSNFW.js} +1 -1
- package/Build/Workers/{chunk-QX5XS4LC.js → chunk-BZXF3GNX.js} +2 -2
- package/Build/Workers/{chunk-T6LPN7RI.js → chunk-DJXXI7UF.js} +5 -5
- package/Build/Workers/{chunk-C3Z23UUJ.js → chunk-DVAIU7A4.js} +17 -17
- package/Build/Workers/{chunk-X2ZQ7RJR.js → chunk-FJT3ERV7.js} +9 -9
- package/Build/Workers/{chunk-UCIPJSZX.js → chunk-GOHDOWU5.js} +14 -14
- package/Build/Workers/{chunk-R4OIEIPE.js → chunk-HA6TZ3XT.js} +4 -4
- package/Build/Workers/{chunk-ACRTCBN5.js → chunk-HBZSCVZC.js} +11 -11
- package/Build/Workers/{chunk-BGE4QVG7.js → chunk-HC7RYWPZ.js} +12 -12
- package/Build/Workers/{chunk-VE7BFUIX.js → chunk-HFMJM3SX.js} +1 -1
- package/Build/Workers/{chunk-OOK53QUQ.js → chunk-HFPMX5L2.js} +1 -1
- package/Build/Workers/{chunk-6D66DPRV.js → chunk-HO2NTC7I.js} +6 -6
- package/Build/Workers/{chunk-F3NDOSTZ.js → chunk-HZPMWR4H.js} +7 -7
- package/Build/Workers/{chunk-I2RC4XVN.js → chunk-IBG5FVXC.js} +4 -4
- package/Build/Workers/{chunk-FEVVHITK.js → chunk-IXLNNST6.js} +4 -4
- package/Build/Workers/{chunk-4YSNMHZ4.js → chunk-JYUCC5NV.js} +6 -6
- package/Build/Workers/{chunk-FDCLACT5.js → chunk-KFW4UNQH.js} +10 -10
- package/Build/Workers/{chunk-R6B7UCQB.js → chunk-KKAEXHDY.js} +2 -2
- package/Build/Workers/{chunk-D2U4RI64.js → chunk-L6FARMF6.js} +7 -7
- package/Build/Workers/{chunk-OOMCT7OL.js → chunk-N3BIL6WA.js} +13 -13
- package/Build/Workers/{chunk-XZZNKIEV.js → chunk-O5SSW3B3.js} +6 -6
- package/Build/Workers/{chunk-S3PI2KFM.js → chunk-OC4MYPVW.js} +2 -2
- package/Build/Workers/{chunk-XLTOBCDI.js → chunk-OOA6GXKD.js} +7 -7
- package/Build/Workers/{chunk-GPJR7MPQ.js → chunk-OSCHEWSG.js} +7 -7
- package/Build/Workers/{chunk-RZLZWKFN.js → chunk-QGT2GMOK.js} +4 -4
- package/Build/Workers/{chunk-OWGTMVDB.js → chunk-RFQYEYAL.js} +17 -17
- package/Build/Workers/{chunk-LSSWVB2X.js → chunk-RJF5ZP76.js} +4 -4
- package/Build/Workers/{chunk-EB7PNZTK.js → chunk-SIZXFNJY.js} +6 -5
- package/Build/Workers/{chunk-G5V4GPZE.js → chunk-SRZJCF7G.js} +9 -9
- package/Build/Workers/{chunk-T77JILCU.js → chunk-T4MB73MC.js} +2 -2
- package/Build/Workers/{chunk-4RMIRG6T.js → chunk-TTI2SUWJ.js} +2 -2
- package/Build/Workers/{chunk-4VFBBNQ3.js → chunk-VHJ5ESXF.js} +1 -1
- package/Build/Workers/{chunk-2J3JKXCP.js → chunk-VSFFJGTA.js} +9 -5
- package/Build/Workers/{chunk-ZU334IDQ.js → chunk-WQRXRDCZ.js} +11 -11
- package/Build/Workers/{chunk-J7MQUQJY.js → chunk-WXDGOYTT.js} +12 -7
- package/Build/Workers/{chunk-76BYYG7N.js → chunk-XLCZE6DD.js} +10 -10
- package/Build/Workers/combineGeometry.js +22 -22
- package/Build/Workers/createBoxGeometry.js +16 -16
- package/Build/Workers/createBoxOutlineGeometry.js +14 -14
- package/Build/Workers/createCircleGeometry.js +24 -24
- package/Build/Workers/createCircleOutlineGeometry.js +17 -17
- package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
- package/Build/Workers/createCorridorGeometry.js +27 -27
- package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
- package/Build/Workers/createCylinderGeometry.js +18 -18
- package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
- package/Build/Workers/createEllipseGeometry.js +24 -24
- package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
- package/Build/Workers/createEllipsoidGeometry.js +17 -17
- package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
- package/Build/Workers/createFrustumGeometry.js +16 -16
- package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
- package/Build/Workers/createGeometry.js +22 -22
- package/Build/Workers/createGroundPolylineGeometry.js +20 -20
- package/Build/Workers/createPlaneGeometry.js +14 -14
- package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
- package/Build/Workers/createPolygonGeometry.js +30 -30
- package/Build/Workers/createPolygonOutlineGeometry.js +28 -28
- package/Build/Workers/createPolylineGeometry.js +23 -23
- package/Build/Workers/createPolylineVolumeGeometry.js +29 -29
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
- package/Build/Workers/createRectangleGeometry.js +25 -25
- package/Build/Workers/createRectangleOutlineGeometry.js +18 -18
- package/Build/Workers/createSimplePolylineGeometry.js +21 -21
- package/Build/Workers/createSphereGeometry.js +17 -17
- package/Build/Workers/createSphereOutlineGeometry.js +16 -16
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
- package/Build/Workers/createVectorTileGeometries.js +22 -22
- package/Build/Workers/createVectorTilePoints.js +12 -12
- package/Build/Workers/createVectorTilePolygons.js +20 -20
- package/Build/Workers/createVectorTilePolylines.js +13 -13
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -20
- package/Build/Workers/createVerticesFromHeightmap.js +24 -20
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -17
- package/Build/Workers/createWallGeometry.js +22 -22
- package/Build/Workers/createWallOutlineGeometry.js +21 -21
- package/Build/Workers/decodeDraco.js +11 -11
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/transcodeKTX2.js +19 -18
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
- package/Source/Core/CompressedTextureBuffer.js +11 -0
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/KTX2Transcoder.js +9 -16
- package/Source/Core/PixelFormat.js +1 -15
- package/Source/DataSources/CallbackProperty.js +8 -2
- package/Source/DataSources/CheckerboardMaterialProperty.js +7 -1
- package/Source/DataSources/ColorMaterialProperty.js +7 -1
- package/Source/DataSources/CompositeMaterialProperty.js +5 -4
- package/Source/DataSources/CompositePositionProperty.js +7 -1
- package/Source/DataSources/CompositeProperty.js +5 -5
- package/Source/DataSources/ConstantPositionProperty.js +7 -1
- package/Source/DataSources/Entity.js +1 -1
- package/Source/DataSources/GridMaterialProperty.js +7 -1
- package/Source/DataSources/ImageMaterialProperty.js +8 -1
- package/Source/DataSources/MaterialProperty.js +7 -1
- package/Source/DataSources/NodeTransformationProperty.js +7 -1
- package/Source/DataSources/PolylineArrowMaterialProperty.js +7 -1
- package/Source/DataSources/PolylineDashMaterialProperty.js +7 -1
- package/Source/DataSources/PolylineGlowMaterialProperty.js +7 -1
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +7 -1
- package/Source/DataSources/PositionProperty.js +1 -1
- package/Source/DataSources/PositionPropertyArray.js +7 -1
- package/Source/DataSources/Property.js +1 -1
- package/Source/DataSources/PropertyArray.js +5 -5
- package/Source/DataSources/PropertyBag.js +5 -4
- package/Source/DataSources/ReferenceProperty.js +7 -1
- package/Source/DataSources/SampledPositionProperty.js +7 -1
- package/Source/DataSources/SampledProperty.js +6 -4
- package/Source/DataSources/ScaledPositionProperty.js +6 -0
- package/Source/DataSources/StripeMaterialProperty.js +7 -1
- package/Source/DataSources/TerrainOffsetProperty.js +9 -0
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +7 -1
- package/Source/DataSources/TimeIntervalCollectionProperty.js +5 -5
- package/Source/DataSources/VelocityOrientationProperty.js +6 -1
- package/Source/DataSources/VelocityVectorProperty.js +3 -5
- package/Source/Renderer/AutomaticUniforms.js +2 -17
- package/Source/Renderer/Context.js +15 -0
- package/Source/Renderer/CubeMap.js +326 -348
- package/Source/Renderer/CubeMapFace.js +26 -48
- package/Source/Renderer/PixelDatatype.js +23 -0
- package/Source/Renderer/Sampler.js +7 -13
- package/Source/Renderer/ShaderProgram.js +7 -0
- package/Source/Renderer/Texture.js +396 -332
- package/Source/Renderer/UniformState.js +3 -22
- package/Source/Renderer/demodernizeShader.js +2 -0
- package/Source/Renderer/loadCubeMap.js +3 -8
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/CameraEventAggregator.js +49 -5
- package/Source/Scene/Globe.js +1 -1
- package/Source/Scene/GlobeSurfaceShaderSet.js +29 -24
- package/Source/Scene/GlobeSurfaceTileProvider.js +5 -3
- package/Source/Scene/ImageBasedLighting.js +34 -34
- package/Source/Scene/Label.js +2 -2
- package/Source/Scene/Material.js +24 -2
- package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +7 -15
- package/Source/Scene/PostProcessStageCollection.js +45 -15
- package/Source/Scene/PostProcessStageLibrary.js +26 -0
- package/Source/Scene/Scene.js +20 -22
- package/Source/Scene/SceneTransforms.js +0 -62
- package/Source/Scene/ScreenSpaceCameraController.js +11 -4
- package/Source/Scene/SkyBox.js +13 -19
- package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
- package/Source/Scene/Tonemapper.js +35 -23
- package/Source/Scene/VoxelPrimitive.js +0 -29
- package/Source/Scene/VoxelRenderResources.js +0 -3
- package/Source/Shaders/Builtin/CzmBuiltins.js +2 -2
- package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/pbrLighting.js +2 -2
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
- package/Source/Shaders/Builtin/Functions/textureCube.glsl +21 -2
- package/Source/Shaders/Builtin/Functions/textureCube.js +21 -2
- package/Source/Shaders/Builtin/Structs/materialInput.glsl +2 -0
- package/Source/Shaders/Builtin/Structs/materialInput.js +2 -0
- package/Source/Shaders/GlobeFS.glsl +10 -4
- package/Source/Shaders/GlobeFS.js +10 -4
- package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
- package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
- package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -1
- package/Source/Shaders/Model/AtmosphereStageFS.js +1 -1
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +40 -29
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +40 -29
- package/Source/Shaders/Model/LightingStageFS.glsl +2 -2
- package/Source/Shaders/Model/LightingStageFS.js +2 -2
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -0
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -0
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -0
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -0
- package/Source/Shaders/SkyAtmosphereFS.glsl +1 -1
- package/Source/Shaders/SkyAtmosphereFS.js +1 -1
- package/Source/Widget/CesiumWidget.js +1 -1
- package/index.d.ts +117 -101
- package/index.js +212 -213
- package/package.json +2 -2
- package/Build/Workers/chunk-3WUV74WM.js +0 -1800
- package/Build/Workers/chunk-4MSUJ4I7.js +0 -456
- package/Build/Workers/chunk-5KWHSZYL.js +0 -834
- package/Build/Workers/chunk-5O6JWQ4E.js +0 -398
- package/Build/Workers/chunk-6OFDHMHR.js +0 -1258
- package/Build/Workers/chunk-AA4GZKOT.js +0 -75
- package/Build/Workers/chunk-B75IEX2S.js +0 -390
- package/Build/Workers/chunk-BAVI3ZS2.js +0 -39
- package/Build/Workers/chunk-BBDZYSZB.js +0 -287
- package/Build/Workers/chunk-C45MU4GZ.js +0 -220
- package/Build/Workers/chunk-CF7P7K7E.js +0 -684
- package/Build/Workers/chunk-D4K27X2M.js +0 -305
- package/Build/Workers/chunk-DKVHRNFY.js +0 -100
- package/Build/Workers/chunk-ELI4BUOT.js +0 -963
- package/Build/Workers/chunk-FQPSOOPH.js +0 -258
- package/Build/Workers/chunk-GNHZH7HP.js +0 -37
- package/Build/Workers/chunk-GWT64LKY.js +0 -171
- package/Build/Workers/chunk-HGEEOMSC.js +0 -157
- package/Build/Workers/chunk-IUROUBPA.js +0 -300
- package/Build/Workers/chunk-JNLWLSTP.js +0 -476
- package/Build/Workers/chunk-JYQNWIQQ.js +0 -44
- package/Build/Workers/chunk-KUN2ZA5X.js +0 -138
- package/Build/Workers/chunk-KV4EQHK4.js +0 -1477
- package/Build/Workers/chunk-LXQ5QAEJ.js +0 -196
- package/Build/Workers/chunk-MBZH7YZ7.js +0 -945
- package/Build/Workers/chunk-MKXWJTFQ.js +0 -781
- package/Build/Workers/chunk-MMV6TO3P.js +0 -101
- package/Build/Workers/chunk-MSKXMXJI.js +0 -500
- package/Build/Workers/chunk-OAPA2RTG.js +0 -239
- package/Build/Workers/chunk-OE4MCOC7.js +0 -421
- package/Build/Workers/chunk-OJF4RTJG.js +0 -634
- package/Build/Workers/chunk-OXSI7N4C.js +0 -768
- package/Build/Workers/chunk-PYHLO636.js +0 -2857
- package/Build/Workers/chunk-QD4KM3GO.js +0 -138
- package/Build/Workers/chunk-QMLTCCYG.js +0 -55
- package/Build/Workers/chunk-QYQIVZBU.js +0 -117
- package/Build/Workers/chunk-R3TKLC6E.js +0 -1075
- package/Build/Workers/chunk-R4ZEWO4I.js +0 -122
- package/Build/Workers/chunk-RCK55EDX.js +0 -691
- package/Build/Workers/chunk-RHBWXX7C.js +0 -629
- package/Build/Workers/chunk-SAPFXU5X.js +0 -102
- package/Build/Workers/chunk-TBBFDFCS.js +0 -368
- package/Build/Workers/chunk-TGY6H6N6.js +0 -163
- package/Build/Workers/chunk-UOEUCKKU.js +0 -59
- package/Build/Workers/chunk-VFBNELXB.js +0 -353
- package/Build/Workers/chunk-VYWUFRRR.js +0 -1052
- package/Build/Workers/chunk-WVSELU6O.js +0 -2716
- package/Build/Workers/chunk-X43SJLQL.js +0 -10364
- package/Build/Workers/chunk-XUOJCLOH.js +0 -511
- package/Build/Workers/chunk-YLYBLJ3Y.js +0 -73
- package/Build/Workers/chunk-ZEE2EIFD.js +0 -430
- package/Build/Workers/chunk-ZIKGV7EL.js +0 -58
- package/Source/Scene/OctahedralProjectedCubeMap.js +0 -444
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +0 -78
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +0 -80
- package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +0 -89
- package/Source/Shaders/OctahedralProjectionAtlasFS.js +0 -91
- package/Source/Shaders/OctahedralProjectionFS.glsl +0 -14
- package/Source/Shaders/OctahedralProjectionFS.js +0 -16
- package/Source/Shaders/OctahedralProjectionVS.glsl +0 -10
- package/Source/Shaders/OctahedralProjectionVS.js +0 -12
|
@@ -157,7 +157,6 @@ function UniformState() {
|
|
|
157
157
|
|
|
158
158
|
this._sphericalHarmonicCoefficients = undefined;
|
|
159
159
|
this._specularEnvironmentMaps = undefined;
|
|
160
|
-
this._specularEnvironmentMapsDimensions = new Cartesian2();
|
|
161
160
|
this._specularEnvironmentMapsMaximumLOD = undefined;
|
|
162
161
|
|
|
163
162
|
this._fogDensity = undefined;
|
|
@@ -1084,7 +1083,7 @@ Object.defineProperties(UniformState.prototype, {
|
|
|
1084
1083
|
},
|
|
1085
1084
|
|
|
1086
1085
|
/**
|
|
1087
|
-
* The specular environment map
|
|
1086
|
+
* The specular environment cube map of the scene.
|
|
1088
1087
|
* @memberof UniformState.prototype
|
|
1089
1088
|
* @type {Texture}
|
|
1090
1089
|
*/
|
|
@@ -1095,18 +1094,7 @@ Object.defineProperties(UniformState.prototype, {
|
|
|
1095
1094
|
},
|
|
1096
1095
|
|
|
1097
1096
|
/**
|
|
1098
|
-
* The
|
|
1099
|
-
* @memberof UniformState.prototype
|
|
1100
|
-
* @type {Cartesian2}
|
|
1101
|
-
*/
|
|
1102
|
-
specularEnvironmentMapsDimensions: {
|
|
1103
|
-
get: function () {
|
|
1104
|
-
return this._specularEnvironmentMapsDimensions;
|
|
1105
|
-
},
|
|
1106
|
-
},
|
|
1107
|
-
|
|
1108
|
-
/**
|
|
1109
|
-
* The maximum level-of-detail of the specular environment map atlas of the scene.
|
|
1097
|
+
* The maximum level-of-detail of the specular environment cube map of the scene.
|
|
1110
1098
|
* @memberof UniformState.prototype
|
|
1111
1099
|
* @type {number}
|
|
1112
1100
|
*/
|
|
@@ -1491,7 +1479,7 @@ UniformState.prototype.update = function (frameState) {
|
|
|
1491
1479
|
);
|
|
1492
1480
|
|
|
1493
1481
|
// IE 11 doesn't optimize out uniforms that are #ifdef'd out. So undefined values for the spherical harmonic
|
|
1494
|
-
// coefficients
|
|
1482
|
+
// coefficients cause a crash.
|
|
1495
1483
|
this._sphericalHarmonicCoefficients = defaultValue(
|
|
1496
1484
|
frameState.sphericalHarmonicCoefficients,
|
|
1497
1485
|
EMPTY_ARRAY
|
|
@@ -1500,13 +1488,6 @@ UniformState.prototype.update = function (frameState) {
|
|
|
1500
1488
|
this._specularEnvironmentMapsMaximumLOD =
|
|
1501
1489
|
frameState.specularEnvironmentMapsMaximumLOD;
|
|
1502
1490
|
|
|
1503
|
-
if (defined(this._specularEnvironmentMaps)) {
|
|
1504
|
-
Cartesian2.clone(
|
|
1505
|
-
this._specularEnvironmentMaps.dimensions,
|
|
1506
|
-
this._specularEnvironmentMapsDimensions
|
|
1507
|
-
);
|
|
1508
|
-
}
|
|
1509
|
-
|
|
1510
1491
|
this._fogDensity = frameState.fog.density;
|
|
1511
1492
|
this._fogMinimumBrightness = frameState.fog.minimumBrightness;
|
|
1512
1493
|
|
|
@@ -60,6 +60,8 @@ function demodernizeShader(input, isFragmentShader) {
|
|
|
60
60
|
output = output.replaceAll(/gl_FragDepth/g, `gl_FragDepthEXT`);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
// Enable the EXT_shader_texture_lod extension
|
|
64
|
+
output = `#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n#endif\n${output}`;
|
|
63
65
|
// Enable the OES_standard_derivatives extension
|
|
64
66
|
output = `#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\n${output}`;
|
|
65
67
|
} else {
|
|
@@ -41,17 +41,12 @@ import CubeMap from "./CubeMap.js";
|
|
|
41
41
|
function loadCubeMap(context, urls, skipColorSpaceConversion) {
|
|
42
42
|
//>>includeStart('debug', pragmas.debug);
|
|
43
43
|
Check.defined("context", context);
|
|
44
|
+
Check.defined("urls", urls);
|
|
44
45
|
if (
|
|
45
|
-
!defined(urls)
|
|
46
|
-
!defined(urls.positiveX) ||
|
|
47
|
-
!defined(urls.negativeX) ||
|
|
48
|
-
!defined(urls.positiveY) ||
|
|
49
|
-
!defined(urls.negativeY) ||
|
|
50
|
-
!defined(urls.positiveZ) ||
|
|
51
|
-
!defined(urls.negativeZ)
|
|
46
|
+
Object.values(CubeMap.FaceName).some((faceName) => !defined(urls[faceName]))
|
|
52
47
|
) {
|
|
53
48
|
throw new DeveloperError(
|
|
54
|
-
"urls
|
|
49
|
+
"urls must have positiveX, negativeX, positiveY, negativeY, positiveZ, and negativeZ properties."
|
|
55
50
|
);
|
|
56
51
|
}
|
|
57
52
|
//>>includeEnd('debug');
|
|
@@ -4,7 +4,7 @@ import Resource from "../Core/Resource.js";
|
|
|
4
4
|
|
|
5
5
|
let defaultTokenCredit;
|
|
6
6
|
const defaultAccessToken =
|
|
7
|
-
"
|
|
7
|
+
"AAPTxy8BH1VEsoebNVZXo8HurEOF051kAEKlhkOhBEc9BmSXu8_pRnGhnW6yZLct-ukUzbJaZRAVfnmUrxDcAu_FaFDIC3M57EwfRm_DuTw9D5oHdLBTYIMD3tpUeFsNDjHHqar5fb1FGIN9KIV1Gk64dNBmhHhuOHY8cq2IhI0XFLj2qnAlqtKnM-lLsO6JpHuHPVD799V1o9VFm9vMW6a66vEi8-e--2QzKQecPYiaq98.AT1_p4pHwb3n";
|
|
8
8
|
/**
|
|
9
9
|
* Default options for accessing the ArcGIS image tile service.
|
|
10
10
|
*
|
|
@@ -9,7 +9,7 @@ import ScreenSpaceEventType from "../Core/ScreenSpaceEventType.js";
|
|
|
9
9
|
import CameraEventType from "./CameraEventType.js";
|
|
10
10
|
|
|
11
11
|
function getKey(type, modifier) {
|
|
12
|
-
let key = type
|
|
12
|
+
let key = `${type}`;
|
|
13
13
|
if (defined(modifier)) {
|
|
14
14
|
key += `+${modifier}`;
|
|
15
15
|
}
|
|
@@ -178,7 +178,6 @@ function listenMouseButtonDownUp(aggregator, modifier, type) {
|
|
|
178
178
|
const isDown = aggregator._isDown;
|
|
179
179
|
const eventStartPosition = aggregator._eventStartPosition;
|
|
180
180
|
const pressTime = aggregator._pressTime;
|
|
181
|
-
const releaseTime = aggregator._releaseTime;
|
|
182
181
|
|
|
183
182
|
isDown[key] = false;
|
|
184
183
|
eventStartPosition[key] = new Cartesian2();
|
|
@@ -219,20 +218,64 @@ function listenMouseButtonDownUp(aggregator, modifier, type) {
|
|
|
219
218
|
|
|
220
219
|
aggregator._eventHandler.setInputAction(
|
|
221
220
|
function () {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
221
|
+
cancelMouseDownAction(getKey(type, undefined), aggregator);
|
|
222
|
+
for (const modifier of Object.values(KeyboardEventModifier)) {
|
|
223
|
+
const cancelKey = getKey(type, modifier);
|
|
224
|
+
cancelMouseDownAction(cancelKey, aggregator);
|
|
225
|
+
}
|
|
225
226
|
},
|
|
226
227
|
up,
|
|
227
228
|
modifier
|
|
228
229
|
);
|
|
229
230
|
}
|
|
230
231
|
|
|
232
|
+
function cancelMouseDownAction(cancelKey, aggregator) {
|
|
233
|
+
const releaseTime = aggregator._releaseTime;
|
|
234
|
+
const isDown = aggregator._isDown;
|
|
235
|
+
if (isDown[cancelKey]) {
|
|
236
|
+
aggregator._buttonsDown = Math.max(aggregator._buttonsDown - 1, 0);
|
|
237
|
+
}
|
|
238
|
+
isDown[cancelKey] = false;
|
|
239
|
+
releaseTime[cancelKey] = new Date();
|
|
240
|
+
}
|
|
241
|
+
|
|
231
242
|
function cloneMouseMovement(mouseMovement, result) {
|
|
232
243
|
Cartesian2.clone(mouseMovement.startPosition, result.startPosition);
|
|
233
244
|
Cartesian2.clone(mouseMovement.endPosition, result.endPosition);
|
|
234
245
|
}
|
|
235
246
|
|
|
247
|
+
function refreshMouseDownStatus(type, modifier, aggregator) {
|
|
248
|
+
// first: Judge if the mouse is pressed
|
|
249
|
+
const isDown = aggregator._isDown;
|
|
250
|
+
let anyButtonIsDown = false;
|
|
251
|
+
const currentKey = getKey(type, modifier);
|
|
252
|
+
for (const [downKey, downValue] of Object.entries(isDown)) {
|
|
253
|
+
if (downKey.startsWith(type) && downValue && downKey !== currentKey) {
|
|
254
|
+
anyButtonIsDown = true;
|
|
255
|
+
cancelMouseDownAction(downKey, aggregator);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
if (!anyButtonIsDown) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// second: If it is pressed, it will be transferred to the current modifier.
|
|
264
|
+
const pressTime = aggregator._pressTime;
|
|
265
|
+
let lastMovement = aggregator._lastMovement[currentKey];
|
|
266
|
+
if (!defined(lastMovement)) {
|
|
267
|
+
lastMovement = aggregator._lastMovement[currentKey] = {
|
|
268
|
+
startPosition: new Cartesian2(),
|
|
269
|
+
endPosition: new Cartesian2(),
|
|
270
|
+
valid: false,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
aggregator._buttonsDown++;
|
|
274
|
+
lastMovement.valid = false;
|
|
275
|
+
isDown[currentKey] = true;
|
|
276
|
+
pressTime[currentKey] = new Date();
|
|
277
|
+
}
|
|
278
|
+
|
|
236
279
|
function listenMouseMove(aggregator, modifier) {
|
|
237
280
|
const update = aggregator._update;
|
|
238
281
|
const movement = aggregator._movement;
|
|
@@ -271,6 +314,7 @@ function listenMouseMove(aggregator, modifier) {
|
|
|
271
314
|
const type = CameraEventType[typeName];
|
|
272
315
|
if (defined(type)) {
|
|
273
316
|
const key = getKey(type, modifier);
|
|
317
|
+
refreshMouseDownStatus(type, modifier, aggregator);
|
|
274
318
|
if (isDown[key]) {
|
|
275
319
|
if (!update[key]) {
|
|
276
320
|
Cartesian2.clone(
|
package/Source/Scene/Globe.js
CHANGED
|
@@ -979,7 +979,6 @@ Globe.prototype.beginFrame = function (frameState) {
|
|
|
979
979
|
const tileProvider = surface.tileProvider;
|
|
980
980
|
const terrainProvider = this.terrainProvider;
|
|
981
981
|
const hasWaterMask =
|
|
982
|
-
this.showWaterEffect &&
|
|
983
982
|
defined(terrainProvider) &&
|
|
984
983
|
terrainProvider.hasWaterMask &&
|
|
985
984
|
terrainProvider.hasWaterMask;
|
|
@@ -1034,6 +1033,7 @@ Globe.prototype.beginFrame = function (frameState) {
|
|
|
1034
1033
|
tileProvider.zoomedOutOceanSpecularIntensity =
|
|
1035
1034
|
mode === SceneMode.SCENE3D ? this._zoomedOutOceanSpecularIntensity : 0.0;
|
|
1036
1035
|
tileProvider.hasWaterMask = hasWaterMask;
|
|
1036
|
+
tileProvider.showWaterEffect = this.showWaterEffect;
|
|
1037
1037
|
tileProvider.oceanNormalMap = this._oceanNormalMap;
|
|
1038
1038
|
tileProvider.enableLighting = this.enableLighting;
|
|
1039
1039
|
tileProvider.dynamicAtmosphereLighting = this.dynamicAtmosphereLighting;
|
|
@@ -109,6 +109,7 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
|
|
|
109
109
|
const applyAlpha = options.applyAlpha;
|
|
110
110
|
const applyDayNightAlpha = options.applyDayNightAlpha;
|
|
111
111
|
const applySplit = options.applySplit;
|
|
112
|
+
const hasWaterMask = options.hasWaterMask;
|
|
112
113
|
const showReflectiveOcean = options.showReflectiveOcean;
|
|
113
114
|
const showOceanWaves = options.showOceanWaves;
|
|
114
115
|
const enableLighting = options.enableLighting;
|
|
@@ -168,30 +169,31 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
|
|
|
168
169
|
(applySaturation << 5) |
|
|
169
170
|
(applyGamma << 6) |
|
|
170
171
|
(applyAlpha << 7) |
|
|
171
|
-
(
|
|
172
|
-
(
|
|
173
|
-
(
|
|
174
|
-
(
|
|
175
|
-
(
|
|
176
|
-
(
|
|
177
|
-
(
|
|
178
|
-
(
|
|
179
|
-
(
|
|
180
|
-
(
|
|
181
|
-
(
|
|
182
|
-
(
|
|
183
|
-
(
|
|
184
|
-
(
|
|
185
|
-
(
|
|
186
|
-
(
|
|
187
|
-
(
|
|
188
|
-
(
|
|
189
|
-
(
|
|
190
|
-
(
|
|
191
|
-
(
|
|
192
|
-
(
|
|
193
|
-
(
|
|
194
|
-
(
|
|
172
|
+
(hasWaterMask << 8) |
|
|
173
|
+
(showReflectiveOcean << 9) |
|
|
174
|
+
(showOceanWaves << 10) |
|
|
175
|
+
(enableLighting << 11) |
|
|
176
|
+
(dynamicAtmosphereLighting << 12) |
|
|
177
|
+
(dynamicAtmosphereLightingFromSun << 13) |
|
|
178
|
+
(showGroundAtmosphere << 14) |
|
|
179
|
+
(perFragmentGroundAtmosphere << 15) |
|
|
180
|
+
(hasVertexNormals << 16) |
|
|
181
|
+
(useWebMercatorProjection << 17) |
|
|
182
|
+
(enableFog << 18) |
|
|
183
|
+
(quantization << 19) |
|
|
184
|
+
(applySplit << 20) |
|
|
185
|
+
(enableClippingPlanes << 21) |
|
|
186
|
+
(enableClippingPolygons << 22) |
|
|
187
|
+
(cartographicLimitRectangleFlag << 23) |
|
|
188
|
+
(imageryCutoutFlag << 24) |
|
|
189
|
+
(colorCorrect << 25) |
|
|
190
|
+
(highlightFillTile << 26) |
|
|
191
|
+
(colorToAlpha << 27) |
|
|
192
|
+
(hasGeodeticSurfaceNormals << 28) |
|
|
193
|
+
(hasExaggeration << 29) |
|
|
194
|
+
(showUndergroundColor << 30) |
|
|
195
|
+
(translucent << 31) |
|
|
196
|
+
(applyDayNightAlpha << 32);
|
|
195
197
|
|
|
196
198
|
let currentClippingShaderState = 0;
|
|
197
199
|
if (defined(clippingPlanes) && clippingPlanes.length > 0) {
|
|
@@ -279,6 +281,9 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
|
|
|
279
281
|
if (applyDayNightAlpha) {
|
|
280
282
|
fs.defines.push("APPLY_DAY_NIGHT_ALPHA");
|
|
281
283
|
}
|
|
284
|
+
if (hasWaterMask) {
|
|
285
|
+
fs.defines.push("HAS_WATER_MASK");
|
|
286
|
+
}
|
|
282
287
|
if (showReflectiveOcean) {
|
|
283
288
|
fs.defines.push("SHOW_REFLECTIVE_OCEAN");
|
|
284
289
|
vs.defines.push("SHOW_REFLECTIVE_OCEAN");
|
|
@@ -83,6 +83,7 @@ function GlobeSurfaceTileProvider(options) {
|
|
|
83
83
|
this.lightingFadeOutDistance = 6500000.0;
|
|
84
84
|
this.lightingFadeInDistance = 9000000.0;
|
|
85
85
|
this.hasWaterMask = false;
|
|
86
|
+
this.showWaterEffect = false;
|
|
86
87
|
this.oceanNormalMap = undefined;
|
|
87
88
|
this.zoomedOutOceanSpecularIntensity = 0.5;
|
|
88
89
|
this.enableLighting = false;
|
|
@@ -2181,8 +2182,8 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2181
2182
|
const lambertDiffuseMultiplier = tileProvider.lambertDiffuseMultiplier;
|
|
2182
2183
|
const vertexShadowDarkness = tileProvider.vertexShadowDarkness;
|
|
2183
2184
|
|
|
2184
|
-
const
|
|
2185
|
-
|
|
2185
|
+
const hasWaterMask = tileProvider.hasWaterMask && defined(waterMaskTexture);
|
|
2186
|
+
const showReflectiveOcean = hasWaterMask && tileProvider.showWaterEffect;
|
|
2186
2187
|
const oceanNormalMap = tileProvider.oceanNormalMap;
|
|
2187
2188
|
const showOceanWaves = showReflectiveOcean && defined(oceanNormalMap);
|
|
2188
2189
|
const terrainProvider = tileProvider.terrainProvider;
|
|
@@ -2214,7 +2215,7 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2214
2215
|
perFragmentGroundAtmosphere = cameraDistance > fadeOutDistance;
|
|
2215
2216
|
}
|
|
2216
2217
|
|
|
2217
|
-
if (
|
|
2218
|
+
if (hasWaterMask) {
|
|
2218
2219
|
--maxTextures;
|
|
2219
2220
|
}
|
|
2220
2221
|
if (showOceanWaves) {
|
|
@@ -2329,6 +2330,7 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2329
2330
|
const surfaceShaderSetOptions = surfaceShaderSetOptionsScratch;
|
|
2330
2331
|
surfaceShaderSetOptions.frameState = frameState;
|
|
2331
2332
|
surfaceShaderSetOptions.surfaceTile = surfaceTile;
|
|
2333
|
+
surfaceShaderSetOptions.hasWaterMask = hasWaterMask;
|
|
2332
2334
|
surfaceShaderSetOptions.showReflectiveOcean = showReflectiveOcean;
|
|
2333
2335
|
surfaceShaderSetOptions.showOceanWaves = showOceanWaves;
|
|
2334
2336
|
surfaceShaderSetOptions.enableLighting = tileProvider.enableLighting;
|
|
@@ -4,7 +4,7 @@ import defined from "../Core/defined.js";
|
|
|
4
4
|
import defaultValue from "../Core/defaultValue.js";
|
|
5
5
|
import destroyObject from "../Core/destroyObject.js";
|
|
6
6
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
7
|
-
import
|
|
7
|
+
import SpecularEnvironmentCubeMap from "./SpecularEnvironmentCubeMap.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Properties for managing image-based lighting on tilesets and models.
|
|
@@ -84,8 +84,8 @@ function ImageBasedLighting(options) {
|
|
|
84
84
|
|
|
85
85
|
// The specular environment map texture is created in update();
|
|
86
86
|
this._specularEnvironmentMaps = options.specularEnvironmentMaps;
|
|
87
|
-
this.
|
|
88
|
-
this.
|
|
87
|
+
this._specularEnvironmentCubeMap = undefined;
|
|
88
|
+
this._specularEnvironmentCubeMapDirty = true;
|
|
89
89
|
this._specularEnvironmentMapLoaded = false;
|
|
90
90
|
this._previousSpecularEnvironmentMapLoaded = false;
|
|
91
91
|
|
|
@@ -226,8 +226,8 @@ Object.defineProperties(ImageBasedLighting.prototype, {
|
|
|
226
226
|
},
|
|
227
227
|
set: function (value) {
|
|
228
228
|
if (value !== this._specularEnvironmentMaps) {
|
|
229
|
-
this.
|
|
230
|
-
this.
|
|
229
|
+
this._specularEnvironmentCubeMapDirty =
|
|
230
|
+
this._specularEnvironmentCubeMapDirty ||
|
|
231
231
|
value !== this._specularEnvironmentMaps;
|
|
232
232
|
this._specularEnvironmentMapLoaded = false;
|
|
233
233
|
}
|
|
@@ -299,16 +299,16 @@ Object.defineProperties(ImageBasedLighting.prototype, {
|
|
|
299
299
|
},
|
|
300
300
|
|
|
301
301
|
/**
|
|
302
|
-
* The
|
|
302
|
+
* The cube map for the specular environment maps.
|
|
303
303
|
*
|
|
304
304
|
* @memberof ImageBasedLighting.prototype
|
|
305
|
-
* @type {
|
|
305
|
+
* @type {SpecularEnvironmentCubeMap}
|
|
306
306
|
*
|
|
307
307
|
* @private
|
|
308
308
|
*/
|
|
309
|
-
|
|
309
|
+
specularEnvironmentCubeMap: {
|
|
310
310
|
get: function () {
|
|
311
|
-
return this.
|
|
311
|
+
return this._specularEnvironmentCubeMap;
|
|
312
312
|
},
|
|
313
313
|
},
|
|
314
314
|
|
|
@@ -337,30 +337,30 @@ Object.defineProperties(ImageBasedLighting.prototype, {
|
|
|
337
337
|
useSpecularEnvironmentMaps: {
|
|
338
338
|
get: function () {
|
|
339
339
|
return (
|
|
340
|
-
(defined(this.
|
|
341
|
-
this.
|
|
340
|
+
(defined(this._specularEnvironmentCubeMap) &&
|
|
341
|
+
this._specularEnvironmentCubeMap.ready) ||
|
|
342
342
|
this._useDefaultSpecularMaps
|
|
343
343
|
);
|
|
344
344
|
},
|
|
345
345
|
},
|
|
346
346
|
});
|
|
347
347
|
|
|
348
|
-
function
|
|
349
|
-
if (!
|
|
348
|
+
function createSpecularEnvironmentCubeMap(imageBasedLighting, context) {
|
|
349
|
+
if (!SpecularEnvironmentCubeMap.isSupported(context)) {
|
|
350
350
|
return;
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
-
imageBasedLighting.
|
|
354
|
-
imageBasedLighting.
|
|
355
|
-
imageBasedLighting.
|
|
353
|
+
imageBasedLighting._specularEnvironmentCubeMap =
|
|
354
|
+
imageBasedLighting._specularEnvironmentCubeMap &&
|
|
355
|
+
imageBasedLighting._specularEnvironmentCubeMap.destroy();
|
|
356
356
|
|
|
357
357
|
if (defined(imageBasedLighting._specularEnvironmentMaps)) {
|
|
358
|
-
const
|
|
358
|
+
const cubeMap = new SpecularEnvironmentCubeMap(
|
|
359
359
|
imageBasedLighting._specularEnvironmentMaps
|
|
360
360
|
);
|
|
361
|
-
imageBasedLighting.
|
|
361
|
+
imageBasedLighting._specularEnvironmentCubeMap = cubeMap;
|
|
362
362
|
|
|
363
|
-
imageBasedLighting._removeErrorListener =
|
|
363
|
+
imageBasedLighting._removeErrorListener = cubeMap.errorEvent.addEventListener(
|
|
364
364
|
(error) => {
|
|
365
365
|
console.error(`Error loading specularEnvironmentMaps: ${error}`);
|
|
366
366
|
}
|
|
@@ -428,23 +428,23 @@ ImageBasedLighting.prototype.update = function (frameState) {
|
|
|
428
428
|
|
|
429
429
|
this._previousSpecularEnvironmentMapLoaded = this._specularEnvironmentMapLoaded;
|
|
430
430
|
|
|
431
|
-
if (this.
|
|
432
|
-
|
|
433
|
-
this.
|
|
431
|
+
if (this._specularEnvironmentCubeMapDirty) {
|
|
432
|
+
createSpecularEnvironmentCubeMap(this, context);
|
|
433
|
+
this._specularEnvironmentCubeMapDirty = false;
|
|
434
434
|
}
|
|
435
435
|
|
|
436
|
-
if (defined(this.
|
|
437
|
-
this.
|
|
438
|
-
if (this.
|
|
436
|
+
if (defined(this._specularEnvironmentCubeMap)) {
|
|
437
|
+
this._specularEnvironmentCubeMap.update(frameState);
|
|
438
|
+
if (this._specularEnvironmentCubeMap.ready) {
|
|
439
439
|
this._specularEnvironmentMapLoaded = true;
|
|
440
440
|
}
|
|
441
441
|
}
|
|
442
442
|
|
|
443
|
-
const
|
|
444
|
-
!defined(this.
|
|
443
|
+
const recompileWithDefaultCubeMap =
|
|
444
|
+
!defined(this._specularEnvironmentCubeMap) &&
|
|
445
445
|
defined(frameState.specularEnvironmentMaps) &&
|
|
446
446
|
!this._useDefaultSpecularMaps;
|
|
447
|
-
const
|
|
447
|
+
const recompileWithoutDefaultCubeMap =
|
|
448
448
|
!defined(frameState.specularEnvironmentMaps) &&
|
|
449
449
|
this._useDefaultSpecularMaps;
|
|
450
450
|
|
|
@@ -458,13 +458,13 @@ ImageBasedLighting.prototype.update = function (frameState) {
|
|
|
458
458
|
|
|
459
459
|
this._shouldRegenerateShaders =
|
|
460
460
|
this._shouldRegenerateShaders ||
|
|
461
|
-
|
|
462
|
-
|
|
461
|
+
recompileWithDefaultCubeMap ||
|
|
462
|
+
recompileWithoutDefaultCubeMap ||
|
|
463
463
|
recompileWithDefaultSHCoeffs ||
|
|
464
464
|
recompileWithoutDefaultSHCoeffs;
|
|
465
465
|
|
|
466
466
|
this._useDefaultSpecularMaps =
|
|
467
|
-
!defined(this.
|
|
467
|
+
!defined(this._specularEnvironmentCubeMap) &&
|
|
468
468
|
defined(frameState.specularEnvironmentMaps);
|
|
469
469
|
this._useDefaultSphericalHarmonics =
|
|
470
470
|
!defined(this._sphericalHarmonicCoefficients) &&
|
|
@@ -503,9 +503,9 @@ ImageBasedLighting.prototype.isDestroyed = function () {
|
|
|
503
503
|
* @private
|
|
504
504
|
*/
|
|
505
505
|
ImageBasedLighting.prototype.destroy = function () {
|
|
506
|
-
this.
|
|
507
|
-
this.
|
|
508
|
-
this.
|
|
506
|
+
this._specularEnvironmentCubeMap =
|
|
507
|
+
this._specularEnvironmentCubeMap &&
|
|
508
|
+
this._specularEnvironmentCubeMap.destroy();
|
|
509
509
|
this._removeErrorListener =
|
|
510
510
|
this._removeErrorListener && this._removeErrorListener();
|
|
511
511
|
return destroyObject(this);
|
package/Source/Scene/Label.js
CHANGED
|
@@ -102,8 +102,8 @@ function parseFont(label) {
|
|
|
102
102
|
* @property {Cartesian2} [backgroundPadding=new Cartesian2(7, 5)] A {@link Cartesian2} Specifying the horizontal and vertical background padding in pixels.
|
|
103
103
|
* @property {Cartesian2} [pixelOffset=Cartesian2.ZERO] A {@link Cartesian2} specifying the pixel offset in screen space from the origin of this label.
|
|
104
104
|
* @property {Cartesian3} [eyeOffset=Cartesian3.ZERO] A {@link Cartesian3} specifying the 3D Cartesian offset applied to this label in eye coordinates.
|
|
105
|
-
* @property {HorizontalOrigin} [horizontalOrigin=HorizontalOrigin.
|
|
106
|
-
* @property {VerticalOrigin} [verticalOrigin=VerticalOrigin.
|
|
105
|
+
* @property {HorizontalOrigin} [horizontalOrigin=HorizontalOrigin.LEFT] A {@link HorizontalOrigin} specifying the horizontal origin of this label.
|
|
106
|
+
* @property {VerticalOrigin} [verticalOrigin=VerticalOrigin.BASELINE] A {@link VerticalOrigin} specifying the vertical origin of this label.
|
|
107
107
|
* @property {HeightReference} [heightReference=HeightReference.NONE] A {@link HeightReference} specifying the height reference of this label.
|
|
108
108
|
* @property {Color} [fillColor=Color.WHITE] A {@link Color} specifying the fill color of the label.
|
|
109
109
|
* @property {Color} [outlineColor=Color.BLACK] A {@link Color} specifying the outline color of the label.
|
package/Source/Scene/Material.js
CHANGED
|
@@ -34,6 +34,7 @@ import SlopeRampMaterial from "../Shaders/Materials/SlopeRampMaterial.js";
|
|
|
34
34
|
import StripeMaterial from "../Shaders/Materials/StripeMaterial.js";
|
|
35
35
|
import TextureMagnificationFilter from "../Renderer/TextureMagnificationFilter.js";
|
|
36
36
|
import TextureMinificationFilter from "../Renderer/TextureMinificationFilter.js";
|
|
37
|
+
import WaterMaskMaterial from "../Shaders/Materials/WaterMaskMaterial.js";
|
|
37
38
|
import WaterMaterial from "../Shaders/Materials/Water.js";
|
|
38
39
|
|
|
39
40
|
/**
|
|
@@ -219,6 +220,11 @@ import WaterMaterial from "../Shaders/Materials/Water.js";
|
|
|
219
220
|
* <li><code>heights</code>: image of heights sorted from lowest to highest.</li>
|
|
220
221
|
* <li><code>colors</code>: image of colors at the corresponding heights.</li>
|
|
221
222
|
* </ul>
|
|
223
|
+
* <li>WaterMask</li>
|
|
224
|
+
* <ul>
|
|
225
|
+
* <li><code>waterColor</code>: diffuse color and alpha for the areas covered by water.</li>
|
|
226
|
+
* <li><code>landColor</code>: diffuse color and alpha for the areas covered by land.</li>
|
|
227
|
+
* </ul>
|
|
222
228
|
* </ul>
|
|
223
229
|
* </ul>
|
|
224
230
|
* </div>
|
|
@@ -233,7 +239,6 @@ import WaterMaterial from "../Shaders/Materials/Water.js";
|
|
|
233
239
|
* @param {TextureMinificationFilter} [options.minificationFilter=TextureMinificationFilter.LINEAR] The {@link TextureMinificationFilter} to apply to this material's textures.
|
|
234
240
|
* @param {TextureMagnificationFilter} [options.magnificationFilter=TextureMagnificationFilter.LINEAR] The {@link TextureMagnificationFilter} to apply to this material's textures.
|
|
235
241
|
* @param {object} options.fabric The fabric JSON used to generate the material.
|
|
236
|
-
*ructor
|
|
237
242
|
*
|
|
238
243
|
* @exception {DeveloperError} fabric: uniform has invalid type.
|
|
239
244
|
* @exception {DeveloperError} fabric: uniforms and materials cannot share the same property.
|
|
@@ -245,7 +250,6 @@ import WaterMaterial from "../Shaders/Materials/Water.js";
|
|
|
245
250
|
* @exception {DeveloperError} strict: shader source does not use material.
|
|
246
251
|
*
|
|
247
252
|
* @see {@link https://github.com/CesiumGS/cesium/wiki/Fabric|Fabric wiki page} for a more detailed options of Fabric.
|
|
248
|
-
*
|
|
249
253
|
* @demo {@link https://sandcastle.cesium.com/index.html?src=Materials.html|Cesium Sandcastle Materials Demo}
|
|
250
254
|
*
|
|
251
255
|
* @example
|
|
@@ -1739,4 +1743,22 @@ Material._materialCache.addMaterial(Material.ElevationBandType, {
|
|
|
1739
1743
|
translucent: true,
|
|
1740
1744
|
});
|
|
1741
1745
|
|
|
1746
|
+
/**
|
|
1747
|
+
* Gets the name of the water mask material.
|
|
1748
|
+
* @type {string}
|
|
1749
|
+
* @readonly
|
|
1750
|
+
*/
|
|
1751
|
+
Material.WaterMaskType = "WaterMask";
|
|
1752
|
+
Material._materialCache.addMaterial(Material.WaterMaskType, {
|
|
1753
|
+
fabric: {
|
|
1754
|
+
type: Material.WaterMaskType,
|
|
1755
|
+
source: WaterMaskMaterial,
|
|
1756
|
+
uniforms: {
|
|
1757
|
+
waterColor: new Color(1.0, 1.0, 1.0, 1.0),
|
|
1758
|
+
landColor: new Color(0.0, 0.0, 0.0, 0.0),
|
|
1759
|
+
},
|
|
1760
|
+
},
|
|
1761
|
+
translucent: false,
|
|
1762
|
+
});
|
|
1763
|
+
|
|
1742
1764
|
export default Material;
|
|
@@ -2,7 +2,7 @@ import combine from "../../Core/combine.js";
|
|
|
2
2
|
import defined from "../../Core/defined.js";
|
|
3
3
|
import ImageBasedLightingStageFS from "../../Shaders/Model/ImageBasedLightingStageFS.js";
|
|
4
4
|
import ShaderDestination from "../../Renderer/ShaderDestination.js";
|
|
5
|
-
import
|
|
5
|
+
import SpecularEnvironmentCubeMap from "../SpecularEnvironmentCubeMap.js";
|
|
6
6
|
|
|
7
7
|
const ImageBasedLightingPipelineStage = {
|
|
8
8
|
name: "ImageBasedLightingPipelineStage", // Helps with debugging
|
|
@@ -34,7 +34,7 @@ ImageBasedLightingPipelineStage.process = function (
|
|
|
34
34
|
ShaderDestination.FRAGMENT
|
|
35
35
|
);
|
|
36
36
|
|
|
37
|
-
if (
|
|
37
|
+
if (SpecularEnvironmentCubeMap.isSupported(frameState.context)) {
|
|
38
38
|
const addMatrix =
|
|
39
39
|
imageBasedLighting.useSphericalHarmonics ||
|
|
40
40
|
imageBasedLighting.useSpecularEnvironmentMaps ||
|
|
@@ -72,8 +72,8 @@ ImageBasedLightingPipelineStage.process = function (
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
if (
|
|
75
|
-
defined(imageBasedLighting.
|
|
76
|
-
imageBasedLighting.
|
|
75
|
+
defined(imageBasedLighting.specularEnvironmentCubeMap) &&
|
|
76
|
+
imageBasedLighting.specularEnvironmentCubeMap.ready
|
|
77
77
|
) {
|
|
78
78
|
shaderBuilder.addDefine(
|
|
79
79
|
"SPECULAR_IBL",
|
|
@@ -86,15 +86,10 @@ ImageBasedLightingPipelineStage.process = function (
|
|
|
86
86
|
ShaderDestination.FRAGMENT
|
|
87
87
|
);
|
|
88
88
|
shaderBuilder.addUniform(
|
|
89
|
-
"
|
|
89
|
+
"samplerCube",
|
|
90
90
|
"model_specularEnvironmentMaps",
|
|
91
91
|
ShaderDestination.FRAGMENT
|
|
92
92
|
);
|
|
93
|
-
shaderBuilder.addUniform(
|
|
94
|
-
"vec2",
|
|
95
|
-
"model_specularEnvironmentMapsSize",
|
|
96
|
-
ShaderDestination.FRAGMENT
|
|
97
|
-
);
|
|
98
93
|
shaderBuilder.addUniform(
|
|
99
94
|
"float",
|
|
100
95
|
"model_specularEnvironmentMapsMaximumLOD",
|
|
@@ -138,13 +133,10 @@ ImageBasedLightingPipelineStage.process = function (
|
|
|
138
133
|
return imageBasedLighting.sphericalHarmonicCoefficients;
|
|
139
134
|
},
|
|
140
135
|
model_specularEnvironmentMaps: function () {
|
|
141
|
-
return imageBasedLighting.
|
|
142
|
-
},
|
|
143
|
-
model_specularEnvironmentMapsSize: function () {
|
|
144
|
-
return imageBasedLighting.specularEnvironmentMapAtlas.texture.dimensions;
|
|
136
|
+
return imageBasedLighting.specularEnvironmentCubeMap.texture;
|
|
145
137
|
},
|
|
146
138
|
model_specularEnvironmentMapsMaximumLOD: function () {
|
|
147
|
-
return imageBasedLighting.
|
|
139
|
+
return imageBasedLighting.specularEnvironmentCubeMap.maximumMipmapLevel;
|
|
148
140
|
},
|
|
149
141
|
};
|
|
150
142
|
|