Android Open Source - opengl Android Open G L From Project Back to project page opengl .
License The source code is released under:
Apache License
If you think the Android project opengl listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.androidbook.opengl;
/ * w w w . j a v a 2 s . c o m * /
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.app.Activity;
import android.content.Context;
import android.opengl.GLSurfaceView;
import android.opengl.GLU;
import android.os.Bundle;
import android.view.KeyEvent;
public class AndroidOpenGL extends Activity {
CustomSurfaceView mAndroidSurface = null;
@Override
protected void onPause() {
super.onPause();
if (mAndroidSurface != null) {
mAndroidSurface.onPause();
}
}
@Override
protected void onResume() {
super.onResume();
if (mAndroidSurface != null) {
mAndroidSurface.onResume();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mAndroidSurface = new CustomSurfaceView(this );
setContentView(mAndroidSurface);
}
private class CustomSurfaceView extends GLSurfaceView {
final CustomRenderer mRenderer = new CustomRenderer();
public CustomSurfaceView(Context context) {
super (context);
setFocusable(true);
setFocusableInTouchMode(true);
setRenderer(mRenderer);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_P:
queueEvent(new Runnable() {
public void run() {
mRenderer.togglePause();
}
});
return true;
}
return super.onKeyDown(keyCode, event);
}
}
private class CustomRenderer implements GLSurfaceView.Renderer {
TriangleSmallGLUT mTriangle = new TriangleSmallGLUT(3);
boolean fAnimPaused = false;
public void onDrawFrame(GL10 gl) {
if (!fAnimPaused) {
gl.glClear(GL10.GL_COLOR_BUFFER_BIT |
GL10.GL_DEPTH_BUFFER_BIT);
gl.glRotatef(1f, 0, 0, 1f);
if (mTriangle != null) {
mTriangle.drawColorful(gl);
}
}
}
public void togglePause() {
if (fAnimPaused == true) {
fAnimPaused = false;
} else {
fAnimPaused = true;
}
}
public void onSurfaceChanged(GL10 gl, int width, int height) {
gl.glViewport(0, 0, width, height);
// configure projection to screen
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
gl.glClearColor(0.5f, 0.5f, 0.5f, 1);
float aspect = (float ) width / height;
GLU.gluPerspective(gl, 45.0f, aspect, 1.0f, 30.0f);
}
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
// configure model space
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
GLU.gluLookAt(gl, 0, 0, 10f, 0, 0, 0, 0, 1, 0f);
gl.glColor4f(1f, 0f, 0f, 1f);
}
}
}
Java Source Code List book.BouncyCube.BouncyCubeActivity.java book.BouncyCube.BouncyCubeActivity.java book.BouncyCube.BouncyCubeRenderer.java book.BouncyCube.BouncyCubeRenderer.java book.BouncyCube.Cube.java book.BouncyCube.Cube.java book.SolarSystem.Cube.java book.SolarSystem.Cube.java book.SolarSystem.Planet.java book.SolarSystem.Planet.java book.SolarSystem.SolarSystemActivity.java book.SolarSystem.SolarSystemActivity.java book.SolarSystem.SolarSystemRenderer.java book.SolarSystem.SolarSystemRenderer.java com.androidbook.opengl.AndroidOpenGL.java com.androidbook.opengl.AndroidOpenGL.java com.androidbook.opengl.BasicGLCube.java com.androidbook.opengl.BasicGLCube.java com.androidbook.opengl.BasicGL.java com.androidbook.opengl.BasicGL.java com.androidbook.opengl.CubeSmallGLUT.java com.androidbook.opengl.CubeSmallGLUT.java com.androidbook.opengl.Menu.java com.androidbook.opengl.Menu.java com.androidbook.opengl.OpenGLPlay.java com.androidbook.opengl.OpenGLPlay.java com.androidbook.opengl.SimpleFPSDisplay.java com.androidbook.opengl.SimpleFPSDisplay.java com.androidbook.opengl.SimpleLitGLCube.java com.androidbook.opengl.SimpleLitGLCube.java com.androidbook.opengl.SmallGLUT.java com.androidbook.opengl.SmallGLUT.java com.androidbook.opengl.TexCubeSmallGLUT.java com.androidbook.opengl.TexCubeSmallGLUT.java com.androidbook.opengl.TextureGL.java com.androidbook.opengl.TextureGL.java com.androidbook.opengl.TriangleSmallGLUT.java com.androidbook.opengl.TriangleSmallGLUT.java com.droidnova.android.games.vortex.VortexRenderer.java com.droidnova.android.games.vortex.VortexRenderer.java com.droidnova.android.games.vortex.VortexView.java com.droidnova.android.games.vortex.VortexView.java com.droidnova.android.games.vortex.Vortex.java com.droidnova.android.games.vortex.Vortex.java com.example.android.opengl.MyGLRenderer.java com.example.android.opengl.MyGLRenderer.java com.example.android.opengl.MyGLSurfaceView.java com.example.android.opengl.MyGLSurfaceView.java com.example.android.opengl.OpenGLES20Activity.java com.example.android.opengl.OpenGLES20Activity.java com.example.android.opengl.Square.java com.example.android.opengl.Square.java com.example.android.opengl.Triangle.java com.example.android.opengl.Triangle.java edu.cs4730.OpenGlDemo1.OpenGlDemo1Activity.java edu.cs4730.OpenGlDemo1.OpenGlDemo1Activity.java edu.cs4730.OpenGlDemo1.SquareRenderer.java edu.cs4730.OpenGlDemo1.SquareRenderer.java edu.cs4730.OpenGlDemo1.Square.java edu.cs4730.OpenGlDemo1.Square.java edu.cs4730.OpenGlDemo.OpenGLRenderer.java edu.cs4730.OpenGlDemo.OpenGLRenderer.java edu.cs4730.OpenGlDemo.OpenGlDemo.java edu.cs4730.OpenGlDemo.OpenGlDemo.java edu.cs4730.OpenGlDemo.Square.java edu.cs4730.OpenGlDemo.Square.java edu.cs4730.opengl2ex1.LessonOneRenderer.java edu.cs4730.opengl2ex1.LessonOneRenderer.java edu.cs4730.opengl2ex1.MainActivity.java edu.cs4730.opengl2ex1.MainActivity.java edu.cs4730.opengl2ex2.LessonOneRenderer.java edu.cs4730.opengl2ex2.LessonOneRenderer.java edu.cs4730.opengl2ex2.MainActivity.java edu.cs4730.opengl2ex2.MainActivity.java edu.cs4730.opengl2ex2.myGlSurfaceView.java edu.cs4730.opengl2ex2.myGlSurfaceView.java