2014-06-17 173 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函數的參數。