Three.js 如何在ThreeJS中使用场景渲染结果作为纹理
我想使用场景的渲染结果作为ThreeJS中的纹理。 ThreeJS有这样的功能吗? 我需要修改ThreeJS吗?Three.js 如何在ThreeJS中使用场景渲染结果作为纹理,three.js,Three.js,我想使用场景的渲染结果作为ThreeJS中的纹理。 ThreeJS有这样的功能吗? 我需要修改ThreeJS吗? 谢谢。通过将a传递到THREE.WebGLRenderer.render,可以将场景渲染为纹理 首先,创建所需大小的渲染目标这是您的纹理: var renderer = new THREE.WebGLRenderer(); var renderTarget = new THREE.WebGLRenderTarget(512, 512); 然后,可以在材质上使用THREE.WebGL
谢谢。通过将a传递到THREE.WebGLRenderer.render,可以将场景渲染为纹理 首先,创建所需大小的渲染目标这是您的纹理:
var renderer = new THREE.WebGLRenderer();
var renderTarget = new THREE.WebGLRenderTarget(512, 512);
然后,可以在材质上使用THREE.WebGLRenderTarget.texture:
var geometry = new THREE.PlaneGeometry(1.0, 1.0);
var material = new THREE.MeshBasicMaterial({
map: renderTarget.texture
});
var mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
最后,在两个过程中渲染场景:
renderer.render(fakeScene, fakeCamera, renderTarget);
renderer.render(scene, camera);
可能需要创建新场景和新摄影机以在渲染目标上渲染。这取决于你想做什么
查看和。您可以通过将a传递到THREE.WebGLRenderer.render将场景渲染为纹理 首先,创建所需大小的渲染目标这是您的纹理:
var renderer = new THREE.WebGLRenderer();
var renderTarget = new THREE.WebGLRenderTarget(512, 512);
然后,可以在材质上使用THREE.WebGLRenderTarget.texture:
var geometry = new THREE.PlaneGeometry(1.0, 1.0);
var material = new THREE.MeshBasicMaterial({
map: renderTarget.texture
});
var mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
最后,在两个过程中渲染场景:
renderer.render(fakeScene, fakeCamera, renderTarget);
renderer.render(scene, camera);
可能需要创建新场景和新摄影机以在渲染目标上渲染。这取决于你想做什么
看一看就知道了。当然是这样了。我可以使用renderTarget将场景用作纹理。这很容易理解。非常感谢。当然,已经完成了。我可以使用renderTarget将场景用作纹理。这很容易理解。非常感谢你。