文章中所有的代碼示例都已經放在 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 的環境