OpenGL的函数很多,中文资料又很少,学习中会遇到不少困难。以下是一些参考资料和学习思路,仅供参考。
一、入门的两本书
下面两本书介绍了OpenGL的一些基本概念,一些函数的用法等,是最基本的入门书。中文版中,有的翻译比较生硬,不容易理解,可以同时参考英文版。
1.《OpenGL Programming Guide》
中文翻译为《OpenGL编程指南》,俗称红宝书,最新为第七版。
2.《OpenGL Super Bible》
中文翻译为《OpenGL超级宝典》,俗称蓝宝书,最新为第五版。
二、入门教程
1. Nehe教程 http://nehe.gamedev.net/
这是国外一个网站,通过48个实例的方式讲解OpenGL,而且有各种编译环境下的源代码可以下载,非常不错。
2. Nate Robins - OpenGL http://user.xmission.com/~nate/tutors.html
通过看源码和显示结果,可以帮助理解一些OpenGL基本函数,非常直观。
3. OpenGL入门学习 http://bbs.pfan.cn/showbbs.asp?id=184355&read=df
网友 eastcowboy 写的一个贴子,理论与实践相结合,非常稀有的国内资源。
三、OpenGL函数查询
1. OpenGL 2.1 Reference.chm
OpenGL 2.1 帮助文档。
2. OpenGL官网的函数查询 http://www.opengl.org/sdk/docs/man/
当前也是OpenGL 2.1。
3.《OpenGL Super Bible》
书后的附录中有函数介绍。
4.《Opengl函数与范例解析手册》
当前唯一的一本中文OpenGL函数参考书,而且有不少例子。但是这本书中漏了不少函数,有些翻译也不甚清楚。
四、OpenGL编程实践
OpenGL编程的实践性很强。同一个OpenGL函数,不同显卡的显示效果可能差别很大。主要原因是显卡的OpenGL驱动程序,各家厂商的实现方式不尽相同。在编程中要注意避开这些差别,尽可能用常用的方式实现各种功能。
OpenGL涉及图形和图像的方方面面,不可能所有东西都学好学透。只能“急用先学”,着重学习当前项目急需的,这样也容易进步。
简单的说,OpenGL就是将三维场景渲染成一幅图像。可能有多种方法实现一个功能,这就需要经验和创意,不断总结提高。
五、进一步的深入
当前有不少基于OpenGL的开源项目,他们对OpenGL都做了很好的封装。通过阅读这些源代码,可以快速提高自己的OpenGL编程水平。同时对自己做的项目,往往也有很好的启发。在做项目时也可以考虑直接使用这些渲染引擎来显示,这样对OpenGL函数不必有太深入的了解,但前提是对他们掌握得很透彻。
1. Mesa http://www.mesa3d.org/
Mesa是一个用软件实现OpenGL接口的开源图形库。有时对某个OpenGL函数或参数理解不透彻时,可以直接查看Mesa中对应的源代码,往往事半功倍。
2. OpenSceneGraph(OSG) http://www.openscenegraph.org/
基于OpenGL的三维渲染引擎。
3. OGRE http://www.ogre3d.org/
基于OpenGL和Direct3D的三维渲染引擎。
4. SolidGraph http://www.geometros.com/solidgraph/index.htm
基于OpenGL的CAD系统。