OpenGL编程学习实战教程(2)

GLUT是一个方便实用的opengl工具包,它可以帮助你快捷地建立窗口,接受键盘鼠标响应,并且不受平台限制。对于我们初学者来说,使用这个包可以帮助我们很快地入门。当我们对程序有更高的需求时,我们再学习怎么样搭建基于windows应用程序的opengl程序框架。

下面以VC6.0为例,说明安装glut的步骤:

1.首先,我们需要下载GLUT库

2.将压缩包内的glut.h放到...\MicrosoftVisual Studio\VC98\Include\GL目录下

将glut32.lib放到...\MicrosoftVisual Studio\VC98\Lib目录下

将glut32.dll放到C:\windows\systom32目录下

3.建立一个控制台工程Win32Console Application,加入HelloOpenGL.c并编译运行:

#include <GL/glut.h>
void Draw()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
    glFlush();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("HelloOpenGL");
    glutDisplayFunc(&Draw);
    glutMainLoop();
    return 0;
}

这个是运行的效果图:

OpenGL编程学习实战教程

注:笔者使用的是Ubuntu下CodeBlocks进行的开发,所以可能窗口的外观与windows下有所不同,不过这些都无关紧要。

可以看到两个窗口,我们只管那个有图形的窗口就是了。

刚刚的程序,在一个黑色的窗口中央画了一个白色的矩形。

下面来解释一下main函数中几个glut函数的作用:

1、glutInit,glut初始化,这个函数必须在使用其它的GLUT函数之前调用一次

2、glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色。

3、glutInitWindowPosition,设置窗口在屏幕中的位置。

4、glutInitWindowSize,设置窗口的大小。

5、glutCreateWindow,创建窗口,给定的字符串参数是窗口的标题。

6、glutDisplayFunc,注册一个绘图函数。我们目前只管把画图函数Draw()作为参数就行了。

7、glutMainLoop,进行一个消息循环。

以上的7个函数,不理解没关系,他们的作用主要是辅助我们使用OpenGL画图,我们学习的重点并不是这些函数,只需要知道他们的作用就行了。

在draw函数中,gl开头的函数,便是我们的OpenGL的标准函数。

glClear()语句的作用是使用清除颜色来清除指定的缓冲区。参数GL_COLOR_BUFFER_BIT是指用清除颜色来清除当前可写的颜色缓冲,其中,清除颜色可以由glClearColor()函数来设定。

glRectf()作用是画一个矩形,四个参数分别为对角线上左下方的点的横纵坐标和右上方点的横纵坐标。

glFlush()的作用是让之前的gl命令执行,如果只有glRectf语句的话,命令则不会成功的运行,而且还会出现很有趣的结果^_^。

以上的3个函数,能理解则理解,不能理解就把他们的作用记下来,以后用多了就慢慢理解了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1dd33752d840e115225e85aedc5cc649.html