import android.app.Activity;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
GLSurfaceView view = new GLSurfaceView(this);
view.setRenderer(new OpenGLRenderer());
setContentView(view);
}
}
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.opengl.GLSurfaceView.Renderer;
import android.opengl.GLU;
public class OpenGLRenderer implements Renderer {
@Override
public void onDrawFrame(GL10 arg0) {
// TODO Auto-generated method stub
// Clears the screen and depth buffer
arg0.glClear(GL10.GL_COLOR_BUFFER_BIT |
GL10.GL_DEPTH_BUFFER_BIT);
}
@Override
public void onSurfaceChanged(GL10 arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
arg0.glViewport(0, 0, arg1, arg2);
arg0.glMatrixMode(GL10.GL_PROJECTION);
arg0.glLoadIdentity();
GLU.gluPerspective(arg0, 45.0f, (float) arg1 / arg2, 0.1f, 100.0f);
arg0.glMatrixMode(GL10.GL_MODELVIEW);
arg0.glLoadIdentity();
}
@Override
public void onSurfaceCreated(GL10 arg0, EGLConfig arg1) {
// TODO Auto-generated method stub0
//red green blue alpha
//设置RGB颜色和透明度
arg0.glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
//平滑阴影,默认下非真实需要
arg0.glShadeModel(GL10.GL_SMOOTH);
//深度缓存
arg0.glClearDepthf(1.0f);
//深度测试
arg0.glEnable(GL10.GL_DEPTH_TEST);
arg0.glDepthFunc(GL10.GL_LEQUAL);
arg0.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);
}
}
今天学习了OpenGL 中最基本的东西,虽然还有很多语句不知道是什么意思,但是加油,时间会告诉我。