[jddaniels commit] r156 - in trunk/AndroidOpenGLTutorial: bin res/values src/edu/union/tutorial

1 view
Skip to first unread message

codesite...@google.com

unread,
Nov 14, 2007, 4:32:42 PM11/14/07
to jddaniels-commit...@googlegroups.com
Author: daniels.douglas
Date: Wed Nov 14 13:31:36 2007
New Revision: 156

Added:
trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorial8.java
Removed:
trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/R.java
Modified:
trunk/AndroidOpenGLTutorial/bin/OpenGLTutorial.apk
trunk/AndroidOpenGLTutorial/bin/classes.dex
trunk/AndroidOpenGLTutorial/bin/resources.ap_
trunk/AndroidOpenGLTutorial/res/values/strings.xml
trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLActivity.java
trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorial.java
trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorialSeven.java

Log:
commit

Modified: trunk/AndroidOpenGLTutorial/bin/OpenGLTutorial.apk
==============================================================================
Binary files. No diff available.

Modified: trunk/AndroidOpenGLTutorial/bin/classes.dex
==============================================================================
Binary files. No diff available.

Modified: trunk/AndroidOpenGLTutorial/bin/resources.ap_
==============================================================================
Binary files. No diff available.

Modified: trunk/AndroidOpenGLTutorial/res/values/strings.xml
==============================================================================
--- trunk/AndroidOpenGLTutorial/res/values/strings.xml (original)
+++ trunk/AndroidOpenGLTutorial/res/values/strings.xml Wed Nov 14
13:31:36 2007
@@ -7,5 +7,6 @@
<string name="fourth">Fourth Tutorial</string>
<string name="fifth">Fifth Tutorial</string>
<string name="sixth">Sixth Tutorial</string>
- <string name="seventh">Seventh Tutorial</string>
+ <string name="seventh">Seventh Tutorial</string>
+ <string name="eighth">Eighth Tutorial</string>
</resources>

Modified: trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLActivity.java
==============================================================================
--- trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLActivity.java (original)
+++ trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLActivity.java
Wed Nov 14 13:31:36 2007
@@ -12,6 +12,7 @@
public static final int FIFTH = 4;
public static final int SIXTH = 5;
public static final int SEVENTH = 6;
+ public static final int EIGHTH = 7;

protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -40,6 +41,9 @@
case SEVENTH:
v = new GLTutorialSeven(this);
break;
+ case EIGHTH:
+ v = new GLTutorial8(this);
+ break;
}
setContentView(v);
}

Modified: trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorial.java
==============================================================================
--- trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorial.java (original)
+++ trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorial.java
Wed Nov 14 13:31:36 2007
@@ -14,6 +14,7 @@
public static final int FIFTH_ID = FOURTH_ID+1;
public static final int SIXTH_ID = FIFTH_ID+1;
public static final int SEVENTH_ID = SIXTH_ID+1;
+ public static final int EIGHTH_ID = SEVENTH_ID+1;

public static final int ACTIVITY_VIEW = 0;
public static final String GL_DRAW = "GL_DRAW";
@@ -34,6 +35,7 @@
menu.add(0, FIFTH_ID, R.string.fifth);
menu.add(0, SIXTH_ID, R.string.sixth);
menu.add(0, SEVENTH_ID, R.string.seventh);
+ menu.add(0, EIGHTH_ID, R.string.eighth);

return res;
}
@@ -64,6 +66,9 @@
case SEVENTH_ID:
i.putExtra(GL_DRAW, GLActivity.SEVENTH);
break;
+ case EIGHTH_ID:
+ i.putExtra(GL_DRAW, GLActivity.EIGHTH);
+ break;
default:
i = null;
}

Added: trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorial8.java
==============================================================================
--- (empty file)
+++ trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorial8.java
Wed Nov 14 13:31:36 2007
@@ -0,0 +1,163 @@
+package edu.union.tutorial;
+
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.FloatBuffer;
+
+import javax.microedition.khronos.opengles.GL10;
+import javax.microedition.khronos.opengles.GL11;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.OpenGLContext;
+import android.opengl.GLU;
+import android.view.View;
+
+public class GLTutorial8 extends View {
+ private OpenGLContext glContext;
+
+ float xrot = 30.0f;
+ float yrot = 40.0f;
+
+ float lightAmbient[] = { 0.2f, 0.0f, 0.0f, 1.0f };
+ float lightDiffuse[] = { 0.5f, 0.0f, 0.0f, 1.0f };
+ float lightSpecular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
+
+ float matAmbient[] = { 1.0f, 1.0f, 1.0f, 1.0f };
+ float matDiffuse[] = { 1.0f, 1.0f, 1.0f, 1.0f };
+ float matSpecular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
+
+ float lightPosition[] = { 2.0f, 2.0f, 3.0f, 0.0f };
+ float lightDirection[] = { -2.0f, -2.0f, -3.0f };
+
+ float box[] = new float[] {
+ // FRONT
+ -0.5f, -0.5f, 0.5f,
+ 0.5f, -0.5f, 0.5f,
+ -0.5f, 0.5f, 0.5f,
+ 0.5f, 0.5f, 0.5f,
+ // BACK
+ -0.5f, -0.5f, -0.5f,
+ -0.5f, 0.5f, -0.5f,
+ 0.5f, -0.5f, -0.5f,
+ 0.5f, 0.5f, -0.5f,
+ // LEFT
+ -0.5f, -0.5f, 0.5f,
+ -0.5f, 0.5f, 0.5f,
+ -0.5f, -0.5f, -0.5f,
+ -0.5f, 0.5f, -0.5f,
+ // RIGHT
+ 0.5f, -0.5f, -0.5f,
+ 0.5f, 0.5f, -0.5f,
+ 0.5f, -0.5f, 0.5f,
+ 0.5f, 0.5f, 0.5f,
+ // TOP
+ -0.5f, 0.5f, 0.5f,
+ 0.5f, 0.5f, 0.5f,
+ -0.5f, 0.5f, -0.5f,
+ 0.5f, 0.5f, -0.5f,
+ // BOTTOM
+ -0.5f, -0.5f, 0.5f,
+ -0.5f, -0.5f, -0.5f,
+ 0.5f, -0.5f, 0.5f,
+ 0.5f, -0.5f, -0.5f,
+ };
+
+ FloatBuffer cubeBuff;
+
+ protected FloatBuffer makeFloatBuffer(float[] arr) {
+ ByteBuffer bb = ByteBuffer.allocateDirect(arr.length*4);
+ bb.order(ByteOrder.nativeOrder());
+ FloatBuffer fb = bb.asFloatBuffer();
+ fb.put(arr);
+ fb.position(0);
+ return fb;
+ }
+
+ float[] pos = new float[] {0,0,-1,0};
+
+ public GLTutorial8(Context c) {
+
+ super(c);
+ int one = 0x10000;
+ glContext = new OpenGLContext(OpenGLContext.DEPTH_BUFFER);
+ GL11 gl = (GL11)glContext.getGL();
+ gl.glEnable(gl.GL_LIGHTING);
+ gl.glEnable(gl.GL_LIGHT0);
+
+ gl.glMaterialfv(gl.GL_FRONT_AND_BACK, gl.GL_AMBIENT, matAmbient, 0);
+ gl.glMaterialfv(gl.GL_FRONT_AND_BACK, gl.GL_DIFFUSE, matDiffuse, 0);
+ gl.glMaterialfv(gl.GL_FRONT_AND_BACK, gl.GL_SPECULAR, matSpecular, 0);
+ gl.glMaterialf(gl.GL_FRONT_AND_BACK, gl.GL_SHININESS, 20.0f);
+
+ gl.glLightfv(gl.GL_LIGHT0, gl.GL_AMBIENT, lightAmbient, 0);
+ gl.glLightfv(gl.GL_LIGHT0, gl.GL_DIFFUSE, lightDiffuse, 0);
+ gl.glLightfv(gl.GL_LIGHT0, gl.GL_SPECULAR, lightSpecular, 0);
+
+ gl.glLightfv(gl.GL_LIGHT0, gl.GL_POSITION, lightPosition, 0);
+ gl.glLightfv(gl.GL_LIGHT0, gl.GL_SPOT_DIRECTION, lightDirection, 0);
+ gl.glLightf(gl.GL_LIGHT0, gl.GL_SPOT_CUTOFF, 1.2f);
+ gl.glLightf(gl.GL_LIGHT0, gl.GL_SPOT_EXPONENT, 20.0f);
+
+ gl.glEnable(gl.GL_DEPTH_TEST);
+ gl.glDepthFunc(gl.GL_LEQUAL);
+
+ gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ gl.glClearDepthf(1.0f);
+
+ cubeBuff = makeFloatBuffer(box);
+ gl.glVertexPointer(3, GL10.GL_FLOAT, 0, cubeBuff);
+ gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
+
+ gl.glEnable(GL10.GL_CULL_FACE);
+ gl.glShadeModel(GL10.GL_SMOOTH);
+ }
+
+
+ protected void onDraw(Canvas canvas) {
+ GL11 gl = (GL11)glContext.getGL();
+ int w = getWidth();
+ int h = getHeight();
+ xrot = (xrot+1)%360;
+ yrot = (yrot+1)%360;
+
+ glContext.waitNative(canvas, this);
+
+ gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
+
+ gl.glMatrixMode(GL10.GL_PROJECTION);
+ gl.glLoadIdentity();
+ gl.glViewport(0,0,w,h);
+ GLU.gluPerspective(gl, 45.0f, ((float)w)/h, 1f, 100f);
+
+ gl.glMatrixMode(GL10.GL_MODELVIEW);
+ gl.glLoadIdentity();
+ GLU.gluLookAt(gl, 0, 0, 4.0f, 0, 0, 0, 0, 1, 0);
+
+ gl.glRotatef(xrot, 1, 0, 0);
+ gl.glRotatef(yrot, 0, 1, 0);
+
+ gl.glEnableClientState(gl.GL_VERTEX_ARRAY);
+ gl.glEnableClientState(gl.GL_COLOR_ARRAY);
+
+ gl.glColor4f(1.0f, 0, 0, 1.0f);
+ gl.glNormal3f(0,0,1);
+ gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
+ gl.glNormal3f(0,0,-1);
+ gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 4, 4);
+
+ gl.glColor4f(0, 1.0f, 0, 1.0f);
+ gl.glNormal3f(-1,0,0);
+ gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 8, 4);
+ gl.glNormal3f(1,0,0);
+ gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 12, 4);
+
+ gl.glColor4f(0, 0, 1.0f, 1.0f);
+ gl.glNormal3f(0,1,0);
+ gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 16, 4);
+ gl.glNormal3f(0,-1,0);
+ gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 20, 4);
+
+ glContext.waitGL();
+ }
+}
\ No newline at end of file

Modified: trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorialSeven.java
==============================================================================
---
trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorialSeven.java (original)
+++
trunk/AndroidOpenGLTutorial/src/edu/union/tutorial/GLTutorialSeven.java
Wed Nov 14 13:31:36 2007
@@ -66,10 +66,12 @@
return fb;
}

- float[] pos = new float[] {0,0,3,0};
+ float[] pos = new float[] {0,0,-1,0};

public GLTutorialSeven(Context c) {
+
super(c);
+ int one = 0x10000;
glContext = new OpenGLContext(OpenGLContext.DEPTH_BUFFER);
GL11 gl = (GL11)glContext.getGL();

@@ -80,7 +82,7 @@

gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_AMBIENT, lightAmbient, 0);
gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, lightDiffuse, 0);
- gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, pos, 0);
+ gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, pos, one);
gl.glEnable(GL10.GL_DEPTH_TEST);
gl.glDepthFunc(GL10.GL_LEQUAL);

Reply all
Reply to author
Forward
0 new messages