OpenGL学习笔记(3)--OpenGL中几种头文件的作用及区别

初学OpenGL的时候,在cpp源文件中经常需要引用到gl.h、glu.h、gltools.h等各种头文件,其实也不知道每个头文件都是干啥用的,通过网上资源了解了下,现在来总结下:

1、gl.h  

按照约定,所有的OpenGL函数、类型和宏的原型都包含在头文件gl.h中。

2、glu.h (OpenGL Utility library):

OpenGL 工具函数库,主要定义OpenGL中的一些工具函数

3、glut.h(OpenGL Utility Toolkit):OpenGL实用工具库。

这个库的出现是取代了AUX(OpenGL辅助函数库)。AUX的作用是帮助人们学习和编写OpenGL程序,而不必为任何平台特定的细节而分身。缺点是缺乏对GUI(graphic user interface,图形用户接口)功能的支持,所以,限制了使用这个函数库创建实用的应用程序。so,有了GLUT。在绝大数的Unix(包括Linux)系统中都对GLUT函数库进行了支持,并且在Max OS X系统中,对GLUT进行了本地支持,Apple对这个函数库进行了维护和扩展。但是在Windows系统中,GLUT的开发已经中断。一种新的GLUT实现freeglut已经崛起并取代了GLUT的位置。

如果只是在Windows平台下开发OpenGL应用程序,而不考虑代码移植的问题,则可以完全使用freeglut取代GLUT;但是如果开发的OpenGL应用程序需要进行跨平台移植的话,使用GLUT可能会更方便。

4、gltools.h

负责所有平台特定的变型。下面是该文件中的部分内容。

// Windows
#ifdef WIN32
#include <windows.h> // Must have for Windows platform builds
#include "glee.h" // OpenGL Extension "autoloader"
#include <gl\gl.h> // Microsoft OpenGL headers (version 1.1 by themselves)
#include <gl\glu.h> // OpenGL Utilities
#include "glut.h" // Glut (Free-Glut on Windows)
#endif

glee.h 表示OpenGL Easy Extension库。这个库在项目中透明地添加了OpenGL扩展。基本的Microsoft头文件只包含了OpenGL1.1的功能,GLEE在项目中添加了其他的API。

到这里,相信大家对这几个库之间的相互包含关系,以及每个库的作用有了大概的了解。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值