@cesium/engine 2.4.1 → 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/cesiumWorkerBootstrapper.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 +0 -75
- 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 -2
- package/Source/Core/TerrainProvider.js +0 -22
- package/Source/Core/VRTheWorldTerrainProvider.js +0 -59
- package/Source/Core/sampleTerrain.js +0 -7
- package/Source/Core/sampleTerrainMostDetailed.js +0 -7
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -5
- package/Source/DataSources/KmlTour.js +1 -12
- package/Source/DataSources/ModelVisualizer.js +0 -12
- package/Source/Renderer/Context.js +10 -2
- package/Source/Scene/ArcGisMapServerImageryProvider.js +7 -335
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/Billboard.js +7 -0
- package/Source/Scene/BingMapsImageryProvider.js +0 -326
- package/Source/Scene/Camera.js +1 -1
- package/Source/Scene/Cesium3DTile.js +4 -5
- 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 +1 -9
- package/Source/Scene/GlobeSurfaceTile.js +13 -8
- package/Source/Scene/GlobeSurfaceTileProvider.js +8 -60
- 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 -9
- package/Source/Scene/ImageryLayer.js +1 -40
- 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/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 +5 -5
- 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 -6
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +5 -0
- package/Source/Widget/CesiumWidget.js +2 -19
- package/index.d.ts +62 -1183
- package/index.js +54 -57
- package/package.json +2 -2
- package/Source/Core/createWorldTerrain.js +0 -61
- package/Source/Scene/createOsmBuildings.js +0 -82
- 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
|
|
@@ -983,15 +981,9 @@ Globe.prototype.beginFrame = function (frameState) {
|
|
|
983
981
|
const surface = this._surface;
|
|
984
982
|
const tileProvider = surface.tileProvider;
|
|
985
983
|
const terrainProvider = this.terrainProvider;
|
|
986
|
-
// ready is deprecated; This is here for backwards compatibility
|
|
987
|
-
const terrainReady =
|
|
988
|
-
defined(terrainProvider) &&
|
|
989
|
-
(defined(terrainProvider._ready)
|
|
990
|
-
? terrainProvider._ready
|
|
991
|
-
: !defined(terrainProvider.ready) || terrainProvider.ready);
|
|
992
984
|
const hasWaterMask =
|
|
993
985
|
this.showWaterEffect &&
|
|
994
|
-
|
|
986
|
+
defined(terrainProvider) &&
|
|
995
987
|
terrainProvider.hasWaterMask &&
|
|
996
988
|
terrainProvider.hasWaterMask;
|
|
997
989
|
|
|
@@ -345,14 +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
|
-
const imageryProvider = imageryLayer.imageryProvider;
|
|
350
|
-
if (
|
|
351
|
-
imageryLayer.ready &&
|
|
352
|
-
(defined(imageryProvider._ready)
|
|
353
|
-
? imageryProvider._ready
|
|
354
|
-
: !defined(imageryProvider.ready) || imageryProvider.ready)
|
|
355
|
-
) {
|
|
348
|
+
if (imageryLayer.ready) {
|
|
356
349
|
// Remove the placeholder and add the actual skeletons (if any)
|
|
357
350
|
// at the same position. Then continue the loop at the same index.
|
|
358
351
|
tileImagery.freeResources();
|
|
@@ -686,6 +679,11 @@ function upsample(surfaceTile, tile, frameState, terrainProvider, x, y, level) {
|
|
|
686
679
|
|
|
687
680
|
Promise.resolve(terrainDataPromise)
|
|
688
681
|
.then(function (terrainData) {
|
|
682
|
+
if (!defined(terrainData)) {
|
|
683
|
+
// The upsample request has been deferred - try again later.
|
|
684
|
+
return;
|
|
685
|
+
}
|
|
686
|
+
|
|
689
687
|
surfaceTile.terrainData = terrainData;
|
|
690
688
|
surfaceTile.terrainState = TerrainState.RECEIVED;
|
|
691
689
|
})
|
|
@@ -696,6 +694,13 @@ function upsample(surfaceTile, tile, frameState, terrainProvider, x, y, level) {
|
|
|
696
694
|
|
|
697
695
|
function requestTileGeometry(surfaceTile, terrainProvider, x, y, level) {
|
|
698
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
|
+
|
|
699
704
|
surfaceTile.terrainData = terrainData;
|
|
700
705
|
surfaceTile.terrainState = TerrainState.RECEIVED;
|
|
701
706
|
surfaceTile.request = undefined;
|
|
@@ -229,43 +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
|
-
const terrainProvider = this._terrainProvider;
|
|
241
|
-
if (
|
|
242
|
-
!defined(terrainProvider) ||
|
|
243
|
-
// TerrainProvider.ready is deprecated; This is here for backwards compatibility
|
|
244
|
-
(defined(terrainProvider._ready)
|
|
245
|
-
? !terrainProvider._ready
|
|
246
|
-
: defined(terrainProvider.ready) && !terrainProvider.ready)
|
|
247
|
-
) {
|
|
248
|
-
return false;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
if (this._imageryLayers.length === 0) {
|
|
252
|
-
return true;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
const imageryLayer = this._imageryLayers.get(0);
|
|
256
|
-
if (!imageryLayer.ready) {
|
|
257
|
-
return false;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
// ImageryProvider.ready is deprecated; This is here for backwards compatibility
|
|
261
|
-
const imageryProvider = imageryLayer.imageryProvider;
|
|
262
|
-
const imageryProviderReady = defined(imageryProvider._ready)
|
|
263
|
-
? imageryProvider._ready
|
|
264
|
-
: !defined(imageryProvider.ready) || imageryProvider.ready;
|
|
265
|
-
return imageryProviderReady;
|
|
266
|
-
},
|
|
267
|
-
},
|
|
268
|
-
|
|
269
232
|
/**
|
|
270
233
|
* Gets the tiling scheme used by the provider.
|
|
271
234
|
* @memberof GlobeSurfaceTileProvider.prototype
|
|
@@ -273,6 +236,10 @@ Object.defineProperties(GlobeSurfaceTileProvider.prototype, {
|
|
|
273
236
|
*/
|
|
274
237
|
tilingScheme: {
|
|
275
238
|
get: function () {
|
|
239
|
+
if (!defined(this._terrainProvider)) {
|
|
240
|
+
return undefined;
|
|
241
|
+
}
|
|
242
|
+
|
|
276
243
|
return this._terrainProvider.tilingScheme;
|
|
277
244
|
},
|
|
278
245
|
},
|
|
@@ -364,29 +331,15 @@ GlobeSurfaceTileProvider.prototype.update = function (frameState) {
|
|
|
364
331
|
function updateCredits(surface, frameState) {
|
|
365
332
|
const creditDisplay = frameState.creditDisplay;
|
|
366
333
|
const terrainProvider = surface._terrainProvider;
|
|
367
|
-
if (
|
|
368
|
-
defined(terrainProvider) &&
|
|
369
|
-
// ready is deprecated; This is here for backwards compatibility
|
|
370
|
-
(defined(terrainProvider._ready)
|
|
371
|
-
? terrainProvider._ready
|
|
372
|
-
: !defined(terrainProvider.ready) || terrainProvider.ready) &&
|
|
373
|
-
defined(terrainProvider.credit)
|
|
374
|
-
) {
|
|
334
|
+
if (defined(terrainProvider) && defined(terrainProvider.credit)) {
|
|
375
335
|
creditDisplay.addCreditToNextFrame(terrainProvider.credit);
|
|
376
336
|
}
|
|
377
337
|
|
|
378
338
|
const imageryLayers = surface._imageryLayers;
|
|
379
339
|
for (let i = 0, len = imageryLayers.length; i < len; ++i) {
|
|
380
340
|
const layer = imageryLayers.get(i);
|
|
381
|
-
if (layer.ready) {
|
|
382
|
-
|
|
383
|
-
const imageryProvider = layer.imageryProvider;
|
|
384
|
-
const imageryProviderReady = defined(imageryProvider._ready)
|
|
385
|
-
? imageryProvider._ready
|
|
386
|
-
: !defined(imageryProvider.ready) || imageryProvider.ready;
|
|
387
|
-
if (imageryProviderReady && defined(layer.imageryProvider.credit)) {
|
|
388
|
-
creditDisplay.addCreditToNextFrame(layer.imageryProvider.credit);
|
|
389
|
-
}
|
|
341
|
+
if (layer.ready && layer.show && defined(layer.imageryProvider.credit)) {
|
|
342
|
+
creditDisplay.addCreditToNextFrame(layer.imageryProvider.credit);
|
|
390
343
|
}
|
|
391
344
|
}
|
|
392
345
|
}
|
|
@@ -2168,12 +2121,7 @@ function addDrawCommandsForTile(tileProvider, tile, frameState) {
|
|
|
2168
2121
|
const showOceanWaves = showReflectiveOcean && defined(oceanNormalMap);
|
|
2169
2122
|
const terrainProvider = tileProvider.terrainProvider;
|
|
2170
2123
|
const hasVertexNormals =
|
|
2171
|
-
defined(terrainProvider) &&
|
|
2172
|
-
// ready is deprecated; This is here for backwards compatibility
|
|
2173
|
-
(defined(terrainProvider._ready)
|
|
2174
|
-
? terrainProvider._ready
|
|
2175
|
-
: !defined(terrainProvider.ready) || terrainProvider.ready) &&
|
|
2176
|
-
tileProvider.terrainProvider.hasVertexNormals;
|
|
2124
|
+
defined(terrainProvider) && tileProvider.terrainProvider.hasVertexNormals;
|
|
2177
2125
|
const enableFog =
|
|
2178
2126
|
frameState.fog.enabled && frameState.fog.renderable && !cameraUnderground;
|
|
2179
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) {
|