Lewy Blue
Lewy Blue

Reputation: 618

Three js render a static scene

From the tutorial on setting up a basic scene here the standard way to call the renderer is something like:

function render() {
    requestAnimationFrame( render );
    renderer.render( scene, camera );
}
render();

However I am generating a static image so creating frames seems like overkill. Is there any way to render the scene once and then have the rendered image persist?

Upvotes: 2

Views: 1032

Answers (2)

Lewy Blue
Lewy Blue

Reputation: 618

What I needed to do was delay the call to

this.renderer.render(this.scene, this.camera);

until after all calculations in the scene were finished. Calling it immediately after initialising the renderer was resulting in drawing a white screen as nothing else had been calculated yet.

As a stopgap measure I've put it in a window.setTimeout functions, but I guess the proper way to do it is to put it in a callback function when all the other calculations are finished.

Upvotes: 2

gaitat
gaitat

Reputation: 12632

Instead of calling render() just call renderer.render( scene, camera );

Upvotes: 0

Related Questions