我正在研究一個WebGL項目,並且所有的紋理渲染都很好。 當我想實現一個立方體貼圖時,我開始出現這種類型的錯誤。 Argument 9 of WebGLRenderingContext.texImage2D does not implement interface ArrayBufferViewOrNull.
在所有瀏覽器中。 我使用加載紋理的我的代碼片段是,WebGLRenderingContext.texImage2D沒有實現接口ArrayBufferViewOrNull
var cubeMap = gl.createTexture();
gl.bindTexture(gl.TEXTURE_CUBE_MAP, cubeMap);
for(var i = 0; i < 6; i++)
{
var img = cubeMapArr[i];
console.log(img);
gl.texImage2D(
gl.TEXTURE_CUBE_MAP_POSITIVE_X + i,
0, gl.RGB, 1024, 1024, 0, gl.RGB, gl.UNSIGNED_BYTE,img);
}
的cubeMapArr
保持HTMLImageElements。 有關此問題的任何想法或經驗? 使用gl.texImage2D()
例如像這樣,
gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,normalMapTexture);
作品沒有問題。 再次normalMapTexture
保存HTMLImageElement。
謝謝。
謝謝編輯genpfault這個問題應該標記爲opengl-es。 –
不,它不應該被標記爲opengl-es,因爲錯誤與opengl-es無關。 OpenGL ES沒有ArrayBufferViews或HTMLImageElements的概念 – gman