package com.example.opengl_01;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.app.Activity;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
private final String TAG = "MainActivity";
private GLSurfaceView glSurefaceView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
glSurefaceView = new GLSurfaceView(this);
glSurefaceView.setRenderer(new GLSurfaceViewRender());
this.setContentView(glSurefaceView);
}
@Override
protected void onResume() {
super.onResume();
glSurefaceView.onResume();
}
@Override
protected void onPause() {
super.onStop();
glSurefaceView.onPause();
}
class GLSurfaceViewRender implements GLSurfaceView.Renderer {
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
Log.i(TAG, "onSurfaceCreated");
// 设置背景颜色
gl.glClearColor(0.0f, 0f, 1f, 0.5f);
}
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
// 设置输出屏幕大小
gl.glViewport(0, 0, width, height);
Log.i(TAG, "onSurfaceChanged");
}
@Override
public void onDrawFrame(GL10 gl) {
Log.i(TAG, "onDrawFrame");
// 清除屏幕和深度缓存(如果不调用该代码, 将不显示glClearColor设置的颜色)
// 同样如果将该代码放到 onSurfaceCreated 中屏幕会一直闪动
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
}
}
}
GLSurfaceView使用-入门之HelloWorld--画背景图
最新推荐文章于 2024-07-06 14:12:50 发布