对于学习计算机而言,需要实践才能出真知。学习使用GLUT进行计算机图形学。与其他功能强大的API一样,OpenGL十分复杂,提供许多编程方法来解决问题。
mian函数一般由建立OpenGL系统的操作组成。通常有两种实现方法:1.通过GLUT创建并设置用户显示的系统窗口,第二,通过定义回调函数,建立时间处理系统。回调函数是事件发生时使用的,并初始化模型和显示环境。示例程序如下:
1 |
|
回调函数是相关事件发生时,系统事件处理程序时调用的函数。上面的程序就是OpenGL程序的基本结构,display函数用于在屏幕中展示图像。OpenGL应用程序中的main()函数结有一些关键的操作,设置显示模式,定义用于显示的窗口,以及程序所需的初始化操作。使用glutInitDisplayMode()设置模式。
在模型空间使用glBegin()……glEnd()来绘制图像。模型变换则是哟个glPushMatrix()/glPopMatrix().而视图变换时使用:
glutLookAt(ex,ey,ez,lx,ly,lz,ux,uy,uz),
(ex,ey,ez)视点坐标,(lx,ly,lz)表示视线的方向,(ux,uy,uz)定义向上的矢量方向。投影操作使用:
glOrthon(left,right,bottom,top,near, far);
left,right表示正交视域体的左侧面和右侧面的x坐标,bottom和top分别时下底面和上底面的y坐标,near和far分别时前面与背面的z坐标。透视投影使用下面函数定义:
gluPerspective(fovy,aspect,near,far)
第一个参数是视场角,第二个参数aspect是高宽比,near和far分别时前面与背面的z坐标。
示例代码如下:
1 |
|
上面所用到的OpenGL函数主要有:
1 | glBegin(xxx):指定由顶点函数定义的几何模型的类型 |
GLU函数:
1 | gluLookAt(ex,ey,ez,vx,vy,vz,ux,uy,uz): 通过定义视点位置,视点观察位置和观测向上放心设置环境参数 |
GLUT函数:
1 | glutCreateWindow(title): 创建图形窗口,并给出窗口名 |
参数:
1 | GL_COLOR_BUFFER_BIT : 与glClear()一起使用,表明清空颜色缓存 |