【Android OpenGL ES】閱讀hello-gl2代碼(一)准備工作


Android NDK開發包中,在sample文件夾下,有一個使用OpenGL ES 2.0的范例——hello-gl2。

它為我們展示了,如何通過Android NDK,調用底層OpenGL ES庫來渲染界面。

 

1、導入項目

打開Eclipse,New->Project...,選擇Android Project from Existing Code,點擊Next下一步

 Import Projects,在Root Directory:欄,點擊按鈕Browser瀏覽文件夾,選擇Android NDK根目錄/samples/hello-gl2,點擊Finish導入項目

 成功導入項目后,會在Package Explorer中顯示該項目。右鍵->Android Tools->Add Native Support...,點擊Finish完成。該項目就被從一個Java項目轉成一個C/C++項目了。

在Package Explorer中選擇該項目,右鍵->Build Project,生成在libs目錄下生成需要的.so文件。

運行,如圖所示,綠色的等腰三角形和從白至黑不斷變化的背景:

 

 2、程序結構

Java文件:GL2JNIActivity.java,GL2JNILib.java和GL2JNIView.java

C/C++文件:gl_code.cpp

make文件:Android.mk

說明:

GL2JNIActivity作為整個應用的主Activity,設置GL2JNIView為它的Content View。

GL2JNIView是GLSurfaceView的子類,GLSurfaceView是Android用於OpenGL ES渲染的視圖。

GLSurfaceView: An implementation of SurfaceView that uses the dedicated surface for displaying OpenGL rendering.

官方文檔:http://developer.android.com/reference/android/opengl/GLSurfaceView.html

GL2JNIView執行了OpenGL ES初始化操作,並調用GL2JNILib類中的public native方法進行渲染。

GL2JNILib加載.so共享庫,包裝了native方法,通過JNI調用gl_code.cpp的方法,執行實際的OpenGL ES渲染操作。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM