您的位置:首页 > 运维架构

第一个OpenGL程序

2014-04-06 23:03 204 查看

第一个OpenGL程序

自己针对OpenGL的学习,主要是以《OpenGL超级宝典》为主线进行的。这样做虽然会受限于作者的创作思路,针对性不够强,但是也有系统、循序渐进的好处。毕竟,编程就像练功,要步步为营,持之以恒,不可急于求成。在这里留下些痕迹,也算是对自己的督促。

OpenGL是一种功能强大、精巧复杂的3D图形API。它是图形硬件的软件接口。我们使用GLUT函数库编写第一个OpenGL程序。

什么是GLUT?

在GLUT之前,首先出现的是AUX,它是OpenGL辅助函数库。AUX函数库的目标是帮助人们学习和编写OpenGL程序,而不必为任何平台特定的细节而分神。后来,在跨平台的示例程序和演示程序中,GLUT函数库作为AUX函数库一个功能更强的替代品(添加了对基本GUI功能的支持),渐渐将AUX所取代。

程序清单 2-1

#include<glut.h>

//绘制场景
void RenderScene()
{
// OpenGL命令,清除颜色缓冲区
glClear(GL_COLOR_BUFFER_BIT);
//
刷新绘图命令,此时所有未执行的OpenGL命令被执行
glFlush();
}

//
设置渲染状态
void SetupRC()
{
//
设置用于清除窗口的颜色
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}

int main(int argc,char *argv[])
{
//
传递命令行参数,并对GLUT函数库进行初始化
glutInit(&argc, argv);
//
设置创建窗口时的显示模式(单缓冲区、RGBA颜色模式)
glutInitDisplayMode(GLUT_SINGLE |GLUT_RGBA);
//
创建窗口
glutCreateWindow("Simple");
//
设置显示回调函数
glutDisplayFunc(RenderScene);
//
设置渲染状态
SetupRC();
//
启动GLUT框架的运行,一经调用便不再返回,直到程序终止
glutMainLoop();

return 0;
}

最后程序的运行结果,会显示一个标题为Simple的蓝色小窗口:



nice~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: