|
@@ -59,51 +59,29 @@ class RenderTransitionPass extends Pass {
|
|
|
|
|
|
render( renderer, writeBuffer ) {
|
|
|
|
|
|
+ renderer.setRenderTarget( this.renderTargetA );
|
|
|
+ renderer.render( this.sceneA, this.cameraA );
|
|
|
+ renderer.setRenderTarget( this.renderTargetB );
|
|
|
+ renderer.render( this.sceneB, this.cameraB );
|
|
|
+
|
|
|
const uniforms = this.fsQuad.material.uniforms;
|
|
|
- const transition = uniforms.mixRatio.value;
|
|
|
+ uniforms.tDiffuse1.value = this.renderTargetA.texture;
|
|
|
+ uniforms.tDiffuse2.value = this.renderTargetB.texture;
|
|
|
|
|
|
- // Prevent render both scenes when it's not necessary
|
|
|
+ if ( this.renderToScreen ) {
|
|
|
|
|
|
- if ( transition === 0 ) {
|
|
|
+ renderer.setRenderTarget( null );
|
|
|
+ renderer.clear();
|
|
|
|
|
|
- renderer.setRenderTarget( writeBuffer );
|
|
|
- if ( this.clear ) renderer.clear();
|
|
|
- renderer.render( this.sceneB, this.cameraB );
|
|
|
-
|
|
|
- } else if ( transition === 1 ) {
|
|
|
+ } else {
|
|
|
|
|
|
renderer.setRenderTarget( writeBuffer );
|
|
|
if ( this.clear ) renderer.clear();
|
|
|
- renderer.render( this.sceneA, this.cameraA );
|
|
|
-
|
|
|
- } else {
|
|
|
-
|
|
|
- // When 0 < transition < 1 render transition between two scenes
|
|
|
-
|
|
|
- renderer.setRenderTarget( this.renderTargetA );
|
|
|
- renderer.render( this.sceneA, this.cameraA );
|
|
|
- renderer.setRenderTarget( this.renderTargetB );
|
|
|
- renderer.render( this.sceneB, this.cameraB );
|
|
|
-
|
|
|
- uniforms.tDiffuse1.value = this.renderTargetA.texture;
|
|
|
- uniforms.tDiffuse2.value = this.renderTargetB.texture;
|
|
|
-
|
|
|
- if ( this.renderToScreen ) {
|
|
|
-
|
|
|
- renderer.setRenderTarget( null );
|
|
|
- renderer.clear();
|
|
|
-
|
|
|
- } else {
|
|
|
-
|
|
|
- renderer.setRenderTarget( writeBuffer );
|
|
|
- if ( this.clear ) renderer.clear();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- this.fsQuad.render( renderer );
|
|
|
|
|
|
}
|
|
|
|
|
|
+ this.fsQuad.render( renderer );
|
|
|
+
|
|
|
}
|
|
|
|
|
|
dispose() {
|
|
@@ -179,9 +157,6 @@ class RenderTransitionPass extends Pass {
|
|
|
|
|
|
}
|
|
|
|
|
|
- #include <tonemapping_fragment>
|
|
|
- #include <colorspace_fragment>
|
|
|
-
|
|
|
}
|
|
|
`
|
|
|
} );
|