瀏覽代碼

Adding parameter for RenderTargetTexture to take in account postProcess

David Catuhe 11 年之前
父節點
當前提交
0464b7bef0

+ 5 - 3
Babylon/Materials/textures/babylon.renderTargetTexture.js

@@ -35,7 +35,7 @@ var BABYLON;
             this._texture = this.getScene().getEngine().createRenderTargetTexture(size, generateMipMaps);
         };
 
-        RenderTargetTexture.prototype.render = function () {
+        RenderTargetTexture.prototype.render = function (useCameraPostProcess) {
             var scene = this.getScene();
             var engine = scene.getEngine();
 
@@ -54,7 +54,7 @@ var BABYLON;
             }
 
             // Bind
-            if (!scene.postProcessManager._prepareFrame()) {
+            if (!useCameraPostProcess || !scene.postProcessManager._prepareFrame()) {
                 engine.bindFramebuffer(this._texture);
             }
 
@@ -86,7 +86,9 @@ var BABYLON;
             // Render
             this._renderingManager.render(this.customRenderFunction, this.renderList, this.renderParticles, this.renderSprites);
 
-            scene.postProcessManager._finalizeFrame(false, this._texture);
+            if (useCameraPostProcess) {
+                scene.postProcessManager._finalizeFrame(false, this._texture);
+            }
 
             if (this.onAfterRender) {
                 this.onAfterRender();

+ 5 - 3
Babylon/Materials/textures/babylon.renderTargetTexture.ts

@@ -38,7 +38,7 @@
             this._texture = this.getScene().getEngine().createRenderTargetTexture(size, generateMipMaps);
         }
 
-        public render() {
+        public render(useCameraPostProcess?: boolean) {
             var scene = this.getScene();
             var engine = scene.getEngine();
 
@@ -57,7 +57,7 @@
             }
 
             // Bind
-            if (!scene.postProcessManager._prepareFrame()) {
+            if (!useCameraPostProcess || !scene.postProcessManager._prepareFrame()) {
                 engine.bindFramebuffer(this._texture);
             }
 
@@ -90,7 +90,9 @@
 
             this._renderingManager.render(this.customRenderFunction, this.renderList, this.renderParticles, this.renderSprites);
 
-            scene.postProcessManager._finalizeFrame(false, this._texture);
+            if (useCameraPostProcess) {
+                scene.postProcessManager._finalizeFrame(false, this._texture);
+            }
 
             if (this.onAfterRender) {
                 this.onAfterRender();

+ 1 - 1
Babylon/Tools/babylon.tools.js

@@ -444,7 +444,7 @@
                 }
             };
 
-            texture.render();
+            texture.render(true);
             texture.dispose();
 
             if (previousCamera) {

+ 1 - 1
Babylon/Tools/babylon.tools.ts

@@ -477,7 +477,7 @@
 
             };
 
-            texture.render();
+            texture.render(true);
             texture.dispose();
 
             if (previousCamera) {

File diff suppressed because it is too large
+ 2 - 2
babylon.1.12-beta.js