直接上代码,注释详细
#include <GL/glew.h>
#include<GL/glut.h>
#include <GLFW/glfw3.h>
int main(int argc, char *argv[]) {
glutInit(&argc, argv); //初始化GLUT
/*
GLUT_DOUBLE 设置双缓冲
(double buffering,即当一个 buffer 显示的时候,另一个 buffer 用来绘制)
和 color buffer,后者是大多数渲染结束的地方(比如屏幕)
*/
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
/*这些函数设置了窗口的参数(包括窗口大小、窗口位置以及窗口标题)并创建窗口。*/
glutInitWindowSize(800, 600);
glutInitWindowPosition(100, 100);
glutCreateWindow("Test_1");
glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
/*这个函数调用将控制传递给 GLUT,并且开启了它自己内部的循环。
在这个循环中,它监听来自窗口系统的事件并通过我们设置的回调函数传递给 GLUT。*/
glutMainLoop();
/*
glClear()函数的功能仅仅就是清除帧缓存(使用我们在上面指定过的颜色)。
*/
glClear(GL_COLOR_BUFFER_BIT);
/*
glutSwapBuffers()函数调用是为了告诉 GLUT 在 backbuffer 和 frontbuffer 之间进行交换。
在通过帧回调函数的下一个循环中,
我们将场景渲染到当前的 frontbuffer 中,而 backbuffer 将被显示。
*/
glutSwapBuffers();
}
本文详细介绍了使用OpenGL与GLUT库创建窗口的过程,包括初始化GLUT、设置显示模式、窗口大小与位置,以及创建窗口。通过示例代码展示了如何设置背景颜色并实现双缓冲渲染,为OpenGL初学者提供了实践指南。
537

被折叠的 条评论
为什么被折叠?



