OpenGL的最早版本OpenGL 1.0由Mark Segal和Kurt Akeley发布于1992年1月,时至今日早已是苍海沧田。笔者将一小步一小步带领大家去领略计算机图形学神奇的世界。
OpenGL的“Hello World”是一个线段绘制小程序。下面直接上代码及解析。
#include <Gl/glut.h>//调用OpenGL实用函数工具包(OpenGL Utility Toolkit,GLUT)
void init()
{
glClearColor(1.0, 1.0, 1.0, 0.0);//设置显示窗口颜色为白色
glMatrixMode(GL_PROJECTION);//设置投影模式为正投影
gluOrtho2D(0.0, 200.0, 0.0, 150.0);//显示窗口左下角为(0.0,0.0),右上角为(200,150)
}
void lineSegment()
{
glClear(GL_COLOR_BUFFER_BIT);//用当前缓冲区(glClearColor)清除值(GL_COLOR_BUFFER_BIT)
glColor3f(0.0, 0.4, 0.2);//设置绘制所使用颜色(绿色)
glBegin(GL_LINES);//开始绘制线段
glVertex2i(180,15);//线段起点
glVertex2i(10, 145);//线段终点
glEnd();//结束绘制线段
glFlush();//强制刷新缓存
}
void main(int argc, char**argv)
{
glutInit(&argc, argv);//初始化GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//设置显示模式:单缓存、RGB模式
glutInitWindowPosition(50, 100);//窗口左上角位置
glutInitWindowSize(400, 300);//设置窗口宽、高
glutCreateWindow("An Example OpenGL Program");//创建该标题的窗口
init();
glutDisplayFunc(lineSegment);//通过回调函数发送图形到显示窗口
glutMainLoop();//启动主循环,等待消息
}
相信大家已经领略到了OpenGL绘图功能的简便,下一篇将带大家去了解更多图形的绘制。