Когда я запускаю приведенный ниже пример кода, я получаю черный экран в 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";
}
Я что-то пропустил или не могли бы вы сказать мне, почему я получаю эту ошибку?
Заранее спасибо