2016-07-26 14 views
0

Ich kämpfe gegen unerwartetes Verhalten.Three.js rendern auf Textur

Es scheint, dass ich nichts zum Rendern Rendern bekommen kann.

renderer.render(scene , cam , renderTarget , false); // does not work, empty target 

entweder eine dieser aber wird das Ziel füllen, dieser macht allerdings Puffer einmal

renderer.render(scene , cam , renderTarget , false); 
renderer.render(scene , cam); //this somehow causes the renderTarget to be filled 

oder diese umrahmen:

renderer.setRenderTarget(renderTarget); 
renderer.render(scene , cam , renderTarget , false); 
renderer.setRenderTarget(null); 

Was mache ich falsch?

Antwort

0

Dies ist, wie ich zu einem THREE.WebGLRenderTarget machen:

var pickingScene = new THREE.Scene(); 
var pickingTexture = new THREE.WebGLRenderTarget(renderer.domElement.clientWidth, renderer.domElement.clientHeight); 
pickingTexture.texture.minFilter = THREE.LinearFilter; 

renderer.render(pickingScene, camera, pickingTexture); 
+0

Das ist, wie es funktionieren soll. aber meine tut nicht, welche Version ist das? – pailhead

+0

@pailhead, das auf r79 und r78 funktioniert. Welche Fehler bekommst du? – Hasan

+0

es funktioniert einfach nicht, ich bekomme keine Fehler, aber ich bekomme keine Daten in der Textur. Es scheitert meistens mit dem PMREM-Generator, ich muss das Zeug aus der Frage hinzufügen. Ich habe verstanden, dass ein weiterer Draw-Call es behebt und zwingt, dass es gerendert wird, aber ich verstehe nicht warum. Die Quelle scheint dies korrekt zu handhaben, ich habe keine Ahnung, warum diese Aufrufe manuell behoben werden. – pailhead

Verwandte Themen