OpenGL填充截头四角形

时间:2013-10-05 05:50:58

标签: c++ visual-studio-2010 opengl glsl

我正在尝试编写一个将使用GLSL进行图像处理的OpenGL / GLSL应用程序。我做了一些研究并得出结论,正确的方法是渲染到帧缓冲对象,然后从gpu中检索图像。不幸的是,我无法弄清楚如何设置平截头体并渲染四边形以使其正确填充。有谁知道怎么做?

1 个答案:

答案 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的特殊部分,它们可能都是一个。