提交 2294094a 编写于 作者: A alteredq

Cleaned up a bit WebGLRenderer.

Clearing API for rendering to RenderTarget is now flipped: before forced clearing of render target was default, now no clearing is default.

New way of doing things saves one extra duplicitous clear call when switching render targets (like when doing postprocessing).

(doing documentation is indeed turning out to be useful)
上级 ba0047cb
因为 它太大了无法显示 source diff 。你可以改为 查看blob
此差异已折叠。
......@@ -226,7 +226,7 @@
// Render scene into texture
renderer.render( scene, camera, postprocessing.rtTexture1 );
renderer.render( scene, camera, postprocessing.rtTexture1, true );
// Render quad with blured scene into texture (convolution pass 1)
......@@ -251,7 +251,7 @@
postprocessing.materialScreen.uniforms.tDiffuse.texture = postprocessing.rtTexture3;
postprocessing.materialScreen.uniforms.opacity.value = 1.3;
renderer.render( postprocessing.scene, postprocessing.camera, postprocessing.rtTexture1, false );
renderer.render( postprocessing.scene, postprocessing.camera, postprocessing.rtTexture1 );
// Render to screen
......
......@@ -298,7 +298,7 @@
// Render scene into texture
renderer.render( scene, camera, rtTexture1 );
renderer.render( scene, camera, rtTexture1, true );
// Render quad with blured scene into texture (convolution pass 1)
......@@ -323,7 +323,7 @@
materialScreen.uniforms.tDiffuse.texture = rtTexture3;
materialScreen.uniforms.opacity.value = 1.3;
renderer.render( sceneScreen, cameraOrtho, rtTexture1, false );
renderer.render( sceneScreen, cameraOrtho, rtTexture1 );
// Render to screen
......
......@@ -328,7 +328,7 @@
// Render scene into texture
renderer.render( scene, camera, postprocessing.rtTexture1 );
renderer.render( scene, camera, postprocessing.rtTexture1, true );
// Render quad with blured scene into texture (convolution pass 1)
......@@ -353,7 +353,7 @@
postprocessing.materialScreen.uniforms.tDiffuse.texture = postprocessing.rtTexture3;
postprocessing.materialScreen.uniforms.opacity.value = 1.3;
renderer.render( postprocessing.scene, postprocessing.camera, postprocessing.rtTexture1, false );
renderer.render( postprocessing.scene, postprocessing.camera, postprocessing.rtTexture1 );
// Render to screen
......
......@@ -280,7 +280,7 @@
// background
renderer.render( sceneBG, cameraOrtho, rtTexture1 );
renderer.render( sceneBG, cameraOrtho, rtTexture1, true );
// model
......@@ -305,7 +305,7 @@
materialScreen.uniforms.tDiffuse.texture = rtTexture3;
materialScreen.uniforms.opacity.value = 1.0;
renderer.render( sceneScreen, cameraOrtho, rtTexture1, false );
renderer.render( sceneScreen, cameraOrtho, rtTexture1 );
// Render final scene to the screen with film shader
......
......@@ -305,7 +305,7 @@
for( i = 0; i < nobjects; i++ ) objects[i].materials = [ materials[i] ];
renderer.render( scene, camera, postprocessing.rtTextureColor );
renderer.render( scene, camera, postprocessing.rtTextureColor, true );
// Render depth into texture
......@@ -314,7 +314,7 @@
else
for( i = 0; i < nobjects; i++ ) objects[i].materials = [ material_depth ];
renderer.render( scene, camera, postprocessing.rtTextureDepth );
renderer.render( scene, camera, postprocessing.rtTextureDepth, true );
// Render bokeh composite
......
......@@ -323,7 +323,7 @@
// Render scene into texture
renderer.render( scene, camera, postprocessing.rtTexture1 );
renderer.render( scene, camera, postprocessing.rtTexture1, true );
// Render quad with blured scene into texture (convolution pass 1)
......@@ -348,7 +348,7 @@
postprocessing.materialScreen.uniforms.tDiffuse.texture = postprocessing.rtTexture3;
postprocessing.materialScreen.uniforms.opacity.value = 1.2;
renderer.render( postprocessing.scene, postprocessing.camera, postprocessing.rtTexture1, false );
renderer.render( postprocessing.scene, postprocessing.camera, postprocessing.rtTexture1 );
// Render to screen
......
......@@ -264,7 +264,7 @@
// Render first scene into texture
renderer.render( sceneRTT, cameraRTT, rtTexture );
renderer.render( sceneRTT, cameraRTT, rtTexture, true );
// Render full screen quad with generated texture
// (disable depth writing so that it stays in the background)
......
......@@ -1884,7 +1884,7 @@ THREE.WebGLRenderer = function ( parameters ) {
};
this.render = function( scene, camera, renderTarget, clear ) {
this.render = function( scene, camera, renderTarget, forceClear ) {
var i, program, opaque, transparent, material,
o, ol, oil, webglObject, object, buffer,
......@@ -1904,9 +1904,9 @@ THREE.WebGLRenderer = function ( parameters ) {
this.initWebGLObjects( scene, camera );
setRenderTarget( renderTarget, clear !== undefined ? clear : true );
setRenderTarget( renderTarget );
if ( this.autoClear ) {
if ( this.autoClear || forceClear ) {
this.clear();
......@@ -2852,7 +2852,7 @@ THREE.WebGLRenderer = function ( parameters ) {
};
function setRenderTarget( renderTexture, clear ) {
function setRenderTarget( renderTexture ) {
if ( renderTexture && !renderTexture.__webGLFramebuffer ) {
......@@ -2909,12 +2909,6 @@ THREE.WebGLRenderer = function ( parameters ) {
_gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer );
_gl.viewport( _viewportX, _viewportY, width, height );
if ( clear ) {
_gl.clear( _gl.COLOR_BUFFER_BIT | _gl.DEPTH_BUFFER_BIT );
}
_oldFramebuffer = framebuffer;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册