|
@@ -11534,6 +11534,7 @@
|
|
renderer.setRenderTarget(currentRenderTarget);
|
|
renderer.setRenderTarget(currentRenderTarget);
|
|
renderer.setRenderList(currentRenderList);
|
|
renderer.setRenderList(currentRenderList);
|
|
renderer.setRenderState(currentRenderState);
|
|
renderer.setRenderState(currentRenderState);
|
|
|
|
+ texture.addEventListener('dispose', onTextureDispose);
|
|
return mapTextureMapping(renderTarget.texture, texture.mapping);
|
|
return mapTextureMapping(renderTarget.texture, texture.mapping);
|
|
} else {
|
|
} else {
|
|
// image not yet ready. try the conversion next frame
|
|
// image not yet ready. try the conversion next frame
|
|
@@ -11546,6 +11547,17 @@
|
|
return texture;
|
|
return texture;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ function onTextureDispose(event) {
|
|
|
|
+ var texture = event.target;
|
|
|
|
+ texture.removeEventListener('dispose', onTextureDispose);
|
|
|
|
+ var cubemap = cubemaps.get(texture);
|
|
|
|
+
|
|
|
|
+ if (cubemap !== undefined) {
|
|
|
|
+ cubemaps.delete(texture);
|
|
|
|
+ cubemap.dispose();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
function dispose() {
|
|
function dispose() {
|
|
cubemaps = new WeakMap();
|
|
cubemaps = new WeakMap();
|
|
}
|
|
}
|