我们可以在jni层上编写opengl代码, 进行3d 图形的绘制,下面这个例子就是在一个绘制四面体的例子, 实例的绘制代码是在jni层实现的, 采用c++语言编写。
1. 首先, 创建上层应用程序相关类, 组织好调用路径。
这里主要是创建活动类, 渲染类以及相关辅助类。
主活动类代码如下:
import android.app.Activity;
import android.os.Bundle;
public class GL10JNIActivity extends Activity {
private GL10JNIView mView;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
mView = new GL10JNIView(this);
setContentView(mView);
}
@Override
protected void onPause() {
super.onPause();
mView.onPause();
}
@Override
protected void onResume() {
super.onResume();
mView.onResume();
}
}
其次创建opengl视图类,代码如下:
import android.content.Context;
import android.opengl.GLSurfaceView;
public class GL10JNIView extends GLSurfaceView {
private static final String LOG_TAG = GL10JNIView.class.getSimpleName();
private MyRenderer myRenderer;
public GL10JNIView(Context context) {
super(context);
setEGLConfigChooser(8, 8, 8, 8, 16, 0);
myRenderer = new MyRenderer(context);
setRenderer(myRenderer);
}
}
接着创建渲染类,代码如下:
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;