/Research/Example projects/AndroidGL_0.2/AndroidGL/src/edu/union/GLTutorialTwo.java

https://bitbucket.org/DeveloperUX/behaviortree · Java · 58 lines · 43 code · 15 blank · 0 comment · 0 complexity · e130153ce299a3af787dbe5b8924242e MD5 · raw file

  1. package edu.union;
  2. import java.nio.ByteBuffer;
  3. import java.nio.ByteOrder;
  4. import java.nio.FloatBuffer;
  5. import javax.microedition.khronos.opengles.GL10;
  6. import android.content.Context;
  7. import android.graphics.Canvas;
  8. import android.graphics.OpenGLContext;
  9. import android.opengl.GLU;
  10. import android.view.SurfaceHolder;
  11. import android.view.View;
  12. public class GLTutorialTwo extends View {
  13. private OpenGLContext glContext;
  14. float[] square = new float[] { 0.25f, 0.25f, 0.0f,
  15. 0.75f, 0.25f, 0.0f,
  16. 0.25f, 0.75f, 0.0f,
  17. 0.75f, 0.75f, 0.0f };
  18. FloatBuffer squareBuff;
  19. public GLTutorialTwo(Context c) {
  20. super(c);
  21. glContext = new OpenGLContext(0);
  22. GL10 gl = (GL10)glContext.getGL();
  23. gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
  24. ByteBuffer bb = ByteBuffer.allocateDirect(square.length*4);
  25. bb.order(ByteOrder.nativeOrder());
  26. squareBuff = bb.asFloatBuffer();
  27. squareBuff.put(square);
  28. squareBuff.position(0);
  29. gl.glMatrixMode(GL10.GL_PROJECTION);
  30. gl.glLoadIdentity();
  31. GLU.gluOrtho2D(gl, 0.0f,1.2f,0.0f,1.0f);
  32. gl.glVertexPointer(3, GL10.GL_FLOAT, 0, squareBuff);
  33. gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
  34. }
  35. protected void onDraw(Canvas canvas) {
  36. GL10 gl = (GL10)glContext.getGL();
  37. glContext.waitNative(canvas, this);
  38. gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
  39. gl.glColor4f(1,1,1,1);
  40. gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
  41. glContext.waitGL();
  42. }
  43. }