2012-07-04 14 views
5

W three.js próbuję utworzyć teksturę, której obrazem jest aktualna scena z kamery. Używanie CubeCamera do stworzenia podobnego efektu jest dobrze udokumentowane; iz CubeCamera Stworzyłem przykład sceny do zilustrowania mój cel na:Jak używać aparatu jako obrazu tekstury w Three.js

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

Jednak chciałbym użyć zwykłej kamery (zamiast CubeCamera) jako tekstury. Jak mogłem to zrobić?

+2

Czy przyjrzałeś się przykładowi renderowania do tekstury w programie Three.js? http://mrdoob.github.com/three.js/examples/webgl_rtt.html – WestLangley

Odpowiedz

5

Idealnie by się to udało.

Init:

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); 

Render:

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

I to prawie robi, ale mamy pewne niedokończone sprawy z Y-przerzucony tekstur, które psuje imprezę tutaj.

Więc najlepszym rozwiązaniem w tej chwili jest użycie intermediry quad dla przerzucanie fakturę (oszczędza również render):

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

3

oparciu o przykład i sugestie mrdoob, w Stworzyłem pracy przykład z bardzo szczegółowych uwag, dostępny pod adresem:

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

część mojej serii poradnik stylu Three.js serii przykładów na

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

+0

To było ładniejsze, gdy "TrackballControls" były na miejscu, możesz docenić rekursję nieco więcej :) – mrdoob

+0

Coś złego dzieje się w Safari 5.1 .7 i Firefox 13.0.1 - przynajmniej na moim komputerze. (Działa poprawnie w Chrome 20.0.1132.47) Mac OS X Lion 10.7.4, AMD Radeon HD 6750M 512 MB Zrzut ekranu: http://imgur.com/nfPEi – WestLangley

+0

To dość dziwne ... Nie mam pojęcia, dlaczego to może Czy dzieje się ... czy któryś z moich innych samouczków Three.js na http://stemkoski.github.com/Three.js/ produkuje podobne efekty? –

Powiązane problemy