From 98f9aaaf851b60f4efe8ef8fb583352344b8f6ca Mon Sep 17 00:00:00 2001 From: gonnavis Date: Fri, 19 Feb 2021 01:44:55 +0800 Subject: [PATCH] postprocessing with reflector performance problem quick hack. https://discourse.threejs.org/t/hows-the-reflection-made-in-this-example/23597/8 --- examples/jsm/objects/ReflectorForSSRPass.js | 3 +++ examples/jsm/postprocessing/SSRPass.js | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/jsm/objects/ReflectorForSSRPass.js b/examples/jsm/objects/ReflectorForSSRPass.js index b905e410b1736e..743e101ffa67fb 100644 --- a/examples/jsm/objects/ReflectorForSSRPass.js +++ b/examples/jsm/objects/ReflectorForSSRPass.js @@ -91,6 +91,9 @@ var Reflector = function ( geometry, options ) { this.material = material; this.onBeforeRender = function ( renderer, scene, camera ) { + if (!window.needReflector) return; + window.needReflector=false + // console.log('onBeforeRender') reflectorWorldPosition.setFromMatrixPosition( scope.matrixWorld ); cameraWorldPosition.setFromMatrixPosition( camera.matrixWorld ); diff --git a/examples/jsm/postprocessing/SSRPass.js b/examples/jsm/postprocessing/SSRPass.js index ee82fccb6a3b2a..004d33e8487183 100644 --- a/examples/jsm/postprocessing/SSRPass.js +++ b/examples/jsm/postprocessing/SSRPass.js @@ -348,7 +348,8 @@ SSRPass.prototype = Object.assign(Object.create(Pass.prototype), { if (this.encoding) this.beautyRenderTarget.texture.encoding = this.encoding renderer.setRenderTarget(this.beautyRenderTarget); - renderer.clear(); + renderer.clear(); + window.needReflector=true renderer.render(this.scene, this.camera); // render normals