public Cube(){
  final float vertices[]={-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,-1,1,1};
  final float colors[]={0,0,0,1,1,0,0,1,1,1,0,1,0,1,0,1,0,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1};
  final byte indices[]={0,4,5,0,5,1,1,5,6,1,6,2,2,6,7,2,7,3,3,7,4,3,4,0,4,7,6,4,6,5,3,0,1,3,1,2};
  ByteBuffer vbb=ByteBuffer.allocateDirect(vertices.length * 4);
  vbb.order(ByteOrder.nativeOrder());
  mVertexBuffer=vbb.asFloatBuffer();
  mVertexBuffer.put(vertices);
  mVertexBuffer.position(0);
  ByteBuffer cbb=ByteBuffer.allocateDirect(colors.length * 4);
  cbb.order(ByteOrder.nativeOrder());
  mColorBuffer=cbb.asFloatBuffer();
  mColorBuffer.put(colors);
  mColorBuffer.position(0);
  mIndexBuffer=ByteBuffer.allocateDirect(indices.length);
  mIndexBuffer.put(indices);
  mIndexBuffer.position(0);
}

public Cube ( ) { final float vertices [ ] = { - 1 , - 1 , - 1 , 1 , - 1 , - 1 , 1 , 1 , - 1 , - 1 , 1 , - 1 , - 1 , - 1 , 1 , 1 , - 1 , 1 , 1 , 1 , 1 , - 1 , 1 , 1 } ; final float colors [ ] = { 0 , 0 , 0 , 1 , 1 , 0 , 0 , 1 , 1 , 1 , 0 , 1 , 0 , 1 , 0 , 1 , 0 , 0 , 1 , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 } ; final byte indices [ ] = { 0 , 4 , 5 , 0 , 5 , 1 , 1 , 5 , 6 , 1 , 6 , 2 , 2 , 6 , 7 , 2 , 7 , 3 , 3 , 7 , 4 , 3 , 4 , 0 , 4 , 7 , 6 , 4 , 6 , 5 , 3 , 0 , 1 , 3 , 1 , 2 } ; ByteBuffer vbb = ByteBuffer . allocateDirect ( vertices . length * 4 ) ; vbb . order ( ByteOrder . nativeOrder ( ) ) ; mVertexBuffer = vbb . asFloatBuffer ( ) ; mVertexBuffer . put ( vertices ) ; mVertexBuffer . position ( 0 ) ; ByteBuffer cbb = ByteBuffer . allocateDirect ( colors . length * 4 ) ; cbb . order ( ByteOrder . nativeOrder ( ) ) ; mColorBuffer = cbb . asFloatBuffer ( ) ; mColorBuffer . put ( colors ) ; mColorBuffer . position ( 0 ) ; mIndexBuffer = ByteBuffer . allocateDirect ( indices . length ) ; mIndexBuffer . put ( indices ) ; mIndexBuffer . position ( 0 ) ; }
initialises a new instance of the cube
