如何设置延迟纹理
答
因为缓冲区必须预先分配,则需要先使你更复杂的材料。
要做到这一点,你可以做这样的事情:
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上阅读更多关于此问题的文章:https://github.com/mrdoob/three.js/wiki/Updates。
这是更新的小提琴:http://jsfiddle.net/9VgTt/14/
感谢您的建议和黑客代码。 现在我的新演示正在为你工作。 – yomotsu 2012-08-17 19:16:24