订阅移动开发RSS CSDN首页> 移动开发

OpenGL ES 3.0发布 移动开发3D图形新标范

发表于2012-08-07 11:27| 次阅读| 来源CSDN| 0 条评论| 作者何清颖

摘要:OpenGL历经二十年发展,先后衍生了四个世代,功能日渐强大,普及范围也是越来越广。Khronos Group目前做出的重要宣布中最焦点的当属OpenGL ES 3.0。它汲取了桌面版规范OpenGL 3.3/4.2的优点,为这项3D图形API带来了大量显著的功能性和移动性增强,同时向下兼容已有的OpenGL ES 2.0。

编者按:SIGGRAPH 2012大会第二天,OpenGL背后的非盈利组织——Khronos Group,宣布推出OpenGL 4.3和移动设备专用的OpenGL ES 3.0标准。

维基百科:OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口(Application programming interface)的规格,它用于生成二维、三维图像。这个接口由近三百五十个不同的函数调用组成,用来从简单的图元绘制复杂的三维景象。而另一种编程接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟实境、科学视觉化程式和电子游戏开发。

OpenGL本身针对移动端和桌面端有多个版本,它是开发iPhone、Android以及很多控制器和桌面系统3D图形应用和游戏的重要标准之一。1992年,OpenGL 1.0诞生,此后历经二十年发展,先后衍生了四个世代,功能日渐强大,普及范围也是越来越广。虽然它没有微软DirectX在游戏中那么风光,但也在专业图形等领域成为众多开发者的首选,而且陆续衍生了OpenGL ES、OpenCL、WebGL等一帮同门师兄弟,生态系统日臻完善。

维基百科:OpenGL ES (OpenGL for Embedded Systems) 是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。

OpenGL ES 3.0向后兼容ES 2.0,它让开发人员在支持硬件规格的要求上更加容易,同时该标准也为移动设备带来了更多桌面版OpenGL 3.3和4.x标准的功能。其中最重要的就是新的纹理算法带来了更好的纹理压缩表现(包括ETC2和EAC标准),以及一些像Instance Rendering、Occlusion Queries、Transform Feedback这样的新的硬件加速特性。

之前很多开发人员都会在APK中为不同设备创建不同的textures,但现在他们可以在移动端和桌面端使用相同的组件了。而且通过提升压缩方法,现在的压缩包已经明显小多了,这也让应用程序的下载速度更快,同时占用内存更少。

通过这些功能的提升,开发者可以在更多移动设备的游戏和应用中实现更好的图形表现。桌面端和移动端的差距正在慢慢减小,新的移动设备不仅将有更强大的图形显示,同时电池的续航时间也将更长。

和桌面端不同,NVIDIA现在在做桌面兼容驱动要想转移到移动端完成相同功能需要花费比较长的时间,但Khronos Group在今年年底就能快完成相关性能测试,并进一步支持兼容设备。

OpenGL ES 3.0主要新功能有:

  1. 渲染管线多重增强,实现先进视觉效果的加速,包括遮挡查询(Occlusion Query)、变缓反馈(Transform Feedback)、实例渲染(Instanced Rendering)、四个或更多渲染目标支持。
  2. 高质量ETC2/EAC纹理压缩格式成为一项标准功能,不同平台上不再需要需要不同的纹理集。
  3. 新版GLSL ES 3.0着色语言,全面支持整数和32位浮点操作。
  4. 纹理功能大幅增强,支持浮点纹理、3D纹理、深度纹理、顶点纹理、NPOT纹理、R/RG单双通道纹理、不可变纹理、2D阵列纹理、无二次幂限制纹理、阴影对比、调配(swizzle)、LOD与mip level clamps、无缝立方体贴图、采样对象、纹理MSAA抗锯齿渲染器。
  5. 一系列广泛的精确尺寸纹理和渲染缓冲格式,便携移动应用更简单。

OpenGL ES工作组会在六个月内更新OpenGL ES采纳者项目,提供广泛的兼容性测试,并提供相关源代码。ARM、HI Corporation、Imagination、NVIDIA、高通、ZiiLABS等等都第一时间表达了对OpenGL ES 3.0的大力支持,其中ARM今天刚刚发布的第二代Mali-T600系列最新移动GPU就支持OpenGL ES 3.0。

2D/3D图形知识产权IP提供商Digital Media Professionals Inc. (DMP)也同时宣布,其基于可扩展SMAPH-S着色器的图形IP产品系列也已支持OpenGL ES 3.0。

Khronos同时还宣布了Adaptive Scalable Texture Compression (ASTCTM,自适应可缩放材质压缩)算法,适用于现有的OpenGL ES和OpenGL,并会为OpenGL带来高性能五转立宪制的压缩算法。

以现在非常热门的Google Nexus 7平板机为例,OpenGL的三角形输出能力、像素输出能力、浮点计算能力分别已经达到二十年前的103倍、4.3倍、25倍。  

OpenGL ARB架构审核委员会制定的OpenGL 4.3规范、GLSL 4.3语言秉承了4.x系列注重计算的特点,并在纹理等各个方面有显著增强,特别是和移动版OpenGL ES之间的关联越来越密切。

Khronos Group还专为其COLLADA 3D技术公布了一组新的标准以及一个新的视觉和传感器处理的API接口,该技术可以在手机上快速渲染出高端图形的同时接入各种传感器的数据;新标准可以让开发者更容易的使用手机上的各种数据来实现如增强现实这样的高要求应用或游戏。

维基百科:OpenCL(Open Computing Language,开放计算语言)是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。OpenCL由一门用于编写kernels(在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。

当然,此次大会上OpenCL也是亮点之一。Mali-T604 GPU正式支持Khronos OpenCL 1.1完整通用计算规格,而不是此前的嵌入式规范。一同发布的还有ARM OpenCL开发套件以及驱动程序和编译器。

ARM多媒体处理器部门策略行销副总裁Kevin Smith表示:OpenCL是一个开放式编程运算标准,并针对行动装置、笔记本与台式机有各种不同的规范要求。当GPU供应商的产品能符合此一标准标架构,除代表其GPU效能媲美笔记本电脑、台式电脑的高阶显示卡等级外,亦可排除CPU与GPU兼容运作的问题,让工程师轻松将GPU导入设计中,以加速产品面市时程。

事实上,目前行动装置采用的GPU为证明其运算能力,大多是申请嵌入式标准--OpenCL Embedded Profile,而OpenCL 1.1 Full Profile运算标准则通常适用于桌上型电脑和笔电的显示卡,对于硬体规格要求较为严苛。ARM是首家申请Full Profile OpenCL标准符合性认证的GPU知识产权(IP)供应商。

Mali-T600系列GPU的设计来自于最初的GPU计算理念,包括对于工作组(work-groups)和同步屏蔽(synchronization barriers)的全面支持。构建于可变多核多流水线设计架构(scalable multicore, multi-pipeline architecture)的Mali-T600系列GPU拥有许多先进的特性,特别是OpenCL整数、浮点数据类型(floating point data types,包括64位)的原生标量和矢量操作(native scalar and vector operations)、静态和动态编译(static and dynamic compilation)、硬件加速图形和采样数据类型(sampler data types),快速原子操作(atomic operations)以及符合IEEE754-2008所要求的精度。

本文为CSDN原创文章,未经允许不得转载。如需转载请联系market@csdn.net。

责任编辑:杨依帆

0
0
OpenGL ES 3.0发布 移动开发3D图形新标范
  • CSDN官方微信
  • 扫描二维码,向CSDN吐槽
  • 微信号:CSDNnews
程序员移动端订阅下载

微博关注

相关热门文章