文章中所有的代码示例都已经放在 Github 上,可以去项目 OpenGL-ES-Learning 中查看 。
Android 系统提供了大量的标准组件来帮助我们创建各种功能丰富的图形化界面。开发者除了使用系统的 UI 布局控件外,也可以自行实现满足特定设计需求的自定义 View 。通过绘制自定义的 View ,基本上可以满足日常开发中遇到大部分 UI 需求。
假设我们希望对屏幕上所绘制的内容进行更多自由的控制,或者打算建立三维图像体系,这是我们可能就需要借助一个更专业(偏向底层实现)的工具了,比如说 OpenGL ES。
OpenGL ES (OpenGL for Embedded Systems) 是嵌入式设备上所支持的OpenGL子集。Android 系统框架提供的 OpenGL ES 接口给予我们一组可以显示高级动画和图形的工具集,可以说它强大的功能仅仅受限于我们自身的想象力。同时,在许多 Android 设备上搭载的图形处理单元都能为其提供 GPU 加速等性能优化。
本系列文章主要是参照 Android 官方训练教程 Displaying Graphics with OpenGL ES 来学习如何使用 OpenGL 构建应用的基础知识,包括环境配置、绘制对象、移动图形元素以及响应点击事件等等。有兴趣的也可以去看看原版内容加深理解。
目录
配置 OpenGL ES 的环境
学习如何配置一个可以绘制 OpenGL 图形的 Android 应用。OpenGL ES 定义图形形状
学习如何在 OpenGL 中定义图形形状OpenGL ES 绘制形状(Shape)
学习如何在应用中利用 OpenGL 绘制形状。OpenGL ES 运用投影与相机视角
学习如何通过投影和相机视角,获取图形对象的一个新的透视效果。OpenGL ES 添加视图动作
学习如何对一个 OpenGL 图形对象添加基本的运动效果。OpenGL ES 响应触摸事件
学习如何与 OpenGL 图形进行基本的交互。
文章所涉及的样例代码使用的是 OpenGL ES 2.0 接口,这是目前 Android 设备所推荐的接口版本。关于更多 OpenGL ES 的版本信息,可以阅读 OpenGL 开发手册。
Note:注意不要把 OpenGL ES 1.x 版本的接口和 OpenGL ES 2.0 的接口混合调用,这两种版本的接口不是通用的。
文章中提到的所有案例的代码都可以到 Github 项目 OpenGL-ES-Learning 中找到示例。
下面就开始第一章节的学习: 配置 OpenGL ES 的环境