0

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

4

1 回答 1

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 的特殊部分,它们可以同时是一个。

于 2013-10-05T06:13:19.733 回答