Bläddra i källkod

texture cache issue

David Catuhe 8 år sedan
förälder
incheckning
15823d50ec

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1228 - 1228
dist/preview release/babylon.d.ts


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
dist/preview release/babylon.js


+ 4 - 2
dist/preview release/babylon.max.js

@@ -66857,6 +66857,7 @@ var BABYLON;
         TextureTools.CreateResizedCopy = function (texture, width, height) {
             var rtt = new BABYLON.RenderTargetTexture('resized' + texture.name, { width: width, height: height }, scene, !texture.noMipmap, true, texture._texture.type, false, texture._samplingMode, false);
             var scene = texture.getScene();
+            var engine = scene.getEngine();
             rtt.wrapU = texture.wrapU;
             rtt.wrapV = texture.wrapV;
             rtt.uOffset = texture.uOffset;
@@ -66869,15 +66870,16 @@ var BABYLON;
             rtt.coordinatesIndex = texture.coordinatesIndex;
             rtt.level = texture.level;
             rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;
-            var passPostProcess = new BABYLON.PassPostProcess("pass", 1, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT, true);
+            var passPostProcess = new BABYLON.PassPostProcess("pass", 1, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, engine, false, BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT, true);
             passPostProcess.updateEffect(null, null, null, null, function () {
                 passPostProcess.onApply = function (effect) {
                     effect.setTexture("textureSampler", texture);
                 };
                 scene.postProcessManager.directRender([passPostProcess], rtt.getInternalTexture());
-                scene.getEngine().restoreDefaultFramebuffer();
+                engine.restoreDefaultFramebuffer();
                 rtt.disposeFramebufferObjects();
                 passPostProcess.dispose();
+                engine.resetTextureCache();
             });
             return rtt;
         };

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1228 - 1228
dist/preview release/babylon.module.d.ts


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
dist/preview release/babylon.worker.js


+ 5 - 2
src/Tools/babylon.textureTools.ts

@@ -21,6 +21,7 @@
 			);
 
             var scene = texture.getScene();
+			var engine = scene.getEngine();
 
 			rtt.wrapU = texture.wrapU;
 			rtt.wrapV = texture.wrapV;
@@ -35,7 +36,7 @@
             rtt.level = texture.level;
             rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;
 
-            let passPostProcess = new BABYLON.PassPostProcess("pass", 1, null, Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, Engine.TEXTURETYPE_UNSIGNED_INT, true);
+            let passPostProcess = new BABYLON.PassPostProcess("pass", 1, null, Texture.BILINEAR_SAMPLINGMODE, engine, false, Engine.TEXTURETYPE_UNSIGNED_INT, true);
             passPostProcess.updateEffect(null, null, null, null, () => {
                 passPostProcess.onApply = function (effect) {
                     effect.setTexture("textureSampler", texture);
@@ -43,9 +44,11 @@
 
                 scene.postProcessManager.directRender([passPostProcess], rtt.getInternalTexture());
 
-                scene.getEngine().restoreDefaultFramebuffer();
+                engine.restoreDefaultFramebuffer();
                 rtt.disposeFramebufferObjects();
 				passPostProcess.dispose();
+
+				engine.resetTextureCache();
             });
 
 			return rtt;