1
Imは私が持っているテクスチャのRGBA値を読み取るしようとしているが、それは、次のエラーを返す保持し、すべての値が0として出てくる:WebGLのreadPixels()無効な操作:無効なフォーマット/タイプの組み合わせ
HERESにWebGL: INVALID_OPERATION: readPixels: invalid format/type combination
初期設定では私のコードのピクセルがテクスチャ値の配列です:後で、その後
texture = gl.createTexture()
gl.activeTexture(gl.TEXTURE0)
gl.bindTexture(gl.TEXTURE_2D, texture)
gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1)
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, n, n, 0,
gl.RGBA, gl.FLOAT, new Float32Array(pixels))
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST)
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST)
FBO = gl.createFramebuffer()
gl.bindFramebuffer(gl.FRAMEBUFFER, FBO)
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0,
gl.TEXTURE_2D, texture, 0)
そして、クリックイベントに、私は次のコマンドを実行します。
gl.bindFramebuffer(gl.FRAMEBUFFER, FBO);
var data = new Uint8Array(resolution * resolution * 4);
gl.readPixels(0, 0, resolution, resolution, gl.RGBA, gl.UNSIGNED_BYTE, data);
console.log(data)
データは、大きなゼロの配列を返します。 フォーマットとタイプの正しい組み合わせは何ですか?ここでどこが間違っていますか?