OpenGL默认的render target

若不使用自己所定义的FBO,则每一次渲染将会被保存到OpenGL自己所定义的默认FBO上的color attachment上。

而其默认的Color Attachment的格式应该为RGBA + RGBA + UNSIGNED_BYTE。


当需要从其buffer中读取像素信息时,若直接在fragment shader中输出大于1.0f的数据,读取出来时会直接发生截断[0.0, 1.0]。

尝试过使用下面函数关于数据截断,未起效:

glClampColor(GL_CLAMP_READ_COLOR, GL_FALSE);


这里是由于FBO中的Attachment的格式是预先所设定好的, 因此后期的数据存取均会受其影响。

你可能感兴趣的:(计算机基础,计算机图形学)