OpenGL render tips的这个题目也比较大,而且具体讲那些内容,我还没有完全确定下来,我先讲一个比较小的题目。

关于这个题目的具体内容我也想了很久,我想介绍一些大家经常用到的内容。
l Glu
l Glaux
l Glut
l OpenGL extension Toolkits
l GL2PS
l GLtrace
l Industry develop Toolkits
1 glu
目前的版本是glu1.3,下载地址(http://www.geocities.com/vmelkon/glu.html)我想这方面的内容和参考手册大家一定背得比我还熟。我就多嘴几句。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几何图元生成
l Sphere,Cylinder等
l 任意多边形(无论凸多边形、或者凹多边形)三角形剖分;
l Nurbs曲线和曲面;
Bezier曲线,曲面的定义在OpenGL中已经实现,glMap*。
2 glaux
这是微软开发的,支持OpenGL初始化工作,窗口管理,消息处理等工作的一个开发包。根据我的程序跟踪和使用,发现这个开发包包含了大量的错误,many bugs,而且能够引起严重的内存泄漏(memory leak)。
Advice:尽可能避免使用这个开发包。
 
3 glut
3.7.6下载地址(http://www.xmission.com/~nate/glut.html)
它是一个跨跨平台windows/Linux/unix/mac的OpenGL辅助开发包,它主要完成的任务有:
l 窗口创建与删除;
l 窗口消息的处理;
l 键盘鼠标消息回调函数;
l OpenGL context的自动管理;
l 全屏幕程序支持;
l 一致的弹出式菜单支持;
http://www.opengl.org/developers/documentation/glut/index.html
Advice:它非常适合算法研究。
4 OpenGL extension Toolkits
4.1  SGI’s ogl SDK
opengl 1.2以上版本 请用opengl 扩展库, 我用的是 glew  ,下载地址 http://glew.sourceforge.net/
关于OpenGL extension SDK,可以说它一个官方的SDK
http://oss.sgi.com/projects/ogl-sample/sdk.html
42 glux
关于另外一个OpenGL extension SDK
http://w3imagis.imag.fr/Membres/Sylvain.Lefebvre/glux/
模仿glut写的,如果和glut配合使用,可以获得比较一致的程序设计风格。
4.3CSGL: 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文件程序库的官方站点:
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,希望大家在使用的过程中能够把它修订,我就不告诉大家是那几个具体的问题了。大家可以学习源代码的时候思考一下。
http://www.hawksoft.com/gltrace/
Advice:推荐等级 *****
 
7 Industry Development Toolkits
下面主要介绍工业界的大型或者Open Source,能够实现强大功能和场景组织,输入设备管理的工具包:
我简单列举一下,大家可以到相关网站下载。
SGI OpenGL inventor:
http://oss.sgi.com/projects/inventor/
SGI OpenGL performer:
http://www.sgi.com/software/performer/
Kitware VTK
http://public.kitware.com/VTK/
Open ML: 我感觉它完全是模仿DirectX SDK体系结构的一个东西。大家有兴趣可以研究一下。
http://www.khronos.org/openml/
OpenGVS: Quantum3D 的一个大型仿真系统软件包
http://www.opengvs.com/
OpenSceneGraph: open source high peformance 3D graphics toolkit
http://openscenegraph.sourceforge.net/
OpenSG:一个Open Source 的基于对象的Scene Graph
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
这两个是最有名的,但是它们没有公开。

opengl 1.2以上版本 请用opengl 扩展库, 我用的是 glew  ,  这里下载http://glew.sourceforge.net/ 最新 1.5.1

【转】OpenGL Related Development ToolKits相关推荐

  1. OpenGL入门:窗口开启、改变窗口背景颜色

    OpenGL入门 开启一个窗口: 运用OpenGL在窗口中绘制图形 显示一个窗口 利用OpenGL修改窗口背景颜色 改变颜色的闪烁 开启一个窗口: // Include for GLFW header ...

  2. OpenGL学习笔记 1.前期准备工作 (freegult+GLTools配置及导入)

    行百里者半九十.为了激励自己能够不断的学习图形学,在此博客中记录自己学习OpenGL的过程与感悟.接下来的笔记全部基于OpenGL SuperBible5(蓝宝书),这篇文章将会从最基础的绘制Tria ...

  3. OpenGL环境搭建:Win7 VS2013X64 +freeglut2.8.1+glew1.7.0+gltools

    Windows平台搭建篇: 方式一:采用Win7 VS2013X64 +freeglut-2.8.1+glew-1.7.0+gltools进行搭建.搭建流程如下: 1.下载glew-1.7.0:根据自 ...

  4. 在Susy和Toolkits上与Miriam Suzanne进行实时问答

    加入我们与专家聊天! (Join Us for a Chat with an Expert!) There are so many toolkits available, and the proble ...

  5. 【OpenGL】多重采样案例MSAA

    示例图暂缺(目前运行exe失败,后期补充) 本文比较难,个人来说还不是完全弄懂. #version 150 // hdr_bloom.vs // outputs MVP transformed pos ...

  6. 【OpenGL】运用GLTriangleBatch三角形批次类创建球体、花托、圆柱圆锥体、圆盘

    目录 球体 花托 圆柱 圆盘 球体 创建球体 void gltMakeSphere(GLTriangleBatch& sphereBatch, GLfloat fRadius, GLint i ...

  7. c++ 工具库 (zz)

    下面是收集的一些开发工具包,主要是C/C++方面的,涉及图形.图像.游戏.人工智能等各个方面,感觉是一个比较全的资源.供参考! 原文的出处:http://www.codemonsters.de/hom ...

  8. 【C/C++开发】c++ 工具库 (zz)

    下面是收集的一些开发工具包,主要是C/C++方面的,涉及图形.图像.游戏.人工智能等各个方面,感觉是一个比较全的资源.供参考!  原文的出处:http://www.codemonsters.de/ho ...

  9. 论技术领域学好英文的重要性

    OPCUASDKHelp 封页 Welcome to the UA SDK(欢迎使用UA SDK) //欢迎使用统一体系结构软件开发工具包 Welcome to the Unified Archite ...

  10. NS安装问题收集(2)

    安装必须的软件环境: $ sudo apt-get install build-essential autoconf automake libxmu-dev $ sudo apt-get instal ...

最新文章

  1. 如何将Android带入互联网数字家庭? 第一篇转载
  2. linux Makefile编写的整理
  3. python获取方法的装饰方法_python – 在一个方法上得到装饰器名称的内省?
  4. OpenCASCADE:绘制演示脚本
  5. Storm 01_初识初知
  6. vue实现多行数据提交_(Vue起步)3.Vue设计模式:MVVM模式
  7. Hbase block cache
  8. 2021高考成绩已出城市查询,2021年青海高考成绩什么时候出来 公布时间
  9. swf文件的反编译或着flash文件的反编译
  10. android 手势截图,小米8手机如何截图/长截屏/手势截屏?小米8四种截图方法
  11. 10秒钟的Cat 6A网线认证仪_DSX2-5000 CH
  12. Linux网络编程:状态机
  13. 前端实现自定义表情【微信表情】
  14. java setw_C++ setw:格式化输出(详解版)
  15. python常用颜色表示_Python命令行的常用颜色,python,字体
  16. Excel表格中将两个或多个单元格内容合并为一个单元格的内容
  17. Python爬链家网租房信息
  18. svn访问路径提示Unable to connect to a repository at url
  19. Win7系统下发生一个文件夹,无法删除,解决记录
  20. 写了一个svg七巧板拼图的小东西

热门文章

  1. BGP路由反射器原理及配置实例
  2. 总结分析一下三种求解最短路问题的算法,dijkstra算法,spfa算法,floyd算法。
  3. macOS 运行react项目
  4. 布局文件是如何被解析的?
  5. RAC连接时的2种方式Connect Time Failver和taf
  6. Redhat5 安装oracle10g 启动测试
  7. 【转】js获取浏览器信息和客户端硬件信息
  8. gentoo12.0安装配置
  9. C#中可以使用正则表达式来过滤html字符
  10. bread是可数还是不可数_英语语法丨可数名词和不可数名词讲解(上),学英语必学...