【发布时间】:2016-10-02 15:32:53
【问题描述】:
THREE.TextureLoader() 以一种意想不到的错误方式运行。类的 load() 函数多次尝试/加载相同的资产(即 20 次或更多)。
下图显示了使用浏览器控制台的这种行为:
用于加载和使用纹理的代码如下:
Element.prototype.createShaderMaterial = function (uniforms, vertexShader, fragmentShader) {
var loader = new THREE.TextureLoader();
uniforms.texture.value = loader.load(this.texture);
return new THREE.ShaderMaterial({
uniforms: uniforms,
vertexShader: vertexShader,
fragmentShader: fragmentShader,
wireframe: true
});
};
您还可以在此处找到实时预览:https://alexprut.github.io/earth-defender/ 和这里的游戏代码:https://github.com/alexprut/earth-defender/tree/master/client/js
做错了什么?为什么同一张图片会被多次加载?
【问题讨论】:
标签: javascript three.js