http://blog.csdn.net/andyhuabing/article/details/7345486
《android系统级深入开发---移植和调试》读书笔记
一、android opengl的基本层次结构
二、Dount(甜饼)及之前的android中的OpenGL结构。
1、OpenGL的实现库
OpenGL的实现库由android自带软件库libagl(基于软件算法)实现,或者由各个不同平台的硬件libhgl实现,libhgl一般需要调用OpenGL的驱动程序实现。其中libagl的路径为:framework\base\opengl\libs\libagl:生成libagl.so,OpenGL的软件实现库。
头文件路径:
frameworks\base\opengl\include\EGL
frameworks\base\opengl\include\GLES
本地库的lib路径
frameworks\base\opengl\libs\GLES_CM ---opengl es 1.x:生成库libGLESv1_CM.so
frameworks\base\opengl\libs\EGL :生成库libEGL.so
3、OpenGL的JNI部分
frameworks\base\core\jni\com_google_android_gles_jni_GLImpl.cpp
frameworks\base\core\jni\com_google_android_gles_jni_EGLImpl.cpp
二者分别对应egl和gl的实现。其中EGLImpl中的各个接口负责一个管理功能,而GLImpl中的各个接口对应于OpenGL的GLES/gl.h头文件中定义的各个OpenGL功能函数。
1、OpenGL的实现库
OpenGL的实现库由android自带软件库libagl(基于软件算法)实现,或者由各个不同平台的硬件libhgl实现,libhgl一般需要调用OpenGL的驱动程序实现。其中libagl的路径为:framework\base\opengl\libs\libagl:生成libagl.so,OpenGL的软件实现库。
不过目前本机上安装的android中没有这个路径。
如果需要构建其他的OpenGL库,需要使用egl.cfg配置文件来进行配置,并制定所使用的OpenGL库的路径。
头文件路径:
frameworks\base\opengl\include\EGL
frameworks\base\opengl\include\GLES
frameworks\base\opengl\include\GLES2
本地库的lib路径
frameworks\base\opengl\libs\EGL :生成库libEGL.so
frameworks\base\opengl\libs\GLES_CM ---opengl es 1.x:生成库libGLESv1_CM.so
frameworks\base\opengl\libs\GLES2 ---opengl es 2.x:生成库libGLESv2.so
3、OpenGL的JNI部分
frameworks\base\core\jni\android_opengl_GLES10.cpp
frameworks\base\core\jni\android_opengl_GLES10Ext.cpp
frameworks\base\core\jni\android_opengl_GLES11.cpp
frameworks\base\core\jni\android_opengl_GLES11Ext.cpp
frameworks\base\core\jni\android_opengl_GLES20.cpp
这些文件提供了OpenGL不同版本的各个类的支持。
4、OpenGL的java接口API