【发布时间】:2017-02-03 12:31:07
【问题描述】:
我想访问帧缓冲区以获取 RGB 并更改每个像素的值。这是因为 glReadPixels 和 glDrawPixels 使用起来太慢了,所以我应该使用着色器而不是使用它们。
现在,我编写代码,并成功使用 GLSL 着色器显示三维模型。
我画了两个立方体如下。
....
glDrawArrays(GL_TRIANGLES, 0, 12*6);
....
和片段着色器:
varying vec3 fragmentColor;
void main()
{
gl_FragColor = vec4(fragmentColor, 1);
}
那么,如何访问 RGB 值并对其进行更改? 比如window上(u1,v1)和(u2,v2)处的像素值为(0,0,255),那么我想把它们改成(255,0,0)
【问题讨论】: