Skip to content

Commit 2efb26c

Browse files
committed
Don't mask the readBuffer when masking the screen.
1 parent e6117bb commit 2efb26c

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

src/passes/MaskPass.js

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,17 +77,34 @@ export class MaskPass extends Pass {
7777
// Clear the stencil.
7878
if(this.clearStencil) {
7979

80-
renderer.setRenderTarget(readBuffer);
81-
renderer.clearStencil();
80+
if(this.renderToScreen) {
8281

83-
renderer.setRenderTarget(this.renderToScreen ? null : writeBuffer);
84-
renderer.clearStencil();
82+
renderer.setRenderTarget(null);
83+
renderer.clearStencil();
84+
85+
} else {
86+
87+
renderer.setRenderTarget(readBuffer);
88+
renderer.clearStencil();
89+
90+
renderer.setRenderTarget(writeBuffer);
91+
renderer.clearStencil();
92+
93+
}
8594

8695
}
8796

8897
// Draw the mask.
89-
renderer.render(scene, camera, readBuffer);
90-
renderer.render(scene, camera, this.renderToScreen ? null : writeBuffer);
98+
if(this.renderToScreen) {
99+
100+
renderer.render(scene, camera, null);
101+
102+
} else {
103+
104+
renderer.render(scene, camera, readBuffer);
105+
renderer.render(scene, camera, writeBuffer);
106+
107+
}
91108

92109
// Unlock the buffers.
93110
state.buffers.color.setLocked(false);

0 commit comments

Comments
 (0)