简介
OpenGL 是用来渲染2D、3D矢量图形的API,而OpenGL ES是专门针对于手机邓嵌入式设备设计,相当于OpenGL的剪裁版本,
去除了OpenGL中许多不是必须存在的特性。
GLSurfaceView
在 Android SDK中为我们提供一个 GLSurfaceView
,这个类是专门用来显示OpenGL渲染的效果。接下来我们创建一个Android Project,在我们的 Activity
中创建 GLSurfaceView
并使用,当然,你也可以在xml布局文件中创建。
public class MainActivity extends AppCompatActivity {
private GLSurfaceView glSurfaceView;
private TriangleRenderer triangleRenderer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 1. 创建一个GLSurface的实例
glSurfaceView = new GLSurfaceView(this);
setContentView(glSurfaceView);
// 2. 设置OpenGL ES 的版本
glSurfaceView.setEGLContextClientVersion(2);
// 3. 创建 渲染器Renderer
triangleRenderer = new TriangleRenderer();
// 4.设置 渲染器Renderer
glSurfaceView.setRenderer(triangleRenderer);
}
@Override
protected void onResume() {
super.onResume();
glSurfaceView.onResume();
}
@Override
protected void onPause() {
super.onPause();
glSurfaceView.onPause();
}
private static class TriangleRenderer implements GLSurfaceView.Renderer {
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
}
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
}
@Override
public void onDrawFrame(GL10 gl) {
}
}
}
以上代码完成以后,一个简单的OpenGL ES程序就完成了,在这里我们什么都没有渲染,所以下图的运行结果什么都没显示😁
运行结果
接下来来绘制一个三角形~
待补充……