我正在尝试编写一个将使用GLSL进行图像处理的OpenGL / GLSL应用程序。我做了一些研究并得出结论,正确的方法是渲染到帧缓冲对象,然后从gpu中检索图像。不幸的是,我无法弄清楚如何设置平截头体并渲染四边形以使其正确填充。有谁知道怎么做?
答案 0 :(得分:1)
您需要使用正交投影矩阵进行渲染。
glPushMatrix(GL_WORLDVIEW);
glLoadIdentity();
glPushMatrix(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, width, height, 0, 0, 1);
glBegin(GL_QUADS);
glVertex2i(0, 0);
glVertex2i(width, 0);
glVertex2i(width, height);
glVertex2i(0, height);
glEnd();
glPopMatrix();
glMatrixMode(GL_WORLDVIEW);
glPopMatrix();
宽度和高度是FBO的尺寸。当然,如果您不需要通过在像素位置绘制四边形来处理FBO的特殊部分,它们可能都是一个。