【for Beginners】怎样开始学习OpenGL

  怎样开始学习OpenGL
wingser 2004.12.6 [email protected]

什么是OpenGL:
OpenGL(“Open Graphics Library”)是图形硬件的软件接口。OpenGL包括大约250个不同的函数,程序员可以使用这些函数设定要绘制的物体和操作,来制作交互的三维应用程序。

OpenGL是专业图形处理,科学计算等高端应用领域的标准图形库。它的主要竞争对手是微软的Direct3D。OpenGL曾长期处于技术上的领先地位,但近年来Direct3D也迎头赶上。目前这两种图形API在性能上可说是旗鼓相当。不过OpenGL支持众多的操作系统,而Direct3D只在Windows平台上可用。因此OpenGL仍然广受瞩目。

有哪些游戏采用了OpenGL渲染?
多了去了,魔兽3啊,cs啊,doom啊,quake啊,等等等等等等......

怎样开始学习OpenGL:
你可以在OpenGL的官方网站http://www.OpenGL.org的Documentation中下载到官方教程和例子程序:
The OpenGL Programming Guide,这就是著名的red book(“红皮书”)

如果你英语不好,那么推荐你阅读:
《OpenGL超级宝典》是一本相当不错的中文教程。可以在http://www.vrforum.cn/forumdisplay.php?fid=29找到它的例子代码
《OpenGL编程权威指南》他是red book的中文译本,它的例子也就是red book的例子。

*Nate Robin的例子对你理解OpenGL很有帮助。http://www.gamedev.net/reference/articles/article839.asp

*The OpenGL Reference Manual(blue book)并不是一本入门教材,而是一本函数参考手册,可以从http://www.OpenGL.org的Documentation中下载下来,在实际学习中查询用

*NeHe的例子也是大家所喜爱的初学者例子。http://nehe.gamedev.net,在http://www.chinagamedev.net还有一部分的中文译文

***nehe的简单窗口例子(第二课)几乎含盖世界上的所有语言,如果想用自己喜欢的独特语言,可以参考http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=02最下方的联接,并结合C++的例子学习(大多数教材都是基于C++的,不过幸好我们真正关注的是OpenGL本身)
***Nehe这一课关注于窗口的建立,并以下语言的移植版本,按字母排序(我就不删除这些厄余信息了,这实在太多了>_< !)

Visual C++ Code For This Lesson.
ASM Code For This Lesson. ( Conversion by Foolman )
Borland C++ Builder 6 Code For This Lesson. ( Conversion by Christian Kindahl )
BeOS Code For This Lesson. ( Conversion by Rene Manqueros )
C# Code For This Lesson. ( Conversion by Joachim Rohde )
VB.Net CsGL Code For This Lesson. ( Conversion by X )
Code Warrior 5.3 Code For This Lesson. ( Conversion by Scott Lupton )
Cygwin Code For This Lesson. ( Conversion by Stephan Ferraro )
D Language Code For This Lesson. ( Conversion by Familia Pineda Garcia )
Delphi Code For This Lesson. ( Conversion by Michal Tucek )
Dev C++ Code For This Lesson. ( Conversion by Dan )
Game GLUT Code For This Lesson. ( Conversion by Milikas Anastasios )
GLUT Code For This Lesson. ( Conversion by Andy Restad )
Irix Code For This Lesson. ( Conversion by Lakmal Gunasekara )
Java Code For This Lesson. ( Conversion by Jeff Kirby )
Java/SWT Code For This Lesson. ( Conversion by Victor Gonzalez )
Jedi-SDL Code For This Lesson. ( Conversion by Dominique Louis )
JoGL Code For This Lesson. ( Conversion by Kevin J. Duling )
LCC Win32 Code For This Lesson. ( Conversion by Robert Wishlaw )
Linux Code For This Lesson. ( Conversion by Richard Campbell )
Linux/GLX Code For This Lesson. ( Conversion by Mihael Vrbanec )
Linux/SDL Code For This Lesson. ( Conversion by Ti Leggett )
LWJGL Code For This Lesson. ( Conversion by Mark Bernard )
Mac OS Code For This Lesson. ( Conversion by Anthony Parker )
Mac OS X/Cocoa Code For This Lesson. ( Conversion by Bryan Blackburn )
MASM Code For This Lesson. ( Conversion by Nico (Scalp) )
Power Basic Code For This Lesson. ( Conversion by Angus Law )
Pelles C Code For This Lesson. ( Conversion by Pelle Orinius )
Perl Code For This Lesson. ( Conversion by Cora Hussey )
Python Code For This Lesson. ( Conversion by Travis Wells )
QT/C++ Code For This Lesson. ( Conversion by Popeanga Marian )
REALbasic Code For This Lesson. ( Conversion by Thomas J. Cunningham )
Ruby Code For This Lesson. ( Conversion by Ben Goodspeed )
Scheme Code For This Lesson. ( Conversion by Jon DuBois )
Solaris Code For This Lesson. ( Conversion by Lakmal Gunasekara )
Visual Basic Code For This Lesson. ( Conversion by Ross Dawson )
Visual Fortran Code For This Lesson. ( Conversion by Jean-Philippe Perois )
Visual Studio .NET Code For This Lesson. ( Conversion by Grant James )

你可能感兴趣的:(学习OpenGL)