2016-07-26 303 views
0

我正在打擊一些意想不到的行爲。Three.js渲染紋理

看來我無法獲得任何東西來渲染目標。

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

要麼雖然其中之一,將填補目標,這其中雖然渲染到幀緩衝器一次

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

或本:

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

我到底做錯了什麼?

回答

0

這是我如何呈現一個THREE.WebGLRenderTarget:

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

那應該如何工作。但我的不,這是哪個版本?在r79和r78上工作的@pailhead @ – pailhead

+0

。你得到什麼錯誤? – Hasan

+0

它只是不工作,我沒有得到任何錯誤,但我沒有得到紋理中的數據。這主要是PMREM發生器故障,我不得不添加問題的東西。我得到另一個繪製電話修復它並強制它被渲染,但我不明白爲什麼。來源似乎正在處理這一點,我不知道爲什麼使這些電話手動修復它。 – pailhead