WebGl Не удалось выполнить texImage2D для WebGLRenderingContext - PullRequest
0 голосов
/ 11 декабря 2018

Когда я запускаю приведенный ниже пример кода, я получаю черный экран в Google Chrome и получаю сообщение об ошибке:

Uncaught DOMException: Не удалось выполнить 'texImage2D' для 'WebGLRenderingContext': элемент изображениясодержит данные из разных источников и не может быть загружен.at 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";
}

Я что-то пропустил или не могли бы вы сказать мне, почему я получаю эту ошибку?

Заранее спасибо

...