三维图形3D with OpenGL

Android通过OpenGL API支持高性能三维图形-具体而言,是OpenGL ES API

OpenGL ESOpenGL的针对嵌入式设备的定制版本。OpenGL ES的各个版本不固定的对应于OpenGL主版本。Android当前支持OpenGL ES 1.0,对应于OpenGL 1.3。因此,如果你想得到的一个应用程序可以在桌面系统中用OpenGL 1.3来实现,那么它应该也有可能在Android实现。

Android提供的具体的API类似于J2ME JSR239 OpenGL ES API。但是,它也许不完全一致,因此需要注意这些差别。

使用API

下面是如何使用这些API的一个非常概要的描述:

1. 写一个自定义视图

2. 获取一个OpenGLContext句柄,这提供了OpenGL功能的访问入口。

3. 在你的视图的onDraw() 方法中,获取一个GL对象的句柄,并使用它的方法来执行GL的各种操作。

可以在com.android.samples.graphics.GLSurfaceViewActivity.java中找到这个应用模式(基于经典的GL ColorCube)的一个示例。

如何使用OpenGL写一个3D应用程序超出了本文范围,读者可以把这作为一个练习。

(译者注:你可以参考一个三维隧道程序,对应于Android SDK1.5的源代码链接如下:

http://download.csdn.net/source/1710418

更多信息的链接Links to Additional Information

关于OpenGL ES的信息可以在http://www.khronos.org/opengles/上找到。

特别的,关于OpenGL ES 1.0的信息(包括一个详细的规格说明)可以在http://www.khronos.org/opengles/1_X/找到。

还有关于Android OpenGL ES implementations的文档。

最后,注意尽管Android确实包含对于OpenGL ES 1.1的基础支持,但是还不完整,目前最好不要依赖于它。

更多相关文章

  1. Jetpack插件化学习之AndroidX--Android项目升级到AndroidX
  2. Android中String资源文件的format方法
  3. Android横竖屏布局总结
  4. android介绍
  5. android EditText彻底搞定输入框隐藏/显示背景 可编辑输入问题
  6. Android(安卓)P 正式到来
  7. android多分辨力支持 密度与分辨力
  8. Android(安卓)应用开发支持不同的语言国际化操作
  9. Android上使用ksoap2支持Web Service服务调用实例

随机推荐

  1. Android项目使用私有maven仓库配置
  2. Android中 Intent/Bundle传递对象取值为n
  3. Android(安卓)M 动态权限获取
  4. Android(安卓)开发中踩过的坑之八:多进程
  5. 一文带你了解Android(安卓)Jetpack
  6. Android(安卓)添加底层核心服务
  7. Android界面设计专业术语:xxxhdpi和4K分辨
  8. android 简单实现指纹识别功能
  9. Android接口回调,最简单的理解方式
  10. 关于Activity的启动模式