我有两个场景:主要的一个,渲染一个纹理平面,第二个,应该渲染到纹理。此纹理应该用作主场景中平面的地图。
所有THREE.WebGLRenderTarget
示例由于某种原因每帧重绘两个场景,但我希望我的第二个场景只渲染一次纹理。比渲染的结果应该存储为任何其他纹理。
一个简化的小提琴可用here。在animate()
函数中,您可以删除if(i === 0)
,以便每帧渲染第二个场景。
纹理加载是异步的。您需要确保在使用纹理之前加载纹理。
一种解决方案是在加载器回调中调用animate()
。
beginTexture = new THREE.TextureLoader().load( "https://i.imgur.com/eoQwyRb.png", animate );
另一种解决方案是使用加载管理器。
three.js r.102