2012-07-04 111 views
5

在three.js中,我試圖創建一個紋理,其圖像是從相機查看的當前場景。使用CubeCamera創建類似的效果已有詳細記錄;與CubeCamera我創建了一個場景的例子來說明我的目標是:如何在Three.js中使用相機作爲紋理圖像

http://stemkoski.github.com/Three.js/Camera-Texture-Almost.html

不過,我想用一個普通相機(而不是CubeCamera)的質感。我怎麼能這樣做?

+2

你看過Three.js渲染到紋理的例子嗎? http://mrdoob.github.com/three.js/examples/webgl_rtt.html – WestLangley

回答

5

理想情況下,這將工作。

初始化:

renderTarget = new THREE.WebGLRenderTarget(512, 512, { format: THREE.RGBFormat }); 

var planelikeGeometry = new THREE.CubeGeometry(400, 200, 200); 
var plane = new THREE.Mesh(planelikeGeometry, new THREE.MeshBasicMaterial({ map: renderTarget })); 
plane.position.set(0,100,-500); 
scene.add(plane); 

渲染:

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

它幾乎不會,但我們有與此遺址黨Y型翻轉紋理一些未竟的事業。

所以目前最好的解決辦法是使用intermediry四快進快出的紋理(也節省了渲染):

http://mrdoob.github.com/three.js/examples/webgl_rtt.html

3

基於mrdoob的榜樣和建議,我已經創建了一個工作示例有非常詳細的註釋,網址爲:我的系列教程式three.js所一系列例子的

http://stemkoski.github.com/Three.js/Camera-Texture.html

部分在

http://stemkoski.github.com/Three.js/

+0

當「TrackballControls」到位時,它會更好,你可以更多地欣賞遞歸:) – mrdoob

+0

Safari 5.1中發生了一些不好的事情.7和Firefox 13.0.1 - 至少在我的機器上。 (在Chrome 20.0.1132.47中可以正常工作)Mac OS X Lion 10.7.4,AMD Radeon HD 6750M 512 MB 屏幕截圖:http://imgur.com/nfPEi – WestLangley

+0

這很奇怪......我不知道爲什麼可能正在發生......在http://stemkoski.github.com/Three.js/上執行我的其他Three.js教程會產生類似的效果嗎? –

相關問題