我正在使用 three.js 修订版 53
在 Canvas Renderer(Win7 上的 IE)中加载纹理并为 onLoad 事件添加回调时,纹理未显示。当我删除回调函数时,纹理会按预期显示:
//添加回调不工作
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)中运行相同的代码时,两个示例都工作正常。
也许有人可以指出我显然在这里犯的错误。
非常感谢。
最佳答案
试试这个:
var material = new THREE.MeshBasicMaterial({
map: THREE.ImageUtils.loadTexture( 'text_build.png', new THREE.UVMapping(), function() { ... } )
});
关于javascript - ImageUtils.loadTexture 与 Canvas 渲染器中的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13980889/