OpenGL Versions and Device Compatibility(OpenGL版本及设备支持)

OpenGL ES 1.0及1.1的API从Android1.0开始就支持了。从Android2.2(API版本8)开始,Android框架开始支持OpenGL ES 2.0.大多数的设备都支持OpenGL ES 2.0,新的应用也推荐开始使用OpenGL来开发。要获取更多的信息有关Android设备对OpenGL ES支持的相关信息,查看OpenGL ES Versions Dashboard。
纹理压缩支持
纹理压缩可以显著的增加OpenGL应用的效率,他可以减少内存的占用,更有效的利用带宽。Android框架提供了对ETC1压缩格式的支持,并且把它作为一个标准的特性,包含一个ETC1Util实用类和一个etcltool的压缩工具(在Android SDK的<sdk>/tools/).CompressedTextureActivity 是一个使用纹理压缩的一个应用实例。
大部分的Android设备都支持ETC格式。但是并不能保证都是可用的。可以通过调用ETC1Util.isETC1Supported()方法来检查当前的设备是否支持ETC1.
注意:ETC1纹理压缩格式不支持有alpha通道的纹理。如果你的应用程序要求纹理有一个alpha通道,你应该考虑其他的纹理压缩格式是否适用于你的设备.
除了ETC1格式,根据你的GPU的指令集和OpenGL实现方式,Android设备对纹理压缩有各种各样的支持。你应该了解你选中设备支持的纹理压缩特性来决定你的应用应该支持的纹理。要了解一个给定设备支持的纹理格式。你必须检查设备并且再看一下OpenGL扩展名.从中你可以了解到这个设备支持的纹理格式以及其他的OpenGL特性。如下是一些普遍支持的纹理压缩格式:
ATITC(ATC):ATI纹理压缩大部分的设备都支持,他对RGB问题提供固定速度的压缩速率,可以有或者没有一个alpha通道。ATC格式有如下的OpenGL扩展名代表,例如:
GL_AMD_compressed_ATC_texture
GL_ATI_texture_compression_atitc
S3TC(DXTn/DXTC):S3纹理压缩(S3TC)有几个格式(DXT1到DXT4).他用的不是很广泛。这种个格式支持4-bit或者8-bit的alpha通道的RGB纹理。这种格式有几个OpenGL扩展表示,例如:
GL_OES_texture_compression_S3TC
GL_EXT_texture_compression_s3tc
GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_dxt3
GL_EXT_texture_compression_dxt5
3DC:3DC纹理压缩(3DC)使用的也不广泛,他支持一个alpha通道的RGB纹理。这种格式有如下OpenGL扩展表示:
GL_AMD_compressed_3DC_texture
警告:并不是所有的设备都支持纹理压缩。是否支持需要根据制造商及设备而定。查看下一章节,你可以了解到在某个特别的平台上支持那些纹理压缩格式。

注意:一旦你决定了你的应用使用何种格式的纹理压缩格式,你需要在你的manifest中通过使用<supports-gl-texture> 来定义他们。通过这个定义,第三方的服务如Google Play将会对你的应用进行过滤,这样你的应用只会安装在支持你的应用要求的格式的设备上。了解详请,查看OpenGL manifest declarations.

有关纹理压缩:

http://blog.163.com/ray_jun/blog/static/167053642201162194621441/

Determining OpenGL extensions(定义OpenGL扩展)
Android设备的不一样会导致OpengGL的扩展支持不一样,从而导致OpenGL的实现不一样。这些扩展包括纹理压缩,但是一般典型的也包括其他的OpenGL特性集。
要了解一个特定的Android设备支持什么样的纹理压缩格式和其他的OpenGL扩展,你可以:
1、运行如下代码来查看你的设备支持什么样的纹理压缩格式:
  String extensions = javax.microedition.khronos.opengles.GL10.glGetString(GL10.GL_EXTENSIONS);
  警告:设备不一样,会导致这个结果不一样。你必须多在几台设备上运行上面的代码来决定他们共同的支持那些压缩格式。
2、查看上面方法的输出来决定这个设备都支持哪些扩展。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值