Android Open Source - opengl Cube 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 book.BouncyCube;
/ * f r o m w w w . j a v a 2 s . c o m * /
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import javax.microedition.khronos.opengles.GL10;
import javax.microedition.khronos.opengles.GL11;
/**
* A vertex shaded square.
*/
class Cube
{
public Cube()
{
float vertices[] =
{
-1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f,
1.0f, -1.0f, 1.0f,
-1.0f, -1.0f, 1.0f,
-1.0f, 1.0f,-1.0f,
1.0f, 1.0f,-1.0f,
1.0f, -1.0f,-1.0f,
-1.0f, -1.0f,-1.0f
};
byte maxColor=(byte )255;
byte colors[] =
{
maxColor,maxColor, 0,maxColor,
0, maxColor,maxColor,maxColor,
0, 0, 0,maxColor,
maxColor, 0,maxColor,maxColor,
maxColor, 0, 0,maxColor,
0, maxColor, 0,maxColor,
0, 0,maxColor,maxColor,
0, 0, 0,maxColor
};
byte tfan1[] =
{
1,0,3,
1,3,2,
1,2,6,
1,6,5,
1,5,4,
1,4,0
};
byte tfan2[] =
{
7,4,5,
7,5,6,
7,6,2,
7,2,3,
7,3,0,
7,0,4
};
ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length * 4);
vbb.order(ByteOrder.nativeOrder());
mFVertexBuffer = vbb.asFloatBuffer();
mFVertexBuffer.put(vertices);
mFVertexBuffer.position(0);
mColorBuffer = ByteBuffer.allocateDirect(colors.length);
mColorBuffer.put(colors);
mColorBuffer.position(0);
mTfan1 = ByteBuffer.allocateDirect(tfan1.length);
mTfan1.put(tfan1);
mTfan1.position(0);
mTfan2 = ByteBuffer.allocateDirect(tfan2.length);
mTfan2.put(tfan2);
mTfan2.position(0);
}
public void draw(GL10 gl)
{
gl.glVertexPointer(3, GL11.GL_FLOAT, 0, mFVertexBuffer);
gl.glColorPointer(4, GL11.GL_UNSIGNED_BYTE, 0, mColorBuffer);
gl.glDrawElements( gl.GL_TRIANGLE_FAN, 6 * 3, gl.GL_UNSIGNED_BYTE, mTfan1);
gl.glDrawElements( gl.GL_TRIANGLE_FAN, 6 * 3, gl.GL_UNSIGNED_BYTE, mTfan2);
}
private FloatBuffer mFVertexBuffer;
private ByteBuffer mColorBuffer;
private ByteBuffer mIndexBuffer;
private ByteBuffer mTfan1;
private ByteBuffer mTfan2;
}
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