ソースを参照

Merge pull request #7049 from sebavan/master

Fix multi scene BRDF texture
David Catuhe 5 年 前
コミット
5f68361abb
2 ファイル変更8 行追加1 行削除
  1. 7 0
      src/Misc/brdfTextureTools.ts
  2. 1 1
      src/Misc/rgbdTextureTools.ts

+ 7 - 0
src/Misc/brdfTextureTools.ts

@@ -19,6 +19,13 @@ export class BRDFTextureTools {
             scene.useDelayedTextureLoading = false;
 
             var texture = Texture.CreateFromBase64String(this._environmentBRDFBase64Texture, "EnvironmentBRDFTexture", scene, true, false, Texture.BILINEAR_SAMPLINGMODE);
+            // BRDF Texture should not be cached here due to pre processing and redundant scene caches.
+            var texturesCache = scene.getEngine().getLoadedTexturesCache();
+            var index = texturesCache.indexOf(texture.getInternalTexture()!);
+            if (index !== -1) {
+                texturesCache.splice(index, 1);
+            }
+
             texture.isRGBD = true;
             texture.wrapU = Texture.CLAMP_ADDRESSMODE;
             texture.wrapV = Texture.CLAMP_ADDRESSMODE;

+ 1 - 1
src/Misc/rgbdTextureTools.ts

@@ -66,7 +66,7 @@ export class RGBDTextureTools {
                         effect._bindTexture("textureSampler", internalTexture);
                         effect.setFloat2("scale", 1, 1);
                     };
-                    engine.scenes[0].postProcessManager.directRender([rgbdPostProcess!], expandedTexture, true);
+                    texture.getScene()!.postProcessManager.directRender([rgbdPostProcess!], expandedTexture, true);
 
                     // Cleanup
                     engine.restoreDefaultFramebuffer();