OpenGL 填充视锥体与四边形

OpenGL fill frustum with quad

本文关键字:四边形 视锥 填充 OpenGL      更新时间:2023-10-16

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

您需要使用正交投影矩阵进行渲染。

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 的特殊部分,它们可能是两个