/Research/Example projects/android2.1_TestOGL/src/com/example/atogl/GLTutorialThirteen.java

https://bitbucket.org/DeveloperUX/behaviortree · Java · 75 lines · 49 code · 22 blank · 4 comment · 0 complexity · fc5007984d7e78f036a173711d1d6066 MD5 · raw file

  1. package com.example.atogl;
  2. import javax.microedition.khronos.opengles.GL10;
  3. import android.content.Context;
  4. import android.opengl.GLU;
  5. // The font in this tutorial is from:
  6. // http://lumina.sourceforge.net/Tutorials/Hello_World.html
  7. // Thanks!
  8. public class GLTutorialThirteen extends GLTutorialBase {
  9. float lightAmbient[] = new float[] { 0.2f, 0.2f, 0.2f, 1.0f };
  10. float lightDiffuse[] = new float[] { 1f, 1f, 1f, 1.0f };
  11. float[] lightPos = new float[] {0,0,3,1};
  12. float matAmbient[] = new float[] { 1f, 1f, 1f, 1.0f };
  13. float matDiffuse[] = new float[] { 1f, 1f, 1f, 1.0f };
  14. BitmapFont font;
  15. public GLTutorialThirteen(Context c) {
  16. super(c, 20);
  17. }
  18. protected void init(GL10 gl) {
  19. gl.glEnable(GL10.GL_LIGHTING);
  20. gl.glEnable(GL10.GL_LIGHT0);
  21. gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_AMBIENT, matAmbient, 0);
  22. gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_DIFFUSE, matDiffuse, 0);
  23. gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_AMBIENT, lightAmbient, 0);
  24. gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, lightDiffuse, 0);
  25. gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, lightPos, 0);
  26. gl.glEnable(GL10.GL_DEPTH_TEST);
  27. gl.glDepthFunc(GL10.GL_LEQUAL);
  28. gl.glEnable(GL10.GL_BLEND);
  29. gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);
  30. gl.glEnable(GL10.GL_TEXTURE_2D);
  31. gl.glClearColor(0.0f, 0.0f, 1.0f, 0.0f);
  32. gl.glClearDepthf(1.0f);
  33. gl.glEnable(GL10.GL_CULL_FACE);
  34. gl.glShadeModel(GL10.GL_SMOOTH);
  35. font = new BitmapFont(loadTexture(gl, R.drawable.font));
  36. }
  37. float xrot = 0.0f;
  38. float yrot = 0.0f;
  39. public void onDrawFrame(GL10 gl) {
  40. gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
  41. gl.glMatrixMode(GL10.GL_MODELVIEW);
  42. gl.glLoadIdentity();
  43. GLU.gluLookAt(gl, 0, 0, 3, 0, 0, 0, 0, 1, 0);
  44. gl.glTranslatef(0, 0, -6);
  45. gl.glRotatef(xrot, 1, 0, 0);
  46. gl.glRotatef(yrot, 0, 1, 0);
  47. //gl.glMatrixMode(GL10.GL_MODELVIEW);
  48. gl.glActiveTexture(GL10.GL_TEXTURE0);
  49. gl.glClientActiveTexture(GL10.GL_TEXTURE0);
  50. font.draw(gl, "Hello");
  51. yrot += 0.1;
  52. }
  53. }