【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渲染操作。
iOS 开发讨论群:82873648

本作品采用知识共享署名-非商业性使用 3.0 许可协议进行许可。
转载请署名李震(博客地址:http://www.cnblogs.com/dyingbleed/),且不得用于商业目的。
博客园博客已停止更新,博客地址:dyingbleed.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?