私は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が保持されます。
ありがとうございます。 WebGLので
編集genpfaultありがとうございました。この質問にはopengl-esというタグを付ける必要があります。 –
いいえopengl-esとは何の関係もないため、opengl-esタグを付けてはいけません。 OpenGL ESにはArrayBufferViewsやHTMLImageElementsという概念はありません – gman