WebGl无法在“ WebGLRenderingContext”上执行“ texImage2D”

时间:2018-12-11 12:32:15

标签: google-chrome cross-domain webgl textures same-origin-policy

当我在下面运行示例代码时,我在Google chrome中出现黑屏,并收到错误消息:

  

未捕获的DOMException:无法在“ WebGLRenderingContext”上执行“ texImage2D”:图像元素包含跨域数据,并且可能无法加载。       在handleLoadedTexture

但是当我在网络服务器上运行代码时,我没有收到任何错误。

function handleLoadedTexture(texture) {
    gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
    gl.bindTexture(gl.TEXTURE_2D, texture);
    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, texture.image);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);
    gl.generateMipmap(gl.TEXTURE_2D);

    gl.bindTexture(gl.TEXTURE_2D, null);
}


var moonTexture;

function initTexture() {
    moonTexture = gl.createTexture();
    moonTexture.image = new Image();
    moonTexture.image.onload = function () {
        handleLoadedTexture(moonTexture)
    }

    moonTexture.image.src = "moon.gif";
}

我错过了什么吗?或者您能告诉我为什么我收到此错误吗?

预先感谢

0 个答案:

没有答案