C++ OpenGL 实现简单场景渲染
在本文中,我们将使用 C++ 和 OpenGL 库来创建一个简单的场景,并实现基于显示列表的渲染。
首先,让我们创建一个基础的窗口和 OpenGL 上下文:
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
int main(int argc, char** argv) {
// 初始化 GLUT 窗口
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(800, 600);
glutCreateWindow("OpenGL Scene");
// 初始化 OpenGL
glClearColor(0.0, 0.0, 0.0, 0.0);
glEnable(GL_DEPTH_TEST);
// 进入主循环
glutMainLoop();
return 0;
}
接下来,我们来创建一些简单的几何图形。这里我们创建一个正方体和一个平面:
// 绘制一个平面
void drawPlane() {
glBegin(GL_QUADS);
glVertex3f(-10.0, 0.0, -10.0);
glVertex3f(-10.0, 0.0, 10.0);
glVertex3f(10.0, 0.0, 10.0);
glVertex3f(10.0,