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

https://bitbucket.org/DeveloperUX/behaviortree · Java · 76 lines · 50 code · 21 blank · 5 comment · 0 complexity · da26798d378f7e5a989b0ef6a7d09c2e 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. /**
  6. * http://www.zeuscmd.com/tutorials/opengles/20-Transparency.php
  7. * @author bburns
  8. *
  9. */
  10. public class GLTutorialNine extends GLTutorialBase {
  11. float lightAmbient[] = new float[] { 0.3f, 0.3f, 0.3f, 1.0f };
  12. float lightDiffuse[] = new float[] { 0.6f, 0.6f, 0.6f, 1.0f };
  13. float[] lightPos = new float[] {0,0,3,1};
  14. float matAmbient[] = new float[] { 1f, 1f, 1f, 1.0f };
  15. float matDiffuse[] = new float[] { 1f, 1f, 1f, 1.0f };
  16. int tex;
  17. public GLTutorialNine(Context c) {
  18. super(c, 20);
  19. }
  20. protected void init(GL10 gl) {
  21. gl.glEnable(GL10.GL_LIGHTING);
  22. gl.glEnable(GL10.GL_LIGHT0);
  23. gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_AMBIENT, matAmbient, 0);
  24. gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_DIFFUSE, matDiffuse, 0);
  25. gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_AMBIENT, lightAmbient, 0);
  26. gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, lightDiffuse, 0);
  27. gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, lightPos, 0);
  28. gl.glEnable(GL10.GL_BLEND);
  29. gl.glDisable(GL10.GL_DEPTH_TEST);
  30. gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);
  31. gl.glEnable(GL10.GL_TEXTURE_2D);
  32. gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
  33. gl.glClearDepthf(1.0f);
  34. gl.glVertexPointer(3, GL10.GL_FLOAT, 0, cubeBuff);
  35. gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
  36. gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, texBuff);
  37. gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
  38. gl.glShadeModel(GL10.GL_SMOOTH);
  39. tex = loadTexture(gl, R.drawable.glass);
  40. }
  41. float xrot = 0.0f;
  42. float yrot = 0.0f;
  43. public void onDrawFrame(GL10 gl) {
  44. gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
  45. setupCube(gl);
  46. gl.glMatrixMode(GL10.GL_MODELVIEW);
  47. gl.glLoadIdentity();
  48. GLU.gluLookAt(gl, 0, 0, 3, 0, 0, 0, 0, 1, 0);
  49. gl.glRotatef(xrot, 1, 0, 0);
  50. gl.glRotatef(yrot, 0, 1, 0);
  51. drawCube(gl);
  52. xrot += 1.0f;
  53. yrot += 0.5f;
  54. }
  55. }