從今年春節後開始學習OpenGL ES,發現網上資料頗有限,並且參差不齊,因此整理了一下我學習時用到的資料和一些心得。html
1. OpenGL ES1.x參考資料android
把NEHE的教程移植到了Android上,固然用的是ES1ios
http://insanitydesign.com/wp/projects/nehe-android-ports/git
2. OpenGL ES2.x參考資料github
有不少Android上ES2應用的文章數組
http://tangzm.com/blog/?p=20app
特別好的書,網上有英文版pdf,做者是libgdx的開發者,大神ide
《OpenGL ES 2 for Android》工具
《OpenGL ES 2 for Android》做者的網站,必看學習
http://www.learnopengles.com/
講的太詳細了,能夠當工具書,網上也有pdf
《OpenGL ES 2.0 Programming Guide》
講的都是高級特性,想開發高級功能的能夠看一下
《Pro OpenGL ES for Android》
一個Android上簡單的demo,能夠借鑑
https://github.com/yulu/GLtext
3.其餘相關資料
計算機圖形學&OpenGL的資料,能夠看看
http://www.cnblogs.com/liangliangh/p/3764420.html
http://www.cnblogs.com/liangliangh/p/3765221.html
骨骼動畫原理講解,寫的很是不錯
http://blog.csdn.net/n5/article/details/3105872
透視投影詳解
http://www.cnblogs.com/graphics/archive/2012/07/25/2582119.html
大神的網站,不少不錯的OpenGL教程,關鍵是還有直接能夠跑的源碼。
http://www.tomdalling.com/
4.我的心得
能用OpenGL ES2.x就別用ES1.x了,那個太老了,功能太受限制。
Android NDK裏面的例子很不錯,能夠學習借鑑。
IOS有專門的網站講GPU開發須要注意的事項,很贊。(https://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html)
大多數移動設備對uniform數組的大小限制很嚴重,也就支持128-256個vec4吧,這個在跨平臺移植的時候必定要注意
其實最好仍是先學OpenGL再搞ES,在電腦上調試什麼的都很方便。
若是要寫跨平臺(Android,ios)的代碼,仍是須要用C++寫,Android用Java封裝的那套實在是挺雞肋。