OpenGL织梦之旅【第一章】使用glut工具包配置OpenGL环境

1.使用glut工具包配置OpenGL环境

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

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

            1.首先,我们需要下载GLUThttp://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
            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;
}


这个是运行的效果图:


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

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

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

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

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

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

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

4glutInitWindowSize,设置窗口的大小。

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

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

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

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

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

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

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

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

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

作者:plusplus7

日期:20121119

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值