Skip to content

Commit 85f911f

Browse files
author
Marc-Sefan Cassola
committed
removed renderTarget and forceClear from WebGLRenderer.render() in example code
1 parent 90df746 commit 85f911f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+403
-135
lines changed

examples/js/GPUComputationRenderer.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,9 @@ function GPUComputationRenderer( sizeX, sizeY, renderer ) {
277277
addResolutionDefine( material );
278278

279279
return material;
280+
280281
}
282+
281283
this.createShaderMaterial = createShaderMaterial;
282284

283285
this.createRenderTarget = function( sizeXTexture, sizeYTexture, wrapS, wrapT, minFilter, magFilter ) {
@@ -316,7 +318,6 @@ function GPUComputationRenderer( sizeX, sizeY, renderer ) {
316318

317319
};
318320

319-
320321
this.renderTexture = function( input, output ) {
321322

322323
// Takes a texture, and render out in rendertarget
@@ -333,10 +334,15 @@ function GPUComputationRenderer( sizeX, sizeY, renderer ) {
333334

334335
this.doRenderTarget = function( material, output ) {
335336

337+
var currentRenderTarget = renderer.getRenderTarget();
338+
336339
mesh.material = material;
337-
renderer.render( scene, camera, output );
340+
renderer.setRenderTarget( output );
341+
renderer.render( scene, camera );
338342
mesh.material = passThruShader;
339343

344+
renderer.setRenderTarget( currentRenderTarget );
345+
340346
};
341347

342348
// Shaders

examples/js/Ocean.js

+32-11
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,10 @@ THREE.Ocean.prototype.renderInitialSpectrum = function () {
256256
this.scene.overrideMaterial = this.materialInitialSpectrum;
257257
this.materialInitialSpectrum.uniforms.u_wind.value.set( this.windX, this.windY );
258258
this.materialInitialSpectrum.uniforms.u_size.value = this.size;
259-
this.renderer.render( this.scene, this.oceanCamera, this.initialSpectrumFramebuffer, true );
259+
260+
this.renderer.setRenderTarget( this.initialSpectrumFramebuffer );
261+
this.renderer.clear();
262+
this.renderer.render( this.scene, this.oceanCamera );
260263

261264
};
262265

@@ -269,14 +272,15 @@ THREE.Ocean.prototype.renderWavePhase = function () {
269272
this.materialPhase.uniforms.u_phases.value = this.pingPhaseTexture;
270273
this.initial = false;
271274

272-
}else {
275+
} else {
273276

274277
this.materialPhase.uniforms.u_phases.value = this.pingPhase ? this.pingPhaseFramebuffer.texture : this.pongPhaseFramebuffer.texture;
275278

276279
}
277280
this.materialPhase.uniforms.u_deltaTime.value = this.deltaTime;
278281
this.materialPhase.uniforms.u_size.value = this.size;
279-
this.renderer.render( this.scene, this.oceanCamera, this.pingPhase ? this.pongPhaseFramebuffer : this.pingPhaseFramebuffer );
282+
this.renderer.setRenderTarget( this.pingPhase ? this.pongPhaseFramebuffer : this.pingPhaseFramebuffer );
283+
this.renderer.render( this.scene, this.oceanCamera );
280284
this.pingPhase = ! this.pingPhase;
281285

282286
};
@@ -288,7 +292,9 @@ THREE.Ocean.prototype.renderSpectrum = function () {
288292
this.materialSpectrum.uniforms.u_phases.value = this.pingPhase ? this.pingPhaseFramebuffer.texture : this.pongPhaseFramebuffer.texture;
289293
this.materialSpectrum.uniforms.u_choppiness.value = this.choppiness;
290294
this.materialSpectrum.uniforms.u_size.value = this.size;
291-
this.renderer.render( this.scene, this.oceanCamera, this.spectrumFramebuffer );
295+
296+
this.renderer.setRenderTarget( this.spectrumFramebuffer );
297+
this.renderer.render( this.scene, this.oceanCamera );
292298

293299
};
294300

@@ -305,19 +311,25 @@ THREE.Ocean.prototype.renderSpectrumFFT = function() {
305311

306312
this.materialOceanHorizontal.uniforms.u_input.value = this.spectrumFramebuffer.texture;
307313
this.materialOceanHorizontal.uniforms.u_subtransformSize.value = Math.pow( 2, ( i % ( iterations ) ) + 1 );
308-
this.renderer.render( this.scene, this.oceanCamera, this.pingTransformFramebuffer );
314+
315+
this.renderer.setRenderTarget( this.pingTransformFramebuffer );
316+
this.renderer.render( this.scene, this.oceanCamera );
309317

310318
} else if ( i % 2 === 1 ) {
311319

312320
this.materialOceanHorizontal.uniforms.u_input.value = this.pingTransformFramebuffer.texture;
313321
this.materialOceanHorizontal.uniforms.u_subtransformSize.value = Math.pow( 2, ( i % ( iterations ) ) + 1 );
314-
this.renderer.render( this.scene, this.oceanCamera, this.pongTransformFramebuffer );
322+
323+
this.renderer.setRenderTarget( this.pongTransformFramebuffer );
324+
this.renderer.render( this.scene, this.oceanCamera );
315325

316326
} else {
317327

318328
this.materialOceanHorizontal.uniforms.u_input.value = this.pongTransformFramebuffer.texture;
319329
this.materialOceanHorizontal.uniforms.u_subtransformSize.value = Math.pow( 2, ( i % ( iterations ) ) + 1 );
320-
this.renderer.render( this.scene, this.oceanCamera, this.pingTransformFramebuffer );
330+
331+
this.renderer.setRenderTarget( this.pingTransformFramebuffer );
332+
this.renderer.render( this.scene, this.oceanCamera );
321333

322334
}
323335

@@ -329,19 +341,25 @@ THREE.Ocean.prototype.renderSpectrumFFT = function() {
329341

330342
this.materialOceanVertical.uniforms.u_input.value = ( iterations % 2 === 0 ) ? this.pingTransformFramebuffer.texture : this.pongTransformFramebuffer.texture;
331343
this.materialOceanVertical.uniforms.u_subtransformSize.value = Math.pow( 2, ( i % ( iterations ) ) + 1 );
332-
this.renderer.render( this.scene, this.oceanCamera, this.displacementMapFramebuffer );
344+
345+
this.renderer.setRenderTarget( this.displacementMapFramebuffer );
346+
this.renderer.render( this.scene, this.oceanCamera );
333347

334348
} else if ( i % 2 === 1 ) {
335349

336350
this.materialOceanVertical.uniforms.u_input.value = this.pingTransformFramebuffer.texture;
337351
this.materialOceanVertical.uniforms.u_subtransformSize.value = Math.pow( 2, ( i % ( iterations ) ) + 1 );
338-
this.renderer.render( this.scene, this.oceanCamera, this.pongTransformFramebuffer );
352+
353+
this.renderer.setRenderTarget( this.pongTransformFramebuffer );
354+
this.renderer.render( this.scene, this.oceanCamera );
339355

340356
} else {
341357

342358
this.materialOceanVertical.uniforms.u_input.value = this.pongTransformFramebuffer.texture;
343359
this.materialOceanVertical.uniforms.u_subtransformSize.value = Math.pow( 2, ( i % ( iterations ) ) + 1 );
344-
this.renderer.render( this.scene, this.oceanCamera, this.pingTransformFramebuffer );
360+
361+
this.renderer.setRenderTarget( this.pingTransformFramebuffer );
362+
this.renderer.render( this.scene, this.oceanCamera );
345363

346364
}
347365

@@ -354,6 +372,9 @@ THREE.Ocean.prototype.renderNormalMap = function () {
354372
this.scene.overrideMaterial = this.materialNormal;
355373
if ( this.changed ) this.materialNormal.uniforms.u_size.value = this.size;
356374
this.materialNormal.uniforms.u_displacementMap.value = this.displacementMapFramebuffer.texture;
357-
this.renderer.render( this.scene, this.oceanCamera, this.normalMapFramebuffer, true );
375+
376+
this.renderer.setRenderTarget( this.normalMapFramebuffer );
377+
this.renderer.clear();
378+
this.renderer.render( this.scene, this.oceanCamera );
358379

359380
};

examples/js/cameras/CinematicCamera.js

+11-2
Original file line numberDiff line numberDiff line change
@@ -177,22 +177,31 @@ THREE.CinematicCamera.prototype.renderCinematic = function ( scene, renderer ) {
177177

178178
if ( this.postprocessing.enabled ) {
179179

180+
var currentRenderTarget = renderer.getRenderTarget();
181+
180182
renderer.clear();
181183

182184
// Render scene into texture
183185

184186
scene.overrideMaterial = null;
185-
renderer.render( scene, camera, this.postprocessing.rtTextureColor, true );
187+
renderer.setRenderTarget( this.postprocessing.rtTextureColor );
188+
renderer.clear();
189+
renderer.render( scene, camera );
186190

187191
// Render depth into texture
188192

189193
scene.overrideMaterial = this.materialDepth;
190-
renderer.render( scene, camera, this.postprocessing.rtTextureDepth, true );
194+
renderer.setRenderTarget( this.postprocessing.rtTextureDepth );
195+
renderer.clear();
196+
renderer.render( scene, camera, this.postprocessing.rtTextureDepth );
191197

192198
// Render bokeh composite
193199

200+
renderer.setRenderTarget( null );
194201
renderer.render( this.postprocessing.scene, this.postprocessing.camera );
195202

203+
renderer.setRenderTarget( currentRenderTarget );
204+
196205
}
197206

198207
};

examples/js/crossfade/scenes.js

+11-3
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,19 @@ function Scene( type, numObjects, cameraZ, fov, rotationSpeed, clearColor ) {
101101

102102
renderer.setClearColor( this.clearColor );
103103

104-
if ( rtt )
105-
renderer.render( this.scene, this.camera, this.fbo, true );
106-
else
104+
if ( rtt ) {
105+
106+
renderer.setRenderTarget( this.fbo );
107+
renderer.clear();
108+
renderer.render( this.scene, this.camera );
109+
110+
} else {
111+
112+
renderer.setRenderTarget( null );
107113
renderer.render( this.scene, this.camera );
108114

115+
}
116+
109117
};
110118

111119
}

examples/js/crossfade/transition.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
function Transition ( sceneA, sceneB ) {
1+
function Transition( sceneA, sceneB ) {
22

33
this.scene = new THREE.Scene();
44

@@ -157,7 +157,9 @@ function Transition ( sceneA, sceneB ) {
157157

158158
this.sceneA.render( delta, true );
159159
this.sceneB.render( delta, true );
160-
renderer.render( this.scene, this.cameraOrtho, null, true );
160+
renderer.setRenderTarget( null );
161+
renderer.clear();
162+
renderer.render( this.scene, this.cameraOrtho );
161163

162164
}
163165

examples/js/effects/AnaglyphEffect.js

+11-2
Original file line numberDiff line numberDiff line change
@@ -130,16 +130,25 @@ THREE.AnaglyphEffect = function ( renderer, width, height ) {
130130

131131
this.render = function ( scene, camera ) {
132132

133+
var currentRenderTarget = renderer.getRenderTarget();
134+
133135
scene.updateMatrixWorld();
134136

135137
if ( camera.parent === null ) camera.updateMatrixWorld();
136138

137139
_stereo.update( camera );
138140

139-
renderer.render( scene, _stereo.cameraL, _renderTargetL, true );
140-
renderer.render( scene, _stereo.cameraR, _renderTargetR, true );
141+
renderer.setRenderTarget( _renderTargetL );
142+
renderer.clear();
143+
renderer.render( scene, _stereo.cameraL );
144+
145+
renderer.setRenderTarget( _renderTargetR );
146+
renderer.clear();
147+
renderer.render( scene, _stereo.cameraR );
141148
renderer.render( _scene, _camera );
142149

150+
renderer.setRenderTarget( currentRenderTarget );
151+
143152
};
144153

145154
this.dispose = function () {

examples/js/effects/OutlineEffect.js

+24-4
Original file line numberDiff line numberDiff line change
@@ -402,11 +402,31 @@ THREE.OutlineEffect = function ( renderer, parameters ) {
402402

403403
}
404404

405-
this.render = function ( scene, camera, renderTarget, forceClear ) {
405+
this.render = function ( scene, camera ) {
406+
407+
var renderTarget;
408+
var forceClear;
409+
410+
if ( arguments[ 2 ] !== undefined ) {
411+
412+
console.warn( 'THREE.OutlineEffect.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead.' );
413+
renderTarget = arguments[ 2 ];
414+
415+
}
416+
417+
if ( arguments[ 3 ] !== undefined ) {
418+
419+
console.warn( 'THREE.OutlineEffect.render(): the forceClear argument has been removed. Use .clear() instead.' );
420+
forceClear = arguments[ 3 ];
421+
422+
}
423+
424+
renderer.setRenderTarget( renderTarget );
425+
if ( forceClear ) renderer.clear();
406426

407427
if ( this.enabled === false ) {
408428

409-
renderer.render( scene, camera, renderTarget, forceClear );
429+
renderer.render( scene, camera );
410430
return;
411431

412432
}
@@ -415,7 +435,7 @@ THREE.OutlineEffect = function ( renderer, parameters ) {
415435
renderer.autoClear = this.autoClear;
416436

417437
// 1. render normally
418-
renderer.render( scene, camera, renderTarget, forceClear );
438+
renderer.render( scene, camera );
419439

420440
// 2. render outline
421441
var currentSceneAutoUpdate = scene.autoUpdate;
@@ -429,7 +449,7 @@ THREE.OutlineEffect = function ( renderer, parameters ) {
429449

430450
scene.traverse( setOutlineMaterial );
431451

432-
renderer.render( scene, camera, renderTarget );
452+
renderer.render( scene, camera );
433453

434454
scene.traverse( restoreOriginalMaterial );
435455

examples/js/effects/ParallaxBarrierEffect.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,15 @@ THREE.ParallaxBarrierEffect = function ( renderer ) {
8787

8888
_stereo.update( camera );
8989

90-
renderer.render( scene, _stereo.cameraL, _renderTargetL, true );
90+
renderer.setRenderTarget( _renderTargetL );
91+
renderer.clear();
92+
renderer.render( scene, _stereo.cameraL );
93+
94+
renderer.setRenderTarget( _renderTargetR );
95+
renderer.clear();
9196
renderer.render( scene, _stereo.cameraR, _renderTargetR, true );
97+
98+
renderer.setRenderTarget( null );
9299
renderer.render( _scene, _camera );
93100

94101
};

examples/js/loaders/EquirectangularToCubeGenerator.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,8 @@ THREE.EquirectangularToCubeGenerator = ( function () {
152152

153153
update: function ( renderer ) {
154154

155+
var currentRenderTarget = renderer.getRenderTarget();
156+
155157
boxMesh.material.uniforms.equirectangularMap.value = this.sourceTexture;
156158

157159
for ( var i = 0; i < 6; i ++ ) {
@@ -164,10 +166,14 @@ THREE.EquirectangularToCubeGenerator = ( function () {
164166
camera.up.set( v.u[ 0 ], v.u[ 1 ], v.u[ 2 ] );
165167
camera.lookAt( v.t[ 0 ], v.t[ 1 ], v.t[ 2 ] );
166168

167-
renderer.render( scene, camera, this.renderTarget, true );
169+
renderer.setRenderTarget( this.renderTarget );
170+
renderer.clear();
171+
renderer.render( scene, camera );
168172

169173
}
170174

175+
renderer.setRenderTarget( currentRenderTarget );
176+
171177
return this.renderTarget.texture;
172178

173179
},

examples/js/nodes/inputs/RTTNode.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ RTTNode.prototype.updateFramesaveTo = function ( frame ) {
7272

7373
this.saveToCurrent = this.saveTo;
7474

75-
frame.renderer.render( this.saveToScene, this.camera, this.saveTo.renderTarget, this.saveTo.clear );
75+
frame.renderer.setRenderTarget( this.saveTo.renderTarget );
76+
if ( this.saveTo.clear ) frame.renderer.clear();
77+
frame.renderer.render( this.saveToScene, this.camera );
7678

7779
};
7880

@@ -96,7 +98,9 @@ RTTNode.prototype.updateFrame = function ( frame ) {
9698

9799
}
98100

99-
frame.renderer.render( this.scene, this.camera, this.renderTarget, this.clear );
101+
frame.renderer.setRenderTarget( this.renderTarget );
102+
if ( this.clear ) frame.renderer.clear();
103+
frame.renderer.render( this.scene, this.camera );
100104

101105
}
102106

examples/js/nodes/postprocessing/NodePostProcessing.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,12 @@ NodePostProcessing.prototype = {
6464
frame.setRenderer( this.renderer )
6565
.setRenderTexture( this.renderTarget.texture );
6666

67-
this.renderer.render( scene, camera, this.renderTarget );
67+
this.renderer.setRenderTarget( this.renderTarget );
68+
this.renderer.render( scene, camera );
6869

6970
frame.updateNode( this.material );
7071

72+
this.renderer.setRenderTarget( null );
7173
this.renderer.render( this.scene, this.camera );
7274

7375
},

0 commit comments

Comments
 (0)