3D----OpenGL与OpenGL ES

来源:互联网 发布:虚拟硬盘软件 编辑:程序博客网 时间:2024/05/17 03:46
OpenGL介绍:
 
OpenGL ----高性能图形算法行业标准。
OpenGL(全写Open Graphic Libraly)定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。 OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。
 
支持主流系统平台。一般由硬件平台直接支持。
 
对比DirectX
OpenGL只是图形函数库。 DirectX包含图形、声音、输入等模块。
OpenGL稳定,可跨平台使用。 DirectX仅能用于windows平台。
 
OpenGL ES介绍:
 
OpenGL ES是专为内嵌和移动设备设计的一个2D/3D轻量图形库,它是基于OpenGL设计的。同时根据手持及移动平台的特点,删减了一切低效能的操作方式(简化数据类型等)。
 
OpenGL ES目前主要有两个版本: OpenGL ES 1.X和 OpenGL ES 2.X。
 
ES 1.0的重点是3D移动图像的纯软件实现。
 
ES 2.0增加了对高层着色语言GLSL ES的支持,并对以前版本的固定线路管道架构进行了适配以支持硬件可编程着色。
支持向上兼容,因此ES 1.x的代码可以运行在ES 2.0内核上;
不再支持向下兼容,所以使用ES 2.0特性的2.0的代码无法运行在1.x内核上;
 
OpenGL与OpenGL ES:
 
    OpenGL ES 是一个为便携或嵌入式设备例如:移动电话、PDAs、监视器、等,发展的3D绘图APIs (应用编程接口)。OpenGL  ES是一个被叫做 Khronos 联盟的组织创造的一系列APIs 中的一个。Khronos联盟成立于 2000 年一月,是一个专注为手持和嵌入式设备建立开放标准和自由版权的 APIs 的工业联盟。
    在桌面设备中有两个 3D  API 接口,DirectX和OpenGL。DirectX是运行 Window系统平台事实上的 3D标准,在3D游戏平台中主要的标准。OpenGl是一个跨平台的 3D  API标准,能够运行在 linux 系统,各种 UNIX 系统,Mac OS X和Wicrosoft 系统等等。它是广泛接受的 3D API,这个 API 被Doom 和Quake 系列游戏使用。用于 Mac OS X的接口,在CAD应用像 CATIA 、数字建模应用像 Maya和SoftImage | XSI 。
    因为OpenGL作为3D API的广泛使用,这是很自然的从桌面的 OpenGL开始发展为手持设备和便携式开放标准的 3D API;又因为使用 OpenGL ES 的设备地址空间和内存的限制、低的内存带宽、敏感的电源功耗、缺乏浮点运算硬件,所以修改它以适用与手持和便携设备领域。工作组对 OpenGL ES 做了下面的一些定义限制。
    OpenGL ES API 是巨大的和复杂的,工作组的目标是建立一个适合设备驱动程序。为此工作组删除了一些 OpenGL API的冗余设计,对同一种操作有多种实现方法,只留下主要的,多余的技术被删除,例如:一个几何体,OpenGL中可以使用立即模式、显示列表、顶点矩阵,在OpenGL ES 中只能使用顶点矩阵,显示列表和立即模式被移除。
    移除冗余是重要的,但保持兼容性也是重要的。尽可能的 OpenGL ES 被设计成 OpenGL的嵌入式子集,OpenGL 将也能运行 OpenGL  ES的程序。原因是作为一个子集能更好的应用桌面程序的代码和工具。虽然如此,也有偏离,特别是 OpenGL ES 2.0。
 
整理编辑, 转载请注明出处:http://blog.csdn.net/xn4545945
原创粉丝点击