Three.js: renderTarget argument has been removed in r102

Created on 27 Feb 2019  路  15Comments  路  Source: mrdoob/three.js

Not a single issue with the current r101.
The problem started with the current 102dev.
I get hundreds of console warnings like this one:

THREE.WebGLRenderer.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead. three.min.js:197:289
THREE.WebGLRenderer.render(): the forceClear argument has been removed. Use .clear() instead. three.min.js:197:434

I get those warnings with many samples.
Here is one of them:
http://necromanthus.com/Test/html5/Lara_mirror.html

Most helpful comment

You are not using the correct version of the file. Try it with this one:

https://github.com/mrdoob/three.js/blob/dev/examples/js/objects/Reflector.js

Your version of Reflector has the following code:

renderer.render( scene, virtualCamera, renderTarget, true );

which is in dev:

renderer.setRenderTarget( renderTarget );
renderer.clear();
renderer.render( scene, virtualCamera );

All 15 comments

Yes, the renderTarget and the clear parameter were removed from WebGLRenderer.render(), see #15571

It's necessary to adjust your code base in order to avoid the warnings. The migration guide might be useful in this context.

Yes, the renderTarget and the clear parameter were removed from WebGLRenderer.render(), see #15571

Hi Michael,

I don't use the renderTarget and forceClear parameters in my scripts.

Can you demonstrate the warnings with a live example? It seems your linked demo still uses R101.

Can you demonstrate the warnings with a live example? It seems your linked demo still uses R101.

http://necromanthus.com/Test/html5/Lara_mirror_102dev.html

You should upgrade THREE.Mirror to THREE.Reflector. The latest version from dev should produce no warnings, see:

https://raw.githack.com/mrdoob/three.js/dev/examples/webgl_mirror.html

You should upgrade THREE.Mirror to THREE.Reflector. The latest version from dev should produce no warnings, see
https://raw.githack.com/mrdoob/three.js/dev/examples/webgl_mirror.html

I tried Reflector a few days ago and I got the same warnings.
But I will investigate more this evening.
cheers

As I expected, the same console warnings with Reflector and 102dev:
http://necromanthus.com/Test/html5/Lara_reflector_102dev.html

You are not using the correct version of the file. Try it with this one:

https://github.com/mrdoob/three.js/blob/dev/examples/js/objects/Reflector.js

Your version of Reflector has the following code:

renderer.render( scene, virtualCamera, renderTarget, true );

which is in dev:

renderer.setRenderTarget( renderTarget );
renderer.clear();
renderer.render( scene, virtualCamera );

Good catch!
Now I have to find out why do I get console warnings in 102dev for this one:
http://necromanthus.com/Test/html5/testA_disco.html

For the 2nd sample I get another console warning (thousand times, every frame) in 102 dev:

WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument

OMG ...
Folks, did you really improve anything with all these changes?

That .getCurrentViewport() change was present in the LensFlare.js file only.
Anyway, the main question remains: any improvements after these changes?

Folks, did you really improve anything with all these changes?

Yes.

  1. The getCurrentViewport() saves on garbage collection (no new Vector4 created in every call).
  2. The renderTarget parameter removal simplifies how to know where is WebGLRenderer rendering to.

Thanks for testing new versions and letting us know what issues you find by the way. Super helpful!

Are all the issues with your tests solved?

Are all the issues with your tests solved?

Yes Ricardo.
Except LensFlare and Mirror (Reflector), I didn't find other issues so far.
:thumbsup:

Was this page helpful?
0 / 5 - 0 ratings