Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js 如何在ThreeJS中使用场景渲染结果作为纹理_Three.js - Fatal编程技术网

Three.js 如何在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

我想使用场景的渲染结果作为ThreeJS中的纹理。 ThreeJS有这样的功能吗? 我需要修改ThreeJS吗?
谢谢。

通过将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将场景用作纹理。这很容易理解。非常感谢你。