次のコードを使用して、png からテクスチャを作成しようとしています。
...
var texture = gl.createTexture();
var img = new Image();
img.onload = function () {
gl.activeTexture(gl.GL_TEXTURE0);
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, img);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
gl.bindTexture(gl.TEXTURE_2D, null);
}
img.src = "/path/to/image.png"
私の問題は、WebGL が「悪い画像データ」について文句を言うことです。firebug でデバッグすると、画像が切り捨てられていることがわかります。ダウンロードされた png ファイルは、元のファイルの一部 (上半分) にすぎません。Firefox は、「画像が破損しているか、切り捨てられています」とも文句を言います。元のファイルは約 1.8 MB (2048x1024) です。何が問題で、どうすれば修正できますか?