`
kongweile
  • 浏览: 521057 次
  • 性别: 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。

分享到:
评论

相关推荐

    OpenGL ES 3.x游戏开发 上卷 吴亚峰

    ### OpenGL ES 3.x游戏开发知识点解析 #### 一、OpenGL ES 3.x 渲染管线简介 OpenGL ES 3.x 是一个广泛应用于移动设备上的图形处理标准,它支持先进的图形渲染技术,尤其是在3D图形方面表现突出。本书第一章重点...

    Mobile.3D.Graphics.with.OpenGL.ES.and.M3G.Nov.2007

    - OpenGL ES版本的发展,如从OpenGL ES 1.x到OpenGL ES 2.0,后者引入了更强大的着色器语言和更灵活的API。 #### M3G - M3G是一种针对移动设备优化的3D图形标准,它定义了一组API和文件格式,用于在不同设备之间...

    Wince opengles example

    在提供的“Wince opengles example”中,可能包含以下示例: 1. 简单图形绘制:如三角形、四边形的绘制,展示基本的顶点坐标和颜色填充。 2. 纹理映射:利用纹理图像对3D模型进行表面装饰,提升视觉效果。 3. ...

    Android OpenGL ES 简明开发教程

    早期版本如OpenGL ES 1.x针对的是具有固定功能管线的硬件,而后续的OpenGL ES 2.x则为可编程管线硬件设计,允许开发者更灵活地控制图形渲染。 OpenGL ES 1.0和1.1基于OpenGL 1.3和1.5标准,分别提供common和...

    opengles 入门资料

    2. **简单绘图概述** - **绘制基础形状**: 点、线和多边形是OpenGLES的基础,通过设置顶点数组和绘制命令实现。 - **视口和投影**: 视口决定了图形在屏幕上的大小和位置,投影则处理空间转换,如正交投影和透视...

    OpenGL ES 2.0规范(中文版)——本人自己翻译总结的

    - **帧缓存的区别**:OpenGLES命令对window-system-provided framebuffers的影响最终由分配帧缓存资源的窗口系统控制。窗口系统决定了OpenGL ES在任何特定上下文中的行为。 #### 六、OpenGL ES 2.0与OpenGL 2.0的...

    Android NDK opengl ES

    - **OpenGL ES 1.x**:早期版本,支持基本的2D/3D渲染。 - **OpenGL ES 2.0及以上**:提供了更多的特性,如着色器语言(GLSL),更适合复杂的图形渲染需求。 ##### 2. 使用OpenGL ES的关键步骤 - **初始化OpenGL...

    OpenGL ES SDK external

    ### OpenGL ES SDK 相关知识点 #### 一、概述与介绍 **OpenGL ES SDK**(以下简称SDK)由Imagination Technologies提供,旨在为开发者们在基于POWERVR平台开发使用OpenGL ES图形库的应用程序时提供必要的文档、源...

    一步一步教你用OpenGL_ES编程

    - **Vicent Mobile 3D Rendering Library**:提供了OpenGL_ES 1.x和2.x版本的支持(1.x http://sourceforge.net/projects/ogl-es/,2.x http://sf.net/projects/ogles2)。 - **es3d**:基于OpenGL_ES的3D引擎...

    OpenGL ES 从零开始系列(全)

    #### 一、OpenGL ES 概述与学习资源 **OpenGL ES**(Open Graphics Library for Embedded Systems)是一种专为移动设备设计的图形渲染库,广泛应用于iOS和Android平台的游戏开发和其他高性能图形应用中。相比于标准...

    OpenGLES2.0英文原版

    1. OpenGLES2.0概述 OpenGL ES 2.0是移动和嵌入式设备上使用的图形API的一个版本。它支持可编程图形管线,允许开发者通过着色语言编写顶点和片段着色器来创建复杂的视觉效果。OpenGLES2.0与旧版本(如OpenGL ES 1.x...

    Android_OpenGL_ES_分析与实践

    这些库文件分别提供了不同版本的OpenGLES支持,其中`libGLESv2.so`和`libGLESv1_CM.so`分别对应OpenGLES 2.0和1.1版本。 #### 四、使用OpenGLES进行图形绘制 使用OpenGLES进行图形绘制通常需要遵循以下步骤: 1. ...

    Android 3D游戏开发技术宝典-OpenGL ES 2.0 (吴亚峰) 源代码

    13.6 opengl es 1.x与opengl es 2.0实现方案的对比 363 13.7 本章小结 364 第14章 片元着色器的妙用 365 14.1 程序纹理技术 365 14.1.1 砖块着色器 365 14.1.2 沙滩球着色器 367 14.2 数字图像...

    OpenGL_ES基础入门

    #### 一、OpenGL_ES概述 - **定义与应用领域**:OpenGL_ES(OpenGL for Embedded Systems)是一种专为嵌入式设备设计的轻量级图形渲染库,适用于移动设备如智能手机和平板电脑等。它是OpenGL的一个子集,针对手持...

    Android OpenGL ES Issues

    本测试基于最新的Android SDK版本(android_sdk_windows_m3-rc37a.zip)进行,并将测试结果与运行在Sun Wireless Toolkit 2.5上的Java ME版X-Benchmark(采用Sun提供的OpenGL ES实现JSR-239 Java Binding for OpenGL ...

    openGL ES for Iphone

    #### 一、OpenGL ES for iPhone 概述 OpenGL ES (OpenGL for Embedded Systems) 是一个为嵌入式设备(如智能手机和平板电脑)设计的图形渲染库。它是一种跨平台的应用程序编程接口(API),用于渲染2D和3D图形,特别...

Global site tag (gtag.js) - Google Analytics