@loaders.gl/tiles 5.0.0-alpha.1 → 5.0.0-alpha.2
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/LICENSE +14 -3
- package/dist/dist.dev.js +2396 -274
- package/dist/dist.min.js +1 -1
- package/dist/index.cjs +2763 -337
- package/dist/index.cjs.map +3 -4
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/point-cloud/point-cloud-tile.d.ts.map +1 -1
- package/dist/point-cloud/point-cloud-tile.js +3 -0
- package/dist/point-cloud/point-cloud-tile.js.map +1 -1
- package/dist/point-cloud/point-cloud-tileset.d.ts.map +1 -1
- package/dist/point-cloud/point-cloud-tileset.js +3 -0
- package/dist/point-cloud/point-cloud-tileset.js.map +1 -1
- package/dist/point-cloud/types.d.ts.map +1 -1
- package/dist/point-cloud/types.js +3 -0
- package/dist/point-cloud/types.js.map +1 -1
- package/dist/raster-set.d.ts +35 -29
- package/dist/raster-set.d.ts.map +1 -1
- package/dist/raster-set.js +7 -1
- package/dist/raster-set.js.map +1 -1
- package/dist/tileset-3d/common/tile-3d.d.ts +98 -3
- package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tile-3d.js +229 -15
- package/dist/tileset-3d/common/tile-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.d.ts +143 -3
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.js +257 -16
- package/dist/tileset-3d/common/tileset-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-cache.d.ts +11 -1
- package/dist/tileset-3d/common/tileset-cache.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-cache.js +11 -3
- package/dist/tileset-3d/common/tileset-cache.js.map +1 -1
- package/dist/tileset-3d/common/tileset-source.d.ts +18 -0
- package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-source.js.map +1 -1
- package/dist/tileset-3d/common/tileset-traverser.d.ts +13 -0
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-traverser.js +28 -1
- package/dist/tileset-3d/common/tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +111 -0
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +340 -0
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +92 -3
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +211 -13
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +36 -0
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +66 -0
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js +3 -0
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js +3 -0
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js +3 -0
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.js +3 -0
- package/dist/tileset-3d/helpers/3d-tiles-options.js.map +1 -1
- package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/bounding-volume.js +1 -0
- package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts +59 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.js +84 -9
- package/dist/tileset-3d/helpers/frame-state.js.map +1 -1
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts +61 -9
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/tiles-3d-lod.js +198 -93
- package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +1 -1
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts +134 -0
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.js +179 -0
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/doubly-linked-list.d.ts.map +1 -1
- package/dist/utils/doubly-linked-list.js +1 -0
- package/dist/utils/doubly-linked-list.js.map +1 -1
- package/dist/utils/managed-array.d.ts.map +1 -1
- package/dist/utils/managed-array.js +1 -0
- package/dist/utils/managed-array.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +19 -0
- package/src/point-cloud/point-cloud-tile.ts +4 -0
- package/src/point-cloud/point-cloud-tileset.ts +4 -0
- package/src/point-cloud/types.ts +4 -0
- package/src/raster-set.ts +81 -43
- package/src/tileset-3d/common/tile-3d.ts +285 -21
- package/src/tileset-3d/common/tileset-3d.ts +368 -17
- package/src/tileset-3d/common/tileset-cache.ts +15 -7
- package/src/tileset-3d/common/tileset-source.ts +21 -0
- package/src/tileset-3d/common/tileset-traverser.ts +29 -1
- package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +534 -0
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +266 -13
- package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +77 -0
- package/src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts +4 -0
- package/src/tileset-3d/format-i3s/i3s-tile-manager.ts +4 -0
- package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +4 -0
- package/src/tileset-3d/helpers/3d-tiles-options.ts +4 -0
- package/src/tileset-3d/helpers/bounding-volume.ts +2 -0
- package/src/tileset-3d/helpers/frame-state.ts +139 -11
- package/src/tileset-3d/helpers/tiles-3d-lod.ts +291 -112
- package/src/tileset-3d/helpers/tiles-3d-request-priority.ts +301 -0
- package/src/types.ts +6 -0
- package/src/utils/doubly-linked-list.ts +2 -0
- package/src/utils/managed-array.ts +2 -0
|
@@ -10,6 +10,7 @@ import { createBoundingVolume, getCartographicBounds } from "../helpers/bounding
|
|
|
10
10
|
import { getTiles3DScreenSpaceError } from "../helpers/tiles-3d-lod.js";
|
|
11
11
|
import { getProjectedRadius } from "../helpers/i3s-lod.js";
|
|
12
12
|
import { TilesetTraverser } from "./tileset-traverser.js";
|
|
13
|
+
import { calculateFoveatedFactor, calculateTileRequestPriority, isFoveatedRequestDelayActive, isFoveatedRequestDeferred, isProgressiveResolutionPriority } from "../helpers/tiles-3d-request-priority.js";
|
|
13
14
|
const scratchVector = new Vector3();
|
|
14
15
|
function defined(x) {
|
|
15
16
|
return x !== undefined && x !== null;
|
|
@@ -52,6 +53,8 @@ export class Tile3D {
|
|
|
52
53
|
gpuMemoryUsageInBytes = 0;
|
|
53
54
|
/** The tile's children - an array of Tile3D objects. */
|
|
54
55
|
children = [];
|
|
56
|
+
/** Current lifecycle state for a lazy implicit subtree rooted at this tile. */
|
|
57
|
+
childrenState = 'ready';
|
|
55
58
|
depth = 0;
|
|
56
59
|
viewportIds = [];
|
|
57
60
|
transform = new Matrix4();
|
|
@@ -70,10 +73,20 @@ export class Tile3D {
|
|
|
70
73
|
// TODO Cesium 3d tiles specific
|
|
71
74
|
_expireDate = null;
|
|
72
75
|
_expiredContent = null;
|
|
76
|
+
/** In-flight source request shared by repeated traversal frames. */
|
|
77
|
+
_childrenPromise = null;
|
|
73
78
|
_boundingBox = undefined;
|
|
74
79
|
/** updated every frame for tree traversal and rendering optimizations: */
|
|
75
80
|
_distanceToCamera = 0;
|
|
76
81
|
_screenSpaceError = 0;
|
|
82
|
+
/** SSE calculated at the reduced viewport height used to prioritize coarse coverage. */
|
|
83
|
+
_screenSpaceErrorProgressiveResolution = 0;
|
|
84
|
+
/** Whether this tile should be promoted into the progressive-resolution request pass. */
|
|
85
|
+
_priorityProgressiveResolution = false;
|
|
86
|
+
/** Angular distance from the camera view axis used to prioritize center tiles. */
|
|
87
|
+
_foveatedFactor = 0;
|
|
88
|
+
/** Whether this peripheral request is currently inside the camera-motion deferral window. */
|
|
89
|
+
priorityDeferred = false;
|
|
77
90
|
_visibilityPlaneMask;
|
|
78
91
|
_visible = undefined;
|
|
79
92
|
_contentBoundingVolume;
|
|
@@ -122,6 +135,7 @@ export class Tile3D {
|
|
|
122
135
|
this.refine = this._getRefine(header.refine);
|
|
123
136
|
this.type = header.type;
|
|
124
137
|
this.contentUrl = header.contentUrl;
|
|
138
|
+
this.childrenState = header.implicitSubtree ? 'unloaded' : 'ready';
|
|
125
139
|
this._initializeLodMetric(header);
|
|
126
140
|
this._initializeTransforms(header);
|
|
127
141
|
this._updateLodMetricScale();
|
|
@@ -151,7 +165,18 @@ export class Tile3D {
|
|
|
151
165
|
}
|
|
152
166
|
/** Returns true if tile has children */
|
|
153
167
|
get hasChildren() {
|
|
154
|
-
return this.children.length > 0 ||
|
|
168
|
+
return (this.children.length > 0 ||
|
|
169
|
+
(this.header.children && this.header.children.length > 0) ||
|
|
170
|
+
Boolean(this.header.implicitSubtree && this.childrenState !== 'ready'));
|
|
171
|
+
}
|
|
172
|
+
/** Returns whether traversal may request an unresolved lazy child-header group. */
|
|
173
|
+
get hasUnloadedChildren() {
|
|
174
|
+
return Boolean(this.header.implicitSubtree &&
|
|
175
|
+
(this.childrenState === 'unloaded' || this.childrenState === 'failed'));
|
|
176
|
+
}
|
|
177
|
+
/** Returns whether a lazy child-header request is currently in flight. */
|
|
178
|
+
get childrenLoading() {
|
|
179
|
+
return this.childrenState === 'loading';
|
|
155
180
|
}
|
|
156
181
|
/**
|
|
157
182
|
* Determines if the tile's content is ready. This is automatically `true` for
|
|
@@ -212,13 +237,23 @@ export class Tile3D {
|
|
|
212
237
|
}
|
|
213
238
|
return this._boundingBox;
|
|
214
239
|
}
|
|
215
|
-
/**
|
|
216
|
-
|
|
240
|
+
/**
|
|
241
|
+
* Gets the tile's screen-space error for normal refinement or a reduced-height priority pass.
|
|
242
|
+
*
|
|
243
|
+
* I3S already supplies a screen-oriented LOD metric and intentionally ignores the optional 3D
|
|
244
|
+
* Tiles progressive-resolution height fraction.
|
|
245
|
+
*
|
|
246
|
+
* @param frameState - Current camera and viewport measurements.
|
|
247
|
+
* @param useParentLodMetric - Whether to substitute the parent LOD metric.
|
|
248
|
+
* @param viewportHeightFraction - Fraction of viewport height represented by the priority pass.
|
|
249
|
+
* @returns Screen-space LOD error for the current tileset format.
|
|
250
|
+
*/
|
|
251
|
+
getScreenSpaceError(frameState, useParentLodMetric, viewportHeightFraction = 1) {
|
|
217
252
|
switch (this.tileset.type) {
|
|
218
253
|
case TILESET_TYPE.I3S:
|
|
219
254
|
return getProjectedRadius(this, frameState);
|
|
220
255
|
case TILESET_TYPE.TILES3D:
|
|
221
|
-
return getTiles3DScreenSpaceError(this, frameState, useParentLodMetric);
|
|
256
|
+
return getTiles3DScreenSpaceError(this, frameState, useParentLodMetric, viewportHeightFraction);
|
|
222
257
|
default:
|
|
223
258
|
// eslint-disable-next-line
|
|
224
259
|
throw new Error('Unsupported tileset type');
|
|
@@ -237,12 +272,34 @@ export class Tile3D {
|
|
|
237
272
|
_getGpuMemoryUsageInBytes() {
|
|
238
273
|
return this.content.gpuMemoryUsageInBytes || this.content.byteLength || 0;
|
|
239
274
|
}
|
|
240
|
-
|
|
241
|
-
*
|
|
242
|
-
*
|
|
275
|
+
/**
|
|
276
|
+
* Returns scheduler priority for render-content requests.
|
|
277
|
+
*
|
|
278
|
+
* @returns Numeric priority, or a negative value when the queued request should be cancelled.
|
|
243
279
|
*/
|
|
244
|
-
// eslint-disable-next-line complexity
|
|
245
280
|
_getPriority() {
|
|
281
|
+
return this._calculateRequestPriority(false);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Returns scheduler priority for lazy child-header requests.
|
|
285
|
+
*
|
|
286
|
+
* Contentless implicit placeholders intentionally retain `UNLOADED` content state, so metadata
|
|
287
|
+
* scheduling skips only that render-content cancellation check and preserves every visibility,
|
|
288
|
+
* recency, progressive, foveated, and motion-deferral rule.
|
|
289
|
+
*
|
|
290
|
+
* @returns Numeric priority, or a negative value when the queued request should be cancelled.
|
|
291
|
+
*/
|
|
292
|
+
_getChildrenPriority() {
|
|
293
|
+
return this._calculateRequestPriority(true);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Calculates the common scheduler priority for content or hierarchy metadata.
|
|
297
|
+
*
|
|
298
|
+
* @param allowUnloadedContent - Whether an empty placeholder may request child metadata.
|
|
299
|
+
* @returns Numeric priority, or a negative value when the queued request should be cancelled.
|
|
300
|
+
*/
|
|
301
|
+
// eslint-disable-next-line complexity
|
|
302
|
+
_calculateRequestPriority(allowUnloadedContent) {
|
|
246
303
|
const traverser = this.tileset._traverser;
|
|
247
304
|
const { skipLevelOfDetail } = traverser.options;
|
|
248
305
|
/*
|
|
@@ -260,7 +317,13 @@ export class Tile3D {
|
|
|
260
317
|
if (this.tileset._frameNumber - this._touchedFrame >= 1) {
|
|
261
318
|
return -1;
|
|
262
319
|
}
|
|
263
|
-
|
|
320
|
+
// RequestScheduler re-evaluates this callback before a queued request receives a slot. A
|
|
321
|
+
// negative priority cancels work that became deferred after it was queued; the scheduled
|
|
322
|
+
// follow-up traversal submits it again after the motion delay expires.
|
|
323
|
+
if (this.priorityDeferred) {
|
|
324
|
+
return -1;
|
|
325
|
+
}
|
|
326
|
+
if (!allowUnloadedContent && this.contentState === TILE_CONTENT_STATE.UNLOADED) {
|
|
264
327
|
return -1;
|
|
265
328
|
}
|
|
266
329
|
// Based on the priority function `getPriorityReverseScreenSpaceError` in CesiumJS. Scheduling priority is based on the parent's screen space error when possible.
|
|
@@ -270,8 +333,15 @@ export class Tile3D {
|
|
|
270
333
|
? parent._screenSpaceError
|
|
271
334
|
: this._screenSpaceError;
|
|
272
335
|
const rootScreenSpaceError = traverser.root ? traverser.root._screenSpaceError : 0.0;
|
|
273
|
-
// Map higher SSE to lower values (e.g. root tile is highest priority)
|
|
274
|
-
|
|
336
|
+
// Map higher SSE to lower values (e.g. root tile is highest priority), then combine the
|
|
337
|
+
// existing order with independent progressive and foveated priority bands.
|
|
338
|
+
const reverseScreenSpaceError = Math.max(rootScreenSpaceError - screenSpaceError, 0);
|
|
339
|
+
return calculateTileRequestPriority({
|
|
340
|
+
priorityProgressiveResolution: this._priorityProgressiveResolution,
|
|
341
|
+
foveatedFactor: this._foveatedFactor,
|
|
342
|
+
reverseScreenSpaceError,
|
|
343
|
+
rootScreenSpaceError
|
|
344
|
+
});
|
|
275
345
|
}
|
|
276
346
|
/**
|
|
277
347
|
* Requests the tile's content.
|
|
@@ -314,6 +384,89 @@ export class Tile3D {
|
|
|
314
384
|
requestToken.done();
|
|
315
385
|
}
|
|
316
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* Requests and installs this tile's lazy child-header group through its source.
|
|
389
|
+
*
|
|
390
|
+
* The same request scheduler and SSE/foveated priority value used for render content are reused
|
|
391
|
+
* for subtree metadata. Repeated traversal frames share one promise, and scheduler cancellation
|
|
392
|
+
* restores the unloaded state so a later frame can retry.
|
|
393
|
+
*
|
|
394
|
+
* @param frameState - View state that made the subtree eligible for refinement.
|
|
395
|
+
* @returns Source load result, or an unloaded result if scheduling was cancelled.
|
|
396
|
+
*/
|
|
397
|
+
async loadChildren(frameState) {
|
|
398
|
+
if (!this.header.implicitSubtree || this.childrenState === 'ready') {
|
|
399
|
+
return { loaded: false, tileCount: 0, childSubtreeCount: 0 };
|
|
400
|
+
}
|
|
401
|
+
if (this._childrenPromise) {
|
|
402
|
+
return await this._childrenPromise;
|
|
403
|
+
}
|
|
404
|
+
if (!this.tileset.source.loadTileChildren) {
|
|
405
|
+
throw new Error('Tileset source does not support lazy tile children');
|
|
406
|
+
}
|
|
407
|
+
this.childrenState = 'loading';
|
|
408
|
+
this._childrenPromise = this._loadChildrenWithScheduler(frameState);
|
|
409
|
+
try {
|
|
410
|
+
return await this._childrenPromise;
|
|
411
|
+
}
|
|
412
|
+
finally {
|
|
413
|
+
this._childrenPromise = null;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Runs one lazy child-header load after obtaining a scheduler token.
|
|
418
|
+
*
|
|
419
|
+
* @param frameState - View state forwarded to the source implementation.
|
|
420
|
+
* @returns Source load result.
|
|
421
|
+
*/
|
|
422
|
+
async _loadChildrenWithScheduler(frameState) {
|
|
423
|
+
const requestToken = await this.tileset._requestScheduler.scheduleRequest(`${this.id}:implicit-subtree`, this._getChildrenPriority.bind(this));
|
|
424
|
+
if (!requestToken) {
|
|
425
|
+
this.childrenState = 'unloaded';
|
|
426
|
+
return { loaded: false, tileCount: 0, childSubtreeCount: 0 };
|
|
427
|
+
}
|
|
428
|
+
try {
|
|
429
|
+
const loadResult = await this.tileset.source.loadTileChildren(this, frameState);
|
|
430
|
+
this.childrenState = loadResult.loaded ? 'ready' : 'unloaded';
|
|
431
|
+
return loadResult;
|
|
432
|
+
}
|
|
433
|
+
catch (error) {
|
|
434
|
+
this.childrenState = 'failed';
|
|
435
|
+
throw error;
|
|
436
|
+
}
|
|
437
|
+
finally {
|
|
438
|
+
requestToken.done();
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Replaces a contentless implicit placeholder with its materialized subtree-root header.
|
|
443
|
+
*
|
|
444
|
+
* Transform state is intentionally preserved: the placeholder already owns the composed
|
|
445
|
+
* transform, and reapplying the root transform here would double-transform bounds and geometric
|
|
446
|
+
* error. Content and raw geometric error are reinitialized from the newly available header.
|
|
447
|
+
*
|
|
448
|
+
* @param materializedHeader - Available root header produced from one subtree resource.
|
|
449
|
+
*/
|
|
450
|
+
applyImplicitSubtreeHeader(materializedHeader) {
|
|
451
|
+
const existingTransform = this.header.transform;
|
|
452
|
+
const existingTransformMatrix = this.header.transformMatrix;
|
|
453
|
+
this.header = {
|
|
454
|
+
...this.header,
|
|
455
|
+
...materializedHeader,
|
|
456
|
+
transform: existingTransform,
|
|
457
|
+
transformMatrix: existingTransformMatrix,
|
|
458
|
+
implicitSubtree: undefined
|
|
459
|
+
};
|
|
460
|
+
this.refine = this._getRefine(materializedHeader.refine);
|
|
461
|
+
this.type = materializedHeader.type;
|
|
462
|
+
this.contentUrl = materializedHeader.contentUrl;
|
|
463
|
+
this._initializeLodMetric(materializedHeader);
|
|
464
|
+
this._updateLodMetricScale();
|
|
465
|
+
this._initializeBoundingVolumes(this.header);
|
|
466
|
+
// Use the merged header so inherited viewer-request-volume metadata remains available when a
|
|
467
|
+
// materialized implicit tile has no render content of its own.
|
|
468
|
+
this._initializeContent(this.header);
|
|
469
|
+
}
|
|
317
470
|
// Unloads the tile's content.
|
|
318
471
|
unloadContent() {
|
|
319
472
|
if (this.content && this.content.destroy) {
|
|
@@ -350,12 +503,59 @@ export class Tile3D {
|
|
|
350
503
|
}
|
|
351
504
|
this._distanceToCamera = this.distanceToTile(frameState);
|
|
352
505
|
this._screenSpaceError = this.getScreenSpaceError(frameState, false);
|
|
506
|
+
this._updateRequestPriorityMetrics(frameState);
|
|
353
507
|
this._visibilityPlaneMask = this.visibility(frameState, parentVisibilityPlaneMask); // Use parent's plane mask to speed up visibility test
|
|
354
508
|
this._visible = this._visibilityPlaneMask !== CullingVolume.MASK_OUTSIDE;
|
|
355
509
|
this._inRequestVolume = this.insideViewerRequestVolume(frameState);
|
|
356
510
|
this._frameNumber = frameState.frameNumber;
|
|
357
511
|
this.viewportIds = viewportIds;
|
|
358
512
|
}
|
|
513
|
+
/**
|
|
514
|
+
* Updates progressive-resolution and foveated request metrics for a 3D Tiles traversal frame.
|
|
515
|
+
*
|
|
516
|
+
* I3S retains its format-specific screen-threshold ordering and is explicitly isolated from
|
|
517
|
+
* geometric-error scheduling. Orthographic viewports still receive progressive coverage, but
|
|
518
|
+
* angular foveation is disabled because an orthographic frustum has no perspective field of view.
|
|
519
|
+
*
|
|
520
|
+
* @param frameState - Current camera and viewport measurements.
|
|
521
|
+
*/
|
|
522
|
+
_updateRequestPriorityMetrics(frameState) {
|
|
523
|
+
if (this.tileset.type !== TILESET_TYPE.TILES3D) {
|
|
524
|
+
this._screenSpaceErrorProgressiveResolution = this._screenSpaceError;
|
|
525
|
+
this._priorityProgressiveResolution = false;
|
|
526
|
+
this._foveatedFactor = 0;
|
|
527
|
+
this.priorityDeferred = false;
|
|
528
|
+
return;
|
|
529
|
+
}
|
|
530
|
+
const options = this.tileset.options;
|
|
531
|
+
const progressiveResolutionHeightFraction = options.progressiveResolutionHeightFraction;
|
|
532
|
+
this._screenSpaceErrorProgressiveResolution = this.getScreenSpaceError(frameState, false, progressiveResolutionHeightFraction);
|
|
533
|
+
this._priorityProgressiveResolution = isProgressiveResolutionPriority(this._screenSpaceErrorProgressiveResolution, this.parent?._screenSpaceErrorProgressiveResolution, this.tileset.memoryAdjustedScreenSpaceError, progressiveResolutionHeightFraction);
|
|
534
|
+
if (!options.foveatedScreenSpaceError ||
|
|
535
|
+
frameState.viewport?.orthographic ||
|
|
536
|
+
!frameState.camera?.position ||
|
|
537
|
+
!frameState.camera?.direction) {
|
|
538
|
+
this._foveatedFactor = 0;
|
|
539
|
+
this.priorityDeferred = false;
|
|
540
|
+
return;
|
|
541
|
+
}
|
|
542
|
+
this._foveatedFactor = calculateFoveatedFactor(this.boundingVolume, frameState.camera);
|
|
543
|
+
const deferralEligible = isFoveatedRequestDeferred({
|
|
544
|
+
refinement: this.refine,
|
|
545
|
+
skipLevelOfDetail: this.tileset._traverser.options.skipLevelOfDetail,
|
|
546
|
+
foveatedScreenSpaceError: options.foveatedScreenSpaceError,
|
|
547
|
+
foveatedConeSize: options.foveatedConeSize,
|
|
548
|
+
minimumScreenSpaceErrorRelaxation: options.foveatedMinimumScreenSpaceErrorRelaxation,
|
|
549
|
+
interpolationCallback: options.foveatedInterpolationCallback,
|
|
550
|
+
foveatedFactor: this._foveatedFactor,
|
|
551
|
+
verticalFieldOfView: frameState.camera.verticalFieldOfView,
|
|
552
|
+
screenSpaceError: this._screenSpaceError,
|
|
553
|
+
parentScreenSpaceError: this.parent?._screenSpaceError,
|
|
554
|
+
maximumScreenSpaceError: this.tileset.memoryAdjustedScreenSpaceError,
|
|
555
|
+
priorityProgressiveResolution: this._priorityProgressiveResolution
|
|
556
|
+
});
|
|
557
|
+
this.priorityDeferred = isFoveatedRequestDelayActive(deferralEligible, frameState.camera.timeSinceMovement, options.foveatedTimeDelay);
|
|
558
|
+
}
|
|
359
559
|
// Determines whether the tile's bounding volume intersects the culling volume.
|
|
360
560
|
// @param {FrameState} frameState The frame state.
|
|
361
561
|
// @param {Number} parentVisibilityPlaneMask The parent's plane mask to speed up the visibility check.
|
|
@@ -546,6 +746,10 @@ export class Tile3D {
|
|
|
546
746
|
this._distanceToCamera = 0;
|
|
547
747
|
this._centerZDepth = 0;
|
|
548
748
|
this._screenSpaceError = 0;
|
|
749
|
+
this._screenSpaceErrorProgressiveResolution = 0;
|
|
750
|
+
this._priorityProgressiveResolution = false;
|
|
751
|
+
this._foveatedFactor = 0;
|
|
752
|
+
this.priorityDeferred = false;
|
|
549
753
|
this._visibilityPlaneMask = CullingVolume.MASK_INDETERMINATE;
|
|
550
754
|
this._visible = undefined;
|
|
551
755
|
this._inRequestVolume = false;
|
|
@@ -562,8 +766,15 @@ export class Tile3D {
|
|
|
562
766
|
// Inherit from parent tile if omitted.
|
|
563
767
|
return refine || (this.parent && this.parent.refine) || TILE_REFINEMENT.REPLACE;
|
|
564
768
|
}
|
|
769
|
+
/**
|
|
770
|
+
* Returns whether loaded content is an external tileset.
|
|
771
|
+
*
|
|
772
|
+
* Parsed shape is authoritative because valid external resources may be extensionless, signed,
|
|
773
|
+
* or use a misleading filename. This method is called only after source loading has populated
|
|
774
|
+
* `content`.
|
|
775
|
+
*/
|
|
565
776
|
_isTileset() {
|
|
566
|
-
return this.
|
|
777
|
+
return this.content?.shape === 'tileset3d';
|
|
567
778
|
}
|
|
568
779
|
_onContentLoaded() {
|
|
569
780
|
// Vector and Geometry tile rendering do not support the skip LOD optimization.
|
|
@@ -586,6 +797,12 @@ export class Tile3D {
|
|
|
586
797
|
_updateBoundingVolume(header) {
|
|
587
798
|
// Update the bounding volumes
|
|
588
799
|
this.boundingVolume = createBoundingVolume(header.boundingVolume, this.computedTransform, this.boundingVolume);
|
|
800
|
+
// Viewer request volumes constrain traversal, not just render content. A contentless implicit
|
|
801
|
+
// connector can still own an inherited request volume, so initialize it before the
|
|
802
|
+
// content-specific early return below.
|
|
803
|
+
if (header.viewerRequestVolume) {
|
|
804
|
+
this._viewerRequestVolume = createBoundingVolume(header.viewerRequestVolume, this.computedTransform, this._viewerRequestVolume);
|
|
805
|
+
}
|
|
589
806
|
const content = header.content;
|
|
590
807
|
if (!content) {
|
|
591
808
|
return;
|
|
@@ -599,9 +816,6 @@ export class Tile3D {
|
|
|
599
816
|
if (content.boundingVolume) {
|
|
600
817
|
this._contentBoundingVolume = createBoundingVolume(content.boundingVolume, this.computedTransform, this._contentBoundingVolume);
|
|
601
818
|
}
|
|
602
|
-
if (header.viewerRequestVolume) {
|
|
603
|
-
this._viewerRequestVolume = createBoundingVolume(header.viewerRequestVolume, this.computedTransform, this._viewerRequestVolume);
|
|
604
|
-
}
|
|
605
819
|
}
|
|
606
820
|
/**
|
|
607
821
|
* Updates the tile's computed transform, world-space geometric error, and bounding volumes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile-3d.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tile-3d.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tile-3d.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tile-3d.ts"],"names":[],"mappings":"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"}
|