Pregunta

Tengo dos elementos de lienzo en mi página y empiezo a rendirme a mi:

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

y la escena 3D se traduce correctamente como espero

Pero, entonces, si trato de cambiar el elemento de lienzo, el renderizador está apuntando al usar cualquiera de:

renderer.domElement = mySecondCanvas;

o

renderer.setRenderTarget({canvas:mySecondCanvas});

He mirado la documentación en GitHub, pero SetRenderTarget () dice que ToDO desafortunadamente. ¿Es posible cambiar el elemento de lienzo que el renderizador está usando?Y si es así, ¿cómo iría esto?Actualmente, mi intento no hace nada más que borrando la imagen en el elemento de lienzo original, presumiblemente porque también cambio de tamaño al renderizador con:

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

cuando estoy tratando de cambiar al otro lienzo.

¿Fue útil?

Solución

Desafortunadamente, y esto se debe a Hon WebGL, no tiene nada que ver con los detalles de Three.js, pero cada contexto de WebGL (en tres.js representado por el renderizador webgl) está unido a un elemento de lona y no puede cambiar¿Qué elemento debe hacerse el contexto webgl?

Entonces: Haz dos tres.WebGlrenderners, uno para cada elemento de lienzo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top