2014-06-17 132 views
-2

我想在与three.sj 3D LIBRAIRIE立方体纹理应用,但它不到风度的作品,我没有找到我的错误。 我成功应用在后台而不是在立方体上一个计划,我不知道为什么WebGL的纹理不工作

var material = new THREE.MeshLambertMaterial({ 
    map: THREE.ImageUtils.loadTexture('assets/images/texture/ciel.jpg') 
}); 

var cube = new THREE.Mesh(new THREE.CubeGeometry(200, 200, 200), material); 
cube.overdraw = true; 
cube.rotation.x = Math.PI * 0.1; 
scene.add(cube); 

回答

0

是您的场景动画?

有时候,如果场景没有动画,加载纹理可能会产生问题,因为当前没有任何代码在完成加载纹理后重新渲染场景,或者至少等待纹理加载之前渲染场景。

在这两个方面,它可能是最好的加载完成后,重新绘制场景,所以你需要附加的回调函数,将做到这一点,加载后。

var material = new THREE.MeshLambertMaterial({ 
    map: 
    THREE.ImageUtils.loadTexture('assets/images/texture/ciel.jpg', undefined, function() { 
     renderer.render(scene, camera); 
    }); 
}); 

ImageUtils docs了解什么是loadTexture函数的参数。