Skip to content

Commit 3dd049d

Browse files
committed
Re-add overlay
1 parent 9250930 commit 3dd049d

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

src/three/plugins/images/GeneratedSurfacePlugin.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ export class GeneratedSurfacePlugin {
9393

9494
}
9595

96+
const { overlay } = this;
9697
let res;
9798
if ( this._useEllipsoid() ) {
9899

@@ -104,6 +105,37 @@ export class GeneratedSurfacePlugin {
104105

105106
}
106107

108+
if ( overlay ) {
109+
110+
const x = tile[ TILE_X ];
111+
const y = tile[ TILE_Y ];
112+
const level = tile[ TILE_LEVEL ];
113+
const range = this._tiling.getTileBounds( x, y, level, true, false );
114+
115+
if ( overlay.hasContent( range, level ) ) {
116+
117+
await overlay.lockTexture( range, level );
118+
119+
const texture = overlay.getTexture( range, level );
120+
tile.overlayRange = range;
121+
tile.overlayLevel = level;
122+
123+
if ( abortSignal.aborted ) {
124+
125+
overlay.releaseTexture( range, level );
126+
tile.overlayRange = null;
127+
tile.overlayLevel = null;
128+
return null;
129+
130+
}
131+
132+
res.material.map = texture;
133+
res.material.needsUpdate = true;
134+
135+
}
136+
137+
}
138+
107139
return res;
108140

109141
}
@@ -121,6 +153,19 @@ export class GeneratedSurfacePlugin {
121153

122154
}
123155

156+
disposeTile( tile ) {
157+
158+
const { overlayRange, overlayLevel } = tile;
159+
if ( this.overlay && overlayRange ) {
160+
161+
this.overlay.releaseTexture( overlayRange, overlayLevel );
162+
tile.overlayRange = null;
163+
tile.overlayLevel = null;
164+
165+
}
166+
167+
}
168+
124169
/**
125170
* Returns the cartographic coordinates for a given world-space position. "lat" and "lon" are assigned
126171
* to the target object.

0 commit comments

Comments
 (0)