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
Webgl 如何设置延迟纹理_Webgl_Three.js - Fatal编程技术网

Webgl 如何设置延迟纹理

Webgl 如何设置延迟纹理,webgl,three.js,Webgl,Three.js,我试着设置一个纹理。但它不起作用。在这种情况下,我应该如何设置纹理 这是密码 如有任何提示,将不胜感激 谢谢大家因为需要预先分配缓冲区,所以需要先渲染更复杂的材质 为此,您可以执行以下操作: window.mesh = new THREE.Mesh( new THREE.SphereGeometry( 10, 20, 30 ), new THREE.MeshLambertMaterial({ map: THREE.ImageUtils.loadTexture('/img/log

我试着设置一个纹理。但它不起作用。在这种情况下,我应该如何设置纹理

这是密码

如有任何提示,将不胜感激
谢谢大家

因为需要预先分配缓冲区,所以需要先渲染更复杂的材质

为此,您可以执行以下操作:

window.mesh = new THREE.Mesh(
  new THREE.SphereGeometry( 10, 20, 30 ),
  new THREE.MeshLambertMaterial({
    map: THREE.ImageUtils.loadTexture('/img/logo.png')})
);
scene.add( mesh );
 
// render once
renderer.render( scene, camera );

// remove map
window.mesh.material.map = null;
window.mesh.material.needsUpdate = true;
如果您认为这是一个太多的黑客,另一个解决方案是只需要一个虚拟的透明或纯色贴图纹理开始

您可以在three.js wiki上阅读有关此问题的更多信息:


这里有一个更新的提琴:

因为需要预先分配缓冲区,所以需要首先渲染更复杂的材质

为此,您可以执行以下操作:

window.mesh = new THREE.Mesh(
  new THREE.SphereGeometry( 10, 20, 30 ),
  new THREE.MeshLambertMaterial({
    map: THREE.ImageUtils.loadTexture('/img/logo.png')})
);
scene.add( mesh );
 
// render once
renderer.render( scene, camera );

// remove map
window.mesh.material.map = null;
window.mesh.material.needsUpdate = true;
如果您认为这是一个太多的黑客,另一个解决方案是只需要一个虚拟的透明或纯色贴图纹理开始

您可以在three.js wiki上阅读有关此问题的更多信息:


这里有一个更新的提琴:

谢谢你的建议和黑客代码。现在我的新演示是因为你。谢谢你的建议和黑客代码。现在我的新演示因为你才起作用。