Threejs,为什么“纹理标记为更新但图像不完整”?

时间:2017-05-17 15:30:08

标签: three.js

我使用256 * 256像素png作为纹理,geometry.vertices也是256 * 256。 它出现警告“纹理标记为更新但图像不完整”。 也许我不明白“不完整”的含义。 感谢您的回复。

1 个答案:

答案 0 :(得分:0)

我不知道你是如何加载纹理的。所以这只是我的猜测。

我可以在setTexture2D中看到这一行。

} else if ( image.complete === false ) {
    console.warn( 'THREE.WebGLRenderer: Texture marked for update but image is incomplete', texture );
} else {

我想你的texture.image尚未加载。你是如何加载图像的?如果您像下面一样加载texture.image并且不处理image.onload等待使用它直到它正确地放入内存,我想这个警告可能会发生。

var texture = new Texture();
texture.image = new Image();
document.body.appendChild(texture.image);
texture.image.src = "http://......../texture.png";

如果是这样,我建议使用THREE.TextureLoader,并确保在使用之前加载纹理。