@cesium/engine 2.4.0 → 3.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/{Color-e5bfda3f.js → Color-8e135f71.js} +4 -4
- package/Build/Workers/cesiumWorkerBootstrapper.js +1 -1
- package/Build/Workers/createPolylineGeometry.js +1 -1
- package/Build/Workers/createSimplePolylineGeometry.js +1 -1
- package/Build/Workers/createVectorTileGeometries.js +1 -1
- package/Build/Workers/createVectorTilePolygons.js +1 -1
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +0 -22
- package/Build/Workers/package.js +1 -1
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +0 -75
- package/Source/Core/CesiumTerrainProvider.js +25 -75
- package/Source/Core/Color.js +4 -4
- package/Source/Core/CustomHeightmapTerrainProvider.js +0 -38
- package/Source/Core/EllipsoidTerrainProvider.js +0 -37
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +0 -53
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +1 -101
- package/Source/Core/GoogleMaps.js +1 -1
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/TerrainProvider.js +0 -22
- package/Source/Core/VRTheWorldTerrainProvider.js +0 -59
- package/Source/Core/sampleTerrain.js +0 -3
- package/Source/Core/sampleTerrainMostDetailed.js +0 -3
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -5
- package/Source/DataSources/DataSourceDisplay.js +3 -2
- package/Source/DataSources/Entity.js +2 -3
- package/Source/DataSources/KmlTour.js +1 -12
- package/Source/DataSources/ModelVisualizer.js +0 -7
- package/Source/Renderer/Context.js +10 -2
- package/Source/Renderer/demodernizeShader.js +3 -0
- package/Source/Scene/ArcGisMapServerImageryProvider.js +7 -335
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/Billboard.js +7 -7
- package/Source/Scene/BingMapsImageryProvider.js +0 -326
- package/Source/Scene/Camera.js +1 -1
- package/Source/Scene/Cesium3DTile.js +4 -5
- package/Source/Scene/Cesium3DTileBatchTable.js +0 -3
- package/Source/Scene/Cesium3DTileContent.js +0 -16
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +0 -123
- package/Source/Scene/Cesium3DTileset.js +183 -184
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +1 -1
- package/Source/Scene/Cesium3DTilesetCache.js +1 -3
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +5 -2
- package/Source/Scene/Cesium3DTilesetTraversal.js +2 -2
- package/Source/Scene/ClassificationPrimitive.js +5 -43
- package/Source/Scene/Composite3DTileContent.js +0 -27
- package/Source/Scene/CreditDisplay.js +0 -54
- package/Source/Scene/DerivedCommand.js +15 -10
- package/Source/Scene/Empty3DTileContent.js +0 -21
- package/Source/Scene/Geometry3DTileContent.js +0 -29
- package/Source/Scene/Globe.js +0 -4
- package/Source/Scene/GlobeSurfaceTile.js +13 -2
- package/Source/Scene/GlobeSurfaceTileProvider.js +10 -37
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +27 -0
- package/Source/Scene/GltfPipeline/updateVersion.js +21 -4
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +1 -339
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +0 -326
- package/Source/Scene/GridImageryProvider.js +0 -274
- package/Source/Scene/GroundPolylinePrimitive.js +5 -38
- package/Source/Scene/GroundPrimitive.js +5 -43
- package/Source/Scene/I3SDataProvider.js +4 -99
- package/Source/Scene/I3SLayer.js +15 -22
- package/Source/Scene/Imagery.js +1 -6
- package/Source/Scene/ImageryLayer.js +1 -30
- package/Source/Scene/ImageryProvider.js +0 -138
- package/Source/Scene/Implicit3DTileContent.js +0 -23
- package/Source/Scene/IonImageryProvider.js +1 -369
- package/Source/Scene/MapboxImageryProvider.js +0 -276
- package/Source/Scene/MapboxStyleImageryProvider.js +0 -274
- package/Source/Scene/Model/CustomShader.js +1 -1
- package/Source/Scene/Model/Model.js +6 -249
- package/Source/Scene/Model/Model3DTileContent.js +0 -50
- package/Source/Scene/Model/ModelAnimationCollection.js +1 -1
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -1
- package/Source/Scene/Multiple3DTileContent.js +0 -27
- package/Source/Scene/Primitive.js +10 -38
- package/Source/Scene/QuadtreePrimitive.js +3 -5
- package/Source/Scene/QuadtreeTileProvider.js +0 -10
- package/Source/Scene/Scene.js +3 -3
- package/Source/Scene/ScreenSpaceCameraController.js +7 -6
- package/Source/Scene/SingleTileImageryProvider.js +6 -302
- package/Source/Scene/TileCoordinatesImageryProvider.js +0 -273
- package/Source/Scene/TileMapServiceImageryProvider.js +3 -48
- package/Source/Scene/Tileset3DTileContent.js +0 -22
- package/Source/Scene/TimeDynamicPointCloud.js +0 -28
- package/Source/Scene/UrlTemplateImageryProvider.js +0 -375
- package/Source/Scene/Vector3DTileContent.js +0 -29
- package/Source/Scene/VoxelPrimitive.js +9 -49
- package/Source/Scene/VoxelProvider.js +0 -24
- package/Source/Scene/WebMapServiceImageryProvider.js +0 -274
- package/Source/Scene/WebMapTileServiceImageryProvider.js +0 -274
- package/Source/Scene/computeFlyToLocationForRectangle.js +0 -2
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +5 -0
- package/Source/Shaders/BillboardCollectionFS.glsl +0 -4
- package/Source/Shaders/BillboardCollectionFS.js +1 -5
- package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +0 -3
- package/Source/Shaders/Builtin/Functions/writeLogDepth.js +0 -3
- package/Source/Shaders/Materials/ElevationContourMaterial.glsl +0 -4
- package/Source/Shaders/Materials/ElevationContourMaterial.js +1 -5
- package/Source/Shaders/Materials/GridMaterial.glsl +0 -4
- package/Source/Shaders/Materials/GridMaterial.js +1 -5
- package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +0 -4
- package/Source/Shaders/Materials/PolylineArrowMaterial.js +1 -5
- package/Source/Shaders/Model/ModelFS.glsl +0 -6
- package/Source/Shaders/Model/ModelFS.js +1 -7
- package/Source/Widget/CesiumWidget.js +2 -19
- package/index.d.ts +69 -1190
- package/index.js +95 -98
- package/package.json +3 -3
- package/Source/Core/createWorldTerrain.js +0 -60
- package/Source/Scene/createOsmBuildings.js +0 -81
- package/Source/Scene/createWorldImagery.js +0 -47
|
@@ -4,7 +4,6 @@ import Check from "../Core/Check.js";
|
|
|
4
4
|
import Credit from "../Core/Credit.js";
|
|
5
5
|
import defaultValue from "../Core/defaultValue.js";
|
|
6
6
|
import defined from "../Core/defined.js";
|
|
7
|
-
import deprecationWarning from "../Core/deprecationWarning.js";
|
|
8
7
|
import destroyObject from "../Core/destroyObject.js";
|
|
9
8
|
import Uri from "urijs";
|
|
10
9
|
|
|
@@ -424,21 +423,6 @@ function setCredit(creditDisplay, credits, credit, count) {
|
|
|
424
423
|
creditDisplayElement.count += count;
|
|
425
424
|
}
|
|
426
425
|
}
|
|
427
|
-
/**
|
|
428
|
-
* Adds a credit to the list of current credits to be displayed in the credit container
|
|
429
|
-
* for the next frame
|
|
430
|
-
*
|
|
431
|
-
* @param {Credit} credit The credit to display
|
|
432
|
-
* @deprecated
|
|
433
|
-
*/
|
|
434
|
-
CreditDisplay.prototype.addCredit = function (credit) {
|
|
435
|
-
deprecationWarning(
|
|
436
|
-
"CreditDisplay.addCredit",
|
|
437
|
-
"CreditDisplay.addCredit was deprecated in CesiumJS 1.105. It will be removed in CesiumJS 1.107. Use CreditDisplay.addCreditToNextFrame instead."
|
|
438
|
-
);
|
|
439
|
-
|
|
440
|
-
this.addCreditToNextFrame(credit);
|
|
441
|
-
};
|
|
442
426
|
|
|
443
427
|
/**
|
|
444
428
|
* Adds a {@link Credit} that will show on screen or in the lightbox until
|
|
@@ -473,30 +457,6 @@ CreditDisplay.prototype.addCreditToNextFrame = function (credit) {
|
|
|
473
457
|
setCredit(this, credits, credit);
|
|
474
458
|
};
|
|
475
459
|
|
|
476
|
-
/**
|
|
477
|
-
* Adds credits that will persist until they are removed
|
|
478
|
-
*
|
|
479
|
-
* @param {Credit} credit The credit to added to defaults
|
|
480
|
-
*
|
|
481
|
-
* @deprecated
|
|
482
|
-
*/
|
|
483
|
-
CreditDisplay.prototype.addDefaultCredit = function (credit) {
|
|
484
|
-
//>>includeStart('debug', pragmas.debug);
|
|
485
|
-
Check.defined("credit", credit);
|
|
486
|
-
//>>includeEnd('debug');
|
|
487
|
-
|
|
488
|
-
deprecationWarning(
|
|
489
|
-
"CreditDisplay.addDefaultCredit",
|
|
490
|
-
"CreditDisplay.addDefaultCredit was deprecated in CesiumJS 1.105. It will be removed in CesiumJS 1.107. Use CreditDisplay.addStaticCredit instead."
|
|
491
|
-
);
|
|
492
|
-
|
|
493
|
-
const defaultCredits = this._staticCredits;
|
|
494
|
-
if (!contains(defaultCredits, credit)) {
|
|
495
|
-
credit.showOnScreen = true;
|
|
496
|
-
defaultCredits.push(credit);
|
|
497
|
-
}
|
|
498
|
-
};
|
|
499
|
-
|
|
500
460
|
/**
|
|
501
461
|
* Adds a {@link Credit} that will show on screen or in the lightbox until removed with {@link CreditDisplay.removeStaticCredit}.
|
|
502
462
|
*
|
|
@@ -540,20 +500,6 @@ CreditDisplay.prototype.removeStaticCredit = function (credit) {
|
|
|
540
500
|
}
|
|
541
501
|
};
|
|
542
502
|
|
|
543
|
-
/**
|
|
544
|
-
* Removes a default credit.
|
|
545
|
-
*
|
|
546
|
-
* @param {Credit} credit The credit to be removed from defaults
|
|
547
|
-
*/
|
|
548
|
-
CreditDisplay.prototype.removeDefaultCredit = function (credit) {
|
|
549
|
-
deprecationWarning(
|
|
550
|
-
"CreditDisplay.removeDefaultCredit",
|
|
551
|
-
"CreditDisplay.removeDefaultCredit was deprecated in CesiumJS 1.105. It will be removed in CesiumJS 1.107. Use CreditDisplay.addStaticCredit instead."
|
|
552
|
-
);
|
|
553
|
-
|
|
554
|
-
this.removeStaticCredit(credit);
|
|
555
|
-
};
|
|
556
|
-
|
|
557
503
|
/**
|
|
558
504
|
* @private
|
|
559
505
|
*/
|
|
@@ -278,16 +278,21 @@ function getPickShaderProgram(context, shaderProgram, pickId) {
|
|
|
278
278
|
const sources = fs.sources;
|
|
279
279
|
const length = sources.length;
|
|
280
280
|
|
|
281
|
-
const
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
281
|
+
const hasFragData = sources.some((source) =>
|
|
282
|
+
source.includes("out_FragData")
|
|
283
|
+
);
|
|
284
|
+
const outputColorVariable = hasFragData
|
|
285
|
+
? "out_FragData_0"
|
|
286
|
+
: "out_FragColor";
|
|
287
|
+
const newMain = `void main ()
|
|
288
|
+
{
|
|
289
|
+
czm_non_pick_main();
|
|
290
|
+
if (${outputColorVariable}.a == 0.0) {
|
|
291
|
+
discard;
|
|
292
|
+
}
|
|
293
|
+
${outputColorVariable} = ${pickId};
|
|
294
|
+
} `;
|
|
295
|
+
|
|
291
296
|
const newSources = new Array(length + 1);
|
|
292
297
|
for (let i = 0; i < length; ++i) {
|
|
293
298
|
newSources[i] = ShaderSource.replaceMain(sources[i], "czm_non_pick_main");
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import deprecationWarning from "../Core/deprecationWarning.js";
|
|
2
1
|
import destroyObject from "../Core/destroyObject.js";
|
|
3
2
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
4
3
|
|
|
@@ -80,26 +79,6 @@ Object.defineProperties(Empty3DTileContent.prototype, {
|
|
|
80
79
|
},
|
|
81
80
|
},
|
|
82
81
|
|
|
83
|
-
/**
|
|
84
|
-
* Gets the promise that will be resolved when the tile's content is ready to render.
|
|
85
|
-
*
|
|
86
|
-
* @memberof Empty3DTileContent.prototype
|
|
87
|
-
*
|
|
88
|
-
* @type {Promise<Empty3DTileContent>}
|
|
89
|
-
* @readonly
|
|
90
|
-
* @deprecated
|
|
91
|
-
* @private
|
|
92
|
-
*/
|
|
93
|
-
readyPromise: {
|
|
94
|
-
get: function () {
|
|
95
|
-
deprecationWarning(
|
|
96
|
-
"Empty3DTileContent.readyPromise",
|
|
97
|
-
"Empty3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Empty3DTileContent.ready to return true instead."
|
|
98
|
-
);
|
|
99
|
-
return Promise.resolve(this);
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
|
|
103
82
|
tileset: {
|
|
104
83
|
get: function () {
|
|
105
84
|
return this._tileset;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import Cartesian3 from "../Core/Cartesian3.js";
|
|
2
2
|
import defaultValue from "../Core/defaultValue.js";
|
|
3
3
|
import defined from "../Core/defined.js";
|
|
4
|
-
import deprecationWarning from "../Core/deprecationWarning.js";
|
|
5
4
|
import destroyObject from "../Core/destroyObject.js";
|
|
6
5
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
7
6
|
import getJsonFromTypedArray from "../Core/getJsonFromTypedArray.js";
|
|
@@ -45,12 +44,6 @@ function Geometry3DTileContent(
|
|
|
45
44
|
|
|
46
45
|
this._ready = false;
|
|
47
46
|
|
|
48
|
-
// This is for backwards compatibility. It can be removed once readyPromise is removed.
|
|
49
|
-
this._resolveContent = undefined;
|
|
50
|
-
this._readyPromise = new Promise((resolve) => {
|
|
51
|
-
this._resolveContent = resolve;
|
|
52
|
-
});
|
|
53
|
-
|
|
54
47
|
initialize(this, arrayBuffer, byteOffset);
|
|
55
48
|
}
|
|
56
49
|
|
|
@@ -120,26 +113,6 @@ Object.defineProperties(Geometry3DTileContent.prototype, {
|
|
|
120
113
|
},
|
|
121
114
|
},
|
|
122
115
|
|
|
123
|
-
/**
|
|
124
|
-
* Gets the promise that will be resolved when the tile's content is ready to render.
|
|
125
|
-
*
|
|
126
|
-
* @memberof Geometry3DTileContent.prototype
|
|
127
|
-
*
|
|
128
|
-
* @type {Promise<Geometry3DTileContent>}
|
|
129
|
-
* @readonly
|
|
130
|
-
* @deprecated
|
|
131
|
-
* @private
|
|
132
|
-
*/
|
|
133
|
-
readyPromise: {
|
|
134
|
-
get: function () {
|
|
135
|
-
deprecationWarning(
|
|
136
|
-
"Geometry3DTileContent.readyPromise",
|
|
137
|
-
"Geometry3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Geometry3DTileContent.ready to return true instead."
|
|
138
|
-
);
|
|
139
|
-
return this._readyPromise;
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
|
|
143
116
|
tileset: {
|
|
144
117
|
get: function () {
|
|
145
118
|
return this._tileset;
|
|
@@ -329,7 +302,6 @@ function initialize(content, arrayBuffer, byteOffset) {
|
|
|
329
302
|
|
|
330
303
|
if (byteLength === 0) {
|
|
331
304
|
content._ready = true;
|
|
332
|
-
content._resolveContent(content);
|
|
333
305
|
return;
|
|
334
306
|
}
|
|
335
307
|
|
|
@@ -550,7 +522,6 @@ Geometry3DTileContent.prototype.update = function (tileset, frameState) {
|
|
|
550
522
|
if (defined(this._batchTable) && this._geometries.ready) {
|
|
551
523
|
this._batchTable.update(tileset, frameState);
|
|
552
524
|
this._ready = true;
|
|
553
|
-
this._resolveContent(this);
|
|
554
525
|
}
|
|
555
526
|
};
|
|
556
527
|
|
package/Source/Scene/Globe.js
CHANGED
|
@@ -436,8 +436,6 @@ Object.defineProperties(Globe.prototype, {
|
|
|
436
436
|
return true;
|
|
437
437
|
}
|
|
438
438
|
return (
|
|
439
|
-
// ready is deprecated. This is here for backwards compatibility
|
|
440
|
-
this._surface.tileProvider.ready &&
|
|
441
439
|
this._surface._tileLoadQueueHigh.length === 0 &&
|
|
442
440
|
this._surface._tileLoadQueueMedium.length === 0 &&
|
|
443
441
|
this._surface._tileLoadQueueLow.length === 0
|
|
@@ -987,8 +985,6 @@ Globe.prototype.beginFrame = function (frameState) {
|
|
|
987
985
|
this.showWaterEffect &&
|
|
988
986
|
defined(terrainProvider) &&
|
|
989
987
|
terrainProvider.hasWaterMask &&
|
|
990
|
-
// ready is deprecated; This is here for backwards compatibility
|
|
991
|
-
terrainProvider._ready &&
|
|
992
988
|
terrainProvider.hasWaterMask;
|
|
993
989
|
|
|
994
990
|
if (hasWaterMask && this._oceanNormalMapResourceDirty) {
|
|
@@ -345,8 +345,7 @@ GlobeSurfaceTile.prototype.processImagery = function (
|
|
|
345
345
|
|
|
346
346
|
if (tileImagery.loadingImagery.state === ImageryState.PLACEHOLDER) {
|
|
347
347
|
const imageryLayer = tileImagery.loadingImagery.imageryLayer;
|
|
348
|
-
|
|
349
|
-
if (imageryLayer.ready && imageryLayer.imageryProvider._ready) {
|
|
348
|
+
if (imageryLayer.ready) {
|
|
350
349
|
// Remove the placeholder and add the actual skeletons (if any)
|
|
351
350
|
// at the same position. Then continue the loop at the same index.
|
|
352
351
|
tileImagery.freeResources();
|
|
@@ -680,6 +679,11 @@ function upsample(surfaceTile, tile, frameState, terrainProvider, x, y, level) {
|
|
|
680
679
|
|
|
681
680
|
Promise.resolve(terrainDataPromise)
|
|
682
681
|
.then(function (terrainData) {
|
|
682
|
+
if (!defined(terrainData)) {
|
|
683
|
+
// The upsample request has been deferred - try again later.
|
|
684
|
+
return;
|
|
685
|
+
}
|
|
686
|
+
|
|
683
687
|
surfaceTile.terrainData = terrainData;
|
|
684
688
|
surfaceTile.terrainState = TerrainState.RECEIVED;
|
|
685
689
|
})
|
|
@@ -690,6 +694,13 @@ function upsample(surfaceTile, tile, frameState, terrainProvider, x, y, level) {
|
|
|
690
694
|
|
|
691
695
|
function requestTileGeometry(surfaceTile, terrainProvider, x, y, level) {
|
|
692
696
|
function success(terrainData) {
|
|
697
|
+
if (!defined(terrainData)) {
|
|
698
|
+
// Throttled due to low priority - try again later.
|
|
699
|
+
surfaceTile.terrainState = TerrainState.UNLOADED;
|
|
700
|
+
surfaceTile.request = undefined;
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
703
|
+
|
|
693
704
|
surfaceTile.terrainData = terrainData;
|
|
694
705
|
surfaceTile.terrainState = TerrainState.RECEIVED;
|
|
695
706
|
surfaceTile.request = undefined;
|
|
@@ -229,26 +229,6 @@ Object.defineProperties(GlobeSurfaceTileProvider.prototype, {
|
|
|
229
229
|
},
|
|
230
230
|
},
|
|
231
231
|
|
|
232
|
-
/**
|
|
233
|
-
* Gets a value indicating whether or not the provider is ready for use.
|
|
234
|
-
* @memberof GlobeSurfaceTileProvider.prototype
|
|
235
|
-
* @type {boolean}
|
|
236
|
-
* @deprecated
|
|
237
|
-
*/
|
|
238
|
-
ready: {
|
|
239
|
-
get: function () {
|
|
240
|
-
return (
|
|
241
|
-
defined(this._terrainProvider) &&
|
|
242
|
-
// TerrainProvider.ready is deprecated; This is here for backwards compatibility
|
|
243
|
-
this._terrainProvider._ready &&
|
|
244
|
-
(this._imageryLayers.length === 0 ||
|
|
245
|
-
// ImageryProvider.ready is deprecated; This is here for backwards compatibility
|
|
246
|
-
(this._imageryLayers.get(0).ready &&
|
|
247
|
-
this._imageryLayers.get(0).imageryProvider._ready))
|
|
248
|
-
);
|
|
249
|
-
},
|
|
250
|
-
},
|
|
251
|
-
|
|
252
232
|
/**
|
|
253
233
|
* Gets the tiling scheme used by the provider.
|
|
254
234
|
* @memberof GlobeSurfaceTileProvider.prototype
|
|
@@ -256,6 +236,10 @@ Object.defineProperties(GlobeSurfaceTileProvider.prototype, {
|
|
|
256
236
|
*/
|
|
257
237
|
tilingScheme: {
|
|
258
238
|
get: function () {
|
|
239
|
+
if (!defined(this._terrainProvider)) {
|
|
240
|
+
return undefined;
|
|
241
|
+
}
|
|
242
|
+
|
|
259
243
|
return this._terrainProvider.tilingScheme;
|
|
260
244
|
},
|
|
261
245
|
},
|
|
@@ -346,24 +330,15 @@ GlobeSurfaceTileProvider.prototype.update = function (frameState) {
|
|
|
346
330
|
|
|
347
331
|
function updateCredits(surface, frameState) {
|
|
348
332
|
const creditDisplay = frameState.creditDisplay;
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
surface._terrainProvider._ready &&
|
|
353
|
-
defined(surface._terrainProvider.credit)
|
|
354
|
-
) {
|
|
355
|
-
creditDisplay.addCreditToNextFrame(surface._terrainProvider.credit);
|
|
333
|
+
const terrainProvider = surface._terrainProvider;
|
|
334
|
+
if (defined(terrainProvider) && defined(terrainProvider.credit)) {
|
|
335
|
+
creditDisplay.addCreditToNextFrame(terrainProvider.credit);
|
|
356
336
|
}
|
|
357
337
|
|
|
358
338
|
const imageryLayers = surface._imageryLayers;
|
|
359
339
|
for (let i = 0, len = imageryLayers.length; i < len; ++i) {
|
|
360
340
|
const layer = imageryLayers.get(i);
|
|
361
|
-
|
|
362
|
-
if (
|
|
363
|
-
layer.ready &&
|
|
364
|
-
layer.imageryProvider._ready &&
|
|
365
|
-
defined(layer.imageryProvider.credit)
|
|
366
|
-
) {
|
|
341
|
+
if (layer.ready && layer.show && defined(layer.imageryProvider.credit)) {
|
|
367
342
|
creditDisplay.addCreditToNextFrame(layer.imageryProvider.credit);
|
|
368
343
|
}
|
|
369
344
|
}
|
|
@@ -2144,11 +2119,9 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2144
2119
|
tileProvider.hasWaterMask && defined(waterMaskTexture);
|
|
2145
2120
|
const oceanNormalMap = tileProvider.oceanNormalMap;
|
|
2146
2121
|
const showOceanWaves = showReflectiveOcean && defined(oceanNormalMap);
|
|
2122
|
+
const terrainProvider = tileProvider.terrainProvider;
|
|
2147
2123
|
const hasVertexNormals =
|
|
2148
|
-
defined(
|
|
2149
|
-
// ready is deprecated; This is here for backwards compatibility
|
|
2150
|
-
tileProvider.terrainProvider._ready &&
|
|
2151
|
-
tileProvider.terrainProvider.hasVertexNormals;
|
|
2124
|
+
defined(terrainProvider) && tileProvider.terrainProvider.hasVertexNormals;
|
|
2152
2125
|
const enableFog =
|
|
2153
2126
|
frameState.fog.enabled && frameState.fog.renderable && !cameraUnderground;
|
|
2154
2127
|
const showGroundAtmosphere =
|
|
@@ -106,6 +106,15 @@ Remove.accessor = function (gltf, accessorId) {
|
|
|
106
106
|
if (defined(indices) && indices > accessorId) {
|
|
107
107
|
primitive.indices--;
|
|
108
108
|
}
|
|
109
|
+
|
|
110
|
+
const ext = primitive.extensions;
|
|
111
|
+
if (
|
|
112
|
+
defined(ext) &&
|
|
113
|
+
defined(ext.CESIUM_primitive_outline) &&
|
|
114
|
+
ext.CESIUM_primitive_outline.indices > accessorId
|
|
115
|
+
) {
|
|
116
|
+
--ext.CESIUM_primitive_outline.indices;
|
|
117
|
+
}
|
|
109
118
|
});
|
|
110
119
|
});
|
|
111
120
|
|
|
@@ -546,6 +555,24 @@ getListOfElementsIdsInUse.accessor = function (gltf) {
|
|
|
546
555
|
});
|
|
547
556
|
}
|
|
548
557
|
|
|
558
|
+
if (usesExtension(gltf, "CESIUM_primitive_outline")) {
|
|
559
|
+
ForEach.mesh(gltf, function (mesh) {
|
|
560
|
+
ForEach.meshPrimitive(mesh, function (primitive) {
|
|
561
|
+
const extensions = primitive.extensions;
|
|
562
|
+
if (
|
|
563
|
+
defined(extensions) &&
|
|
564
|
+
defined(extensions.CESIUM_primitive_outline)
|
|
565
|
+
) {
|
|
566
|
+
const extension = extensions.CESIUM_primitive_outline;
|
|
567
|
+
const indicesAccessorId = extension.indices;
|
|
568
|
+
if (defined(indicesAccessorId)) {
|
|
569
|
+
usedAccessorIds[indicesAccessorId] = true;
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
});
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
|
|
549
576
|
return usedAccessorIds;
|
|
550
577
|
};
|
|
551
578
|
|
|
@@ -33,6 +33,8 @@ const updateFunctions = {
|
|
|
33
33
|
* @param {object} gltf A javascript object containing a glTF asset.
|
|
34
34
|
* @param {object} [options] Options for updating the glTF.
|
|
35
35
|
* @param {string} [options.targetVersion] The glTF will be upgraded until it hits the specified version.
|
|
36
|
+
* @param {string[]} [options.baseColorTextureNames] Names of uniforms that indicate base color textures.
|
|
37
|
+
* @param {string[]} [options.baseColorFactorNames] Names of uniforms that indicate base color factors.
|
|
36
38
|
* @returns {object} The updated glTF asset.
|
|
37
39
|
*
|
|
38
40
|
* @private
|
|
@@ -73,7 +75,7 @@ function updateVersion(gltf, options) {
|
|
|
73
75
|
}
|
|
74
76
|
|
|
75
77
|
if (!options.keepLegacyExtensions) {
|
|
76
|
-
convertTechniquesToPbr(gltf);
|
|
78
|
+
convertTechniquesToPbr(gltf, options);
|
|
77
79
|
convertMaterialsCommonToPbr(gltf);
|
|
78
80
|
}
|
|
79
81
|
|
|
@@ -1003,8 +1005,13 @@ function glTF10to20(gltf) {
|
|
|
1003
1005
|
// It's not possible to upgrade glTF 1.0 shaders to 2.0 PBR materials in a generic way,
|
|
1004
1006
|
// but we can look for certain uniform names that are commonly found in glTF 1.0 assets
|
|
1005
1007
|
// and create PBR materials out of those.
|
|
1006
|
-
const
|
|
1007
|
-
|
|
1008
|
+
const defaultBaseColorTextureNames = [
|
|
1009
|
+
"u_tex",
|
|
1010
|
+
"u_diffuse",
|
|
1011
|
+
"u_emission",
|
|
1012
|
+
"u_diffuse_tex",
|
|
1013
|
+
];
|
|
1014
|
+
const defaultBaseColorFactorNames = ["u_diffuse", "u_diffuse_mat"];
|
|
1008
1015
|
|
|
1009
1016
|
function initializePbrMaterial(material) {
|
|
1010
1017
|
material.pbrMetallicRoughness = defined(material.pbrMetallicRoughness)
|
|
@@ -1044,7 +1051,17 @@ function srgbToLinear(srgb) {
|
|
|
1044
1051
|
return linear;
|
|
1045
1052
|
}
|
|
1046
1053
|
|
|
1047
|
-
function convertTechniquesToPbr(gltf) {
|
|
1054
|
+
function convertTechniquesToPbr(gltf, options) {
|
|
1055
|
+
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
1056
|
+
const baseColorTextureNames = defaultValue(
|
|
1057
|
+
options.baseColorTextureNames,
|
|
1058
|
+
defaultBaseColorTextureNames
|
|
1059
|
+
);
|
|
1060
|
+
const baseColorFactorNames = defaultValue(
|
|
1061
|
+
options.baseColorFactorNames,
|
|
1062
|
+
defaultBaseColorFactorNames
|
|
1063
|
+
);
|
|
1064
|
+
|
|
1048
1065
|
// Future work: convert other values like emissive, specular, etc. Only handling diffuse right now.
|
|
1049
1066
|
ForEach.material(gltf, function (material) {
|
|
1050
1067
|
ForEach.materialValue(material, function (value, name) {
|