Я получаю «WebGL: INVALID_OPERATION: bindTexture: объект не из этого контекста» ошибка при рендеринге окна с использованием нижеприведенных строк кода. Из-за этого текстура не рендеринга, она дает черный цвет фона.three.js: WebGL: INVALID_OPERATION: bindTexture: объект не из этого контекста
Это не относится ко всем временам, иногда это будет выглядеть отлично несколько раз. Я сравнивал геометрию и данные материала, добавляя к сцене, результаты одинаковы в обоих случаях.
var urls = [
"img/bg/img-BACK.jpg",
"img/bg/img-FRONT.jpg",
"img/bg/img-TOP.jpg",
"img/bg/img-BOTTOM.jpg",
"img/bg/img-RIGHT.jpg",
"img/bg/img-LEFT.jpg"
],
textureCube = THREE.ImageUtils.loadTextureCube(urls); // load textures
textureCube.format = THREE.RGBFormat;
var shader = THREE.ShaderLib["cube"];
shader.uniforms["tCube"].value = textureCube;
var skyBoxMaterial = new THREE.ShaderMaterial({
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
uniforms: shader.uniforms,
depthWrite: false,
side: THREE.BackSide
});
skyBoxMaterial.needsUpdate = true;
var skybox = new THREE.Mesh(
new THREE.CubeGeometry(10000, 10000, 10000),
skyBoxMaterial
);
scene.add(skybox);
Из скриншоте выше, точка "1" является выход в то время как я получаю эту ошибку. Экран точки «2» не содержит никаких исключений при рендеринге.
Оцените свою поддержку, чтобы исправить проблему.
Попробуйте удалить 'skyBoxMaterial.needsUpdate = true;' – WestLangley
@WestLangley, я включил «skyBoxMaterial.needsUpdate = true;» для решения этой проблемы. Я получаю ту же ошибку, даже после удаления строки. –
Можете ли вы ссылаться на простой живой пример, используя текущую версию three.js? – WestLangley