预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

OpenGL配置环境与OpenGL扩展机制 1opengl的版本区别(在opengl官方文档中有详细说明) 针对Opengl不同版本的升级是主要是扩展指令集。 1.1opengl1.1 1995年,SGI推出了更为完善的OpenGL1.1版本。OpenGL1.1的性能比1.0版提高甚多。 其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高 顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹 理特性等等。 1.2opengl1.3 2001年8月,ARB发布OpenGL1.3规范,它增加了立方纹理贴图、纹理环境、多重采 样、纹理框架压缩等扩展指令,但是改进程度非常有限。 1.3opengl1.4 2002年7月,ARB正式发布OpenGL1.4,它也只加入了深度纹理/阴影纹理、顶点设 计框架、自动纹理贴图等简单的功能。 1.3opengl1.5 2003年的7月,ARB公布OpenGL1.5规范。OpenGL1.5内包含ARB制定的“正式扩展规 格绘制语言”(OpenGLShadingLanguagev1.0),该语言用于着色对象、顶点着色、片断着 色等扩展功能,同时也将作为下一代OpenGL2.0版本的内核。OpenGL1.5的变化还增加了 顶点缓冲对象(可提高透视性能)、非乘方纹理(可提高纹理内存的使用效率)以及阴影功能、 隐蔽查询功能等等。其主要内容包括 l顶点BufferObject:进行顶点配列方式可以提高透视性能 lShadow功能:增加用来比较Shadow映射的函数 l隐蔽查询(QUERY):为提高Curling性能采用非同步隐蔽测试 l非乘方纹理(Texture):提高mipmap等纹理内存的使用效率 lOpenGLShadingLanguagev.1.0:用于着色(shader)对象、顶点着色以及片断着色技术 (fragmentshader)的扩展功能 1.4opengl2.0 OpenGL1.0推出后的相当长的一段时间里,OpenGL唯一做的只是增加了一些扩展指令 集,这些扩展指令是一些绘图功能,像是ClearCoat、Multisample、视频及绘图的整合工具(某 些是通过OpenML的努力而开发出来的,它本身属于OpenGLARB扩展指令之一。 去年8月已经推出opengl2.0。OpenGL2.0将在OpenGL1.3基础上进行修改扩充、但它将有 下面五个方面的重大改进:①复杂的核心被彻底精简;②完全的硬件可编程能力;③改进的 内存管理机制、支持高级像素处理;④扩展至数字媒体领域,使之跨越高端图形和多媒体范 畴;⑤支持嵌入式图形应用。 为了在获得强大功能的同时保持理想的兼容性,OpenGL2.0经历以下两个发展阶段:第 一个阶段注重兼容能力和平滑过渡,为此,OpenGL2.0核心将在精简后的OpenGL1.3功能 模块的基础上加上可完全兼容的新功能共同组成,这种做法在满足兼容性的同时,还可将原 有OpenGL中数量众多、且相互纠缠不清的扩展指令进行彻底精简。第一阶段的任务只是 为了过渡,而第二阶段才是OpenGL2.0的真正成熟期。此时,ARB将合成出一个“纯OpenGL 2.0”内核,纯内核将包含更多新增加的“精简型API函数”,这些函数具有完全的可编程特性、 结构简单高效、功能强大且应用灵活。除了完成这项任务外,ARB组织还得指导开发商抛弃 繁琐的OpenGL1.X、转用更具弹性的“纯OpenGL2.0”。 2OpenGL扩展(OpenGLExtensions) OpenGL和Direct3D比较起来,最大的一个长处就是其扩展机制。硬件厂商开发出一个 新功能,可以针对新功能开发OpenGL扩展,软件开发人员通过这个扩展就可以使用新的硬 件功能。所以虽然显卡的发展速度比OpenGL版本更新速度快得多,但程序员仍然可以通过 OpenGL使用最新的硬件功能。而Direct3D则没有扩展机制,硬件的新功能要等到微软发布 新版DirectX后才可能支持。 OpenGL扩展也不是没有缺点,正因为各个硬件厂商都可以开发自己的扩展,所以扩展的 数目比较大,而且有点混乱,有些扩展实现的相同的功能,可因为是不同厂商开发的,接口 却不一样,所以程序中为了实现这个功能,往往要为不同的显卡写不同的程序。这个问题在 OpenGL2.0出来后可能会得到解决,OpenGL2.0的一个目标就是统一扩展,减少扩展数目。 2.1扩展名 每个扩展都有一个扩展名,扩展名类似如下形式: GL_ARB_multitexture 第一段GL,用来表示针对OpenGL哪部分开发的扩展,有以下几个值: GL–针对OpenGL核心的扩展 WGL–针对Windows平台的扩展 GLX–