`
kongweile
  • 浏览: 507804 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

OpenGL ES 1.x 2.x 概述

阅读更多

OpenGL_ES是khronos协会从OpenGL裁剪定制而来的,专为手机,游戏机等嵌入式设备而设计。它的接口其实和Open_GL很类似。

OpenGL_ES有几个主要版本,但对游戏开发来说,需要关注的只有两个:
OpenGL_ES_1.x_和OpenGL_ES_2.x

两者的特性和主要区别如下:

OpenGL_ES_1.x:
为固定渲染管线(Fixed_Function)而设计。
子版本包括:1.0,1.1。
1.0从OpenGL_1.3裁减而来;1.1从OpenGL_1.5裁减而来。1.1向下兼容1.0。
经研究,1.1因为更先进,而且相比1.0增加的特性也都很有用,所以基本上不用考虑1.0了。
1.1和1.0的变化不算很大,应该芯片的价格也不会高出很多?当然我并不确定。
1.1的技术规范参见:es_full_spec.1.1.12.pdf
或者:es_cm_spec_1.1.12.pdf(篇幅较短,只叙述了相比OpenGL_1.5的差异)

OpenGL_ES_2.x
为可编程渲染管线(Programmable)而设计。
目前只有2.0这一个子版本,从OpenGL_2.0裁减而来。
和1.x的区别是可以支持vertex和pixel shader,因此能够实现更多的特效。
另外2.0就不再支持1.x里面的固定管线功能了,也就是说2.x并不向下兼容1.x。
技术规范参见:es_full_spec_2.0.22.pdf
或者:es_cm_spec_2.0.22.pdf(篇幅较短,只叙述了相比OpenGL_2.0的差异)

=========================

所以,我们其实就是在1.1和2.0之间做出选择。

1.1就能达到甚至略超过PSP的效果了(PSP实际上是一个PS2的简化版,它也不支持vertex或pixel shader)。
2.x能达到更好的效果(大约接近DX9),但开发复杂程度(包括程序和美术)必然更高。

查新闻发现,AMD于2008年6月12号才率先通过2.0的认证,所以可以认为2.0的芯片还是很先进很高端的,想必这类芯片价格会很高?

总的来说还是一个选择问题:如果希望更低的成本(包括软件和硬件两方面)那就选择1.1,并且其实1.1也已经能实现非常好的效果了;而如果追求最顶尖和图形质量和效果,定位为高端产品,那么就可以选择2.0,但成本和开发周期会很高。

我个人推荐选择1.1的芯片,我认为基本上2.x的接口是针对游戏主机而非掌机设计的,据说PS3就采用了ES_2.x。
毕竟无论是以掌机(或者手机等便携设备)的耗电量,成本,还是屏幕尺寸来看,1.x都更有优势。jsr184标准的硬件实现就是ES_1.x。
即使在以后来看,1.x的芯片由于有着特殊的意义,也不会消亡,khronos官方也声称未来还会推出1.2。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics