2012-12-20 110 views
7

加載在畫布渲染器(IE Win7上)的紋理和增加對onLoad事件回叫時我使用three.js所修訂53ImageUtils.loadTexture在畫布渲染器回調

,紋理是沒有得到顯示。當我刪除的回調函數,是越來越顯示紋理預期:

//不回調WORKING添加

var material = new THREE.MeshBasicMaterial({ 
      map: THREE.ImageUtils.loadTexture('text_build.png', {}, function() 
      { 
//do something 
      }) 
}); 
var plane = new THREE.Mesh(new THREE.PlaneGeometry(135, 135), material); 
plane .overdraw = true; 
scene.add(plane); 

//工作而無回調

var material = new THREE.MeshBasicMaterial({ 
      map: THREE.ImageUtils.loadTexture('text_build.png') 
}); 
var plane = new THREE.Mesh(new THREE.PlaneGeometry(135, 135), material); 
plane .overdraw = true; 
scene.add(plane); 

在運行相同的代碼在WebGL渲染器(FF,WIn7上的Chrome)中,這兩個示例都可以正常工作。

也許有人可以指出我明顯在這裏做的錯誤。

非常感謝。

回答

14

試試這個:

var material = new THREE.MeshBasicMaterial({  
    map: THREE.ImageUtils.loadTexture('text_build.png', new THREE.UVMapping(), function() { ... }) 
}); 
+2

好極了!在添加THREE.UVMapping()作爲映射時工作。 –