Domanda

Ho due elementi su tela sulla mia pagina e iniziamo a rendering con il mio:

new THREE.WebGLRenderer({canvas:myFirstCanvas});
.

E la scena 3D è resa correttamente come mi aspetto

Ma poi se provo a modificare l'elemento tela, il rendering è indicato utilizzando:

renderer.domElement = mySecondCanvas;
.

o

renderer.setRenderTarget({canvas:mySecondCanvas});
.

Ho esaminato la documentazione su GitHub, ma SetrierdertArget () dice purtroppo. È possibile cambiare l'elemento tela che il rendering sta utilizzando?E se sì, come farei questo?Attualmente il mio tentativo non fa altro che sfocare l'immagine nell'elemento di tela originale presumibilmente perché ridimensiona anche il rendering con:

renderer.setSize(mySecondCanvas.width,mySecondCanvas.height);
.

Quando sto cercando di passare all'altra tela.

È stato utile?

Soluzione

Sfortunatamente, e questo è dovuto al lavoro di hon webgl e non ha nulla a che fare con le specifiche dei tre.js, ma ogni contesto WebGL (in tre.js rappresentato dal rendering WebGL) è legato a un elemento tela e non è possibile modificarequale elemento il contesto WebGL dovrebbe rendere.

SO: fai due tre.WebglRenderer, uno per ogni elemento tela.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top