Android的NDK开发(二)-基于NDK的OpenGL开发

Android的NDK开发(2)-基于NDK的OpenGL开发之前在学习Android的时候有写过如果在Android中使用OpenGL,当时

Android的NDK开发(2)-基于NDK的OpenGL开发

     之前在学习Android的时候有写过如果在Android中使用OpenGL,当时完全都是用java语言来实现的,现在我们用NDK来实现一次。

     实现的思路就是将渲染器中的onDrawFrame,onSurfaceChanged,onSurfaceCreated分别在C中实现,然后将C编译成.so文件之后在Java中直接调用相应的函数就可以了。

     步骤就不详细叙述了,代码贴一下。

    主Activity:



通过修改.c的实现,我们就可以绘制不同的图形。

比如网格圆球:



立方体


打完收工。


2013.1.15日更新:

发现一个更强的demo,就在NDK的samples文件夹中,san-angeles就是了!

San Angeles Observation,XX大赛的冠军,原程序只有4K,被google收录到NDK的demo里面了,下面我们就跑一下它。

直接在Eclipse中创建Android工程,选择Android Project From Exiting Code。
Android的NDK开发(二)-基于NDK的OpenGL开发


直接跑的话会报错,提示无法初始化,我们必须先把c编译成.so.

命令行进入到项目文件夹,执行ndk-build

Android的NDK开发(二)-基于NDK的OpenGL开发


再修改一下Activity,让它全屏幕现实,只修改onCreate函数就可以了。


Android的NDK开发(二)-基于NDK的OpenGL开发