我有一个512x512纹理,我存储在WebGL中
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 512, 512, 0, gl.RGBA, gl.UNSIGNED_BYTE, null)
之后我写了这个纹理。现在我想让RGBA浮起来。
据我所知,这个纹理使用4个通道(RGBA)来存储浮点数,这些浮点数被归一化[0; 1]。
我正在做以下事情来回读:
var framebuffer;
framebuffer = gl.createFramebuffer();
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
var mydata= new Uint8Array(512 * 512 * 4);
gl.readPixels(0, 0, 512, 512, gl.RGBA, gl.UNSIGNED_BYTE, mydata);
但我正在阅读垃圾值。
我哪里出错?