0

次のコードを使用して、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) です。何が問題で、どうすれば修正できますか?

4

1 に答える 1