OpenGL Related Development ToolKits (转载)

OpenGL Related Development ToolKits
Yang Jian
jyang@cad.zju.edu.cn 2003/11/17
OpenGL render tips 的这个题目也比较大,而且具体讲那些内容,我还没有完全确定下来,我先讲一个比较小的题目。

关于这个题目的具体内容我也想了很久,我想介 绍一些大家经常用到的内容。
Glu
Glaux
Glut
OpenGL extension Toolkits
GL2PS
GLtrace
Industry develop Toolkits

1 glu
目 前的版本是glu1.3,我想这方面的内容和参考手册大家一定背得比我还熟。我就多嘴几句。Glu是调用OpenGL API实现的,我们可以使用 VC++6.0的Depends得到验证。我们可以认为它是OpenGL的一个辅助工具包。Glu的基本函数功能可以划分为三个方面:
(1)Transform 辅助函数
gluOth2D, gluLookAt, glProject,gluUnProject,glPickMatrix,gluPerspective
(2)Texture 辅助函数
自动Mipmap纹理生成或者纹理缩放为宽高为2^n
glBuild1DMipMaps
glBuild2DMipMaps
gluScaleImage
(3) 高级OpenGL几何图元生成
Sphere,Cylinder等
任意多边形(无论凸多 边形、或者凹多边形)三角形剖分;
Nurbs曲线和曲面;
Bezier曲线,曲面的定义在OpenGL中已经实 现,glMap*。

2 glaux
这是微软开发的,支持OpenGL初始化工作,窗口管理,消息处理等工作的一个开发包。根据我 的程序跟踪和使用,发现这个开发包包含了大量的错误,many bugs,而且能够引起严重的内存泄漏(memory leak)。
Advice: 尽可能避免使用这个开发包。

3 glut
它是一个跨跨平台windows/Linux/unix/mac的OpenGL辅助开发 包,它主要完成的任务有:
窗口创建与删除;
窗口消息的处理;
 键盘鼠标消息回调函数;
OpenGL context的自动管理;
全屏幕程序支持;
 一致的弹出式菜单支持;
::URL:: http://www.opengl.org/developers/documentation/glut/index.html

Advice:它非常适合算法研究。

4 OpenGL extension Toolkits
4.1  SGI’s ogl SDK
关 于OpenGL extension SDK,可以说它一个官方的SDK
::URL:: http://oss.sgi.com/projects/ogl-sample/sdk.html

42  glux
   关于另外一个OpenGL extension SDK
::URL:: http://w3imagis.imag.fr/Membres/Sylvain.Lefebvre/glux/

模仿glut写的,如果和glut配合使用,可以获得比较一致的程序设计风格。
4.3   CSGL: C# graphics library
基 于C#的一个OpenGL开发包,可以在C#中调用OpenGL1.4。
csgl.sourceforge.net/
4.4  OpenGL extension Detection Software(similar to DXCaps)
   关于 OpenGL extension Support检查软件:
www.realtech-vr.com/glview/ 

5 GL2PS
我 们在阅读图形学相关的PDF文件的时候,我们通常会发现一些文件中的插图比较奇怪,当我们拖动页面的滚动条的时候,它们不断地刷新自己,这表明这些插图是 矢量的EPS图形。同时我们似乎觉得它们应该是OpenGL的输出结果。我们的直觉是对的,它们是OpenGL程序输出的EPS文件!如果有了这个开发 包,我想我们可以不再使用屏幕截图的方式生成的paper插图了。

OpenGL程序输出矢量的eps或者ps文件程序库的官方站点:
::URL:: http://www.geuz.org/gl2ps/

6 GLtrace
这是OpenGL开发库中最有名的开发包之一。它是一个OpenGL的Hook DLL。它能够截获 OpenGL 1.3的所有函数调用。假设你知道一个应用程序是使用OpenGL1.3写的,但是你没有它的源代码,那么GLtrace能够记录所有的 OpenGL API调用,那么你就可以知道这个OpenGL程序是如何实现的。它相当一个Hack程序。
它的可以完成的工作如下:
(1) 截获一个OpenGL程序调用的所有OpenGL API序列;
(2)分析一个OpenGL程序的实现算法;
(3)强制一个OpenGL 程序使用Front Buffer绘制,对于跟踪一个.exe应用程序非常有效;
(4)对于一个OpenGL程序,修改GLtrace后,下载一 个应用程序的纹理数据,或者说叫窃取,特别是一些Game或者BenchMark;
(5)修改GLtrace后,窃取一个应用程序的图元数据,或 者网格;
(6)对一个程序作性能优化测试和分析,例如经典的Quake III,Profile或者performance tuning;

至 于如何使用这个工具,需要大家开动聪明的大脑袋。
这里我告诉大家它的官方网站,不过这个工具有多个明显的BUG,希望大家在使用的过程中能够把它 修订,我就不告诉大家是那几个具体的问题了。大家可以学习源代码的时候思考一下。
::URL:: http://www.hawksoft.com/gltrace/
Advice: 推荐等级 *****

7 Industry Development Toolkits

下面主要介绍工业界的大型或者 Open Source,能够实现强大功能和场景组织,输入设备管理的工具包:

我简单列举一下,大家可以到相关网站下载。
SGI OpenGL inventor:
::URL:: http://oss.sgi.com/projects/inventor/

SGI OpenGL performer:
::URL:: http://www.sgi.com/software/performer/
Kitware VTK
::URL:: http://public.kitware.com/VTK/
Open ML: 我感觉它完全是模仿DirectX SDK体系结构的一个东西。大家有兴趣可以研究一下。
::URL:: http://www.khronos.org/openml/

OpenGVS: Quantum3D 的一个大型仿真系统软件包
::URL:: http://www.opengvs.com/

OpenSceneGraph: open source high peformance 3D graphics toolkit
::URL:: http://openscenegraph.sourceforge.net/

OpenSG:一个Open Source 的基于对象的Scene Graph 
::URL:: http://www.opensg.org/

VR Juggler: a good VR open source toolkit.
www.vrjuggler.org/

8 Game Development Library
8.1 Quake III/IV
8.2 Doom II/III 
这 两个是最有名的,最近也公开了。

转载于:https://www.cnblogs.com/heww/archive/2010/07/24/1784363.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值