summaryrefslogtreecommitdiffstats
path: root/opengl/tests
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-09-30 09:15:16 -0400
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-09-30 09:15:16 -0400
commitb386a86c1c131832c8f9955a5a57a2fa13609d15 (patch)
tree00554528d6cf1483eb111b151604b938676eccc1 /opengl/tests
parent9fcd581a022abec565e3bf65c3ed4aaecf7d1555 (diff)
parent8018f091b94f02eabc6538295fefe3546d9cfeb5 (diff)
downloadframeworks_base-b386a86c1c131832c8f9955a5a57a2fa13609d15.zip
frameworks_base-b386a86c1c131832c8f9955a5a57a2fa13609d15.tar.gz
frameworks_base-b386a86c1c131832c8f9955a5a57a2fa13609d15.tar.bz2
Merge change I8018f091 into eclair
* changes: Add very simple input path. Fix end-of-line issues.
Diffstat (limited to 'opengl/tests')
-rw-r--r--opengl/tests/gl_jni/jni/gl_code.cpp116
-rw-r--r--opengl/tests/gl_jni/src/com/android/gljni/GLJNIActivity.java17
-rw-r--r--opengl/tests/gl_jni/src/com/android/gljni/GLJNILib.java1
-rw-r--r--opengl/tests/gl_jni/src/com/android/gljni/GLJNIView.java6
4 files changed, 76 insertions, 64 deletions
diff --git a/opengl/tests/gl_jni/jni/gl_code.cpp b/opengl/tests/gl_jni/jni/gl_code.cpp
index b85a433..33b25ab 100644
--- a/opengl/tests/gl_jni/jni/gl_code.cpp
+++ b/opengl/tests/gl_jni/jni/gl_code.cpp
@@ -2,16 +2,19 @@
#include <nativehelper/jni.h>
#define LOG_TAG "GLJNI gl_code.cpp"
-#include <utils/Log.h>
+#include <utils/Log.h>
+
#include <GLES/gl.h>
-#include <stdio.h>
+#include <stdio.h>
+
#include <stdlib.h>
#include <math.h>
-
-GLuint texture;
-
-#define FIXED_ONE 0x10000
+
+GLuint texture;
+GLfloat background;
+
+#define FIXED_ONE 0x10000
static void printGLString(const char *name, GLenum s) {
const char *v = (const char *) glGetString(s);
@@ -77,38 +80,38 @@ static void gluLookAt(float eyeX, float eyeY, float eyeZ,
glTranslatef(-eyeX, -eyeY, -eyeZ);
}
-void init_scene(int width, int height)
+void init_scene(int width, int height)
{
printGLString("Version", GL_VERSION);
printGLString("Vendor", GL_VENDOR);
printGLString("Renderer", GL_RENDERER);
- printGLString("Extensions", GL_EXTENSIONS);
+ printGLString("Extensions", GL_EXTENSIONS);
+
glDisable(GL_DITHER);
glEnable(GL_CULL_FACE);
-
float ratio = width / height;
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
- glFrustumf(-ratio, ratio, -1, 1, 1, 10);
+ glFrustumf(-ratio, ratio, -1, 1, 1, 10);
+ glMatrixMode(GL_MODELVIEW);
- glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(
0, 0, 3, // eye
0, 0, 0, // center
0, 1, 0); // up
-
- glEnable(GL_TEXTURE_2D);
- glEnableClientState(GL_VERTEX_ARRAY);
+
+ glEnable(GL_TEXTURE_2D);
+ glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-}
-
-void create_texture()
-{
+}
+
+void create_texture()
+{
const unsigned int on = 0xff0000ff;
const unsigned int off = 0xffffffff;
const unsigned int pixels[] =
@@ -121,48 +124,47 @@ void create_texture()
off, on, off, on, off, on, off, on,
on, off, on, off, on, off, on, off,
off, on, off, on, off, on, off, on,
- };
- glGenTextures(1, &texture);
- glBindTexture(GL_TEXTURE_2D, texture);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
- glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
+ };
+
+ glGenTextures(1, &texture);
+ glBindTexture(GL_TEXTURE_2D, texture);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
+ glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
}
extern "C" {
JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_init(JNIEnv * env, jobject obj, jint width, jint height);
JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_step(JNIEnv * env, jobject obj);
+ JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_changeBackground(JNIEnv * env, jobject obj);
};
-
-
-JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_init(JNIEnv * env, jobject obj, jint width, jint height)
-{
- init_scene(width, height);
- create_texture();
-}
-
-JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_step(JNIEnv * env, jobject obj)
-{
- const GLfloat vertices[] = {
- -1, -1, 0,
- 1, -1, 0,
- 1, 1, 0,
- -1, 1, 0
- };
-
- const GLfixed texCoords[] = {
- 0, 0,
- FIXED_ONE, 0,
- FIXED_ONE, FIXED_ONE,
- 0, FIXED_ONE
- };
-
- const GLushort quadIndices[] = { 0, 1, 2, 0, 2, 3 };
- glVertexPointer(3, GL_FLOAT, 0, vertices);
- glTexCoordPointer(2, GL_FIXED, 0, texCoords);
+JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_init(JNIEnv * env, jobject obj, jint width, jint height)
+{
+ init_scene(width, height);
+ create_texture();
+}
+
+JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_step(JNIEnv * env, jobject obj)
+{
+ const GLfloat vertices[] = {
+ -1, -1, 0,
+ 1, -1, 0,
+ 1, 1, 0,
+ -1, 1, 0
+ };
+
+ const GLfixed texCoords[] = {
+ 0, 0,
+ FIXED_ONE, 0,
+ FIXED_ONE, FIXED_ONE,
+ 0, FIXED_ONE
+ };
+ const GLushort quadIndices[] = { 0, 1, 2, 0, 2, 3 };
+ glVertexPointer(3, GL_FLOAT, 0, vertices);
+ glTexCoordPointer(2, GL_FIXED, 0, texCoords);
int nelem = sizeof(quadIndices)/sizeof(quadIndices[0]);
static float grey;
@@ -170,8 +172,12 @@ JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_step(JNIEnv * env, jobjec
if (grey > 1.0f) {
grey = 0.0f;
}
- glClearColor(grey, grey, grey, 1.0f);
+ glClearColor(background, grey, grey, 1.0f);
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
- glDrawElements(GL_TRIANGLES, nelem, GL_UNSIGNED_SHORT, quadIndices);
-}
+ glDrawElements(GL_TRIANGLES, nelem, GL_UNSIGNED_SHORT, quadIndices);
+}
+JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_changeBackground(JNIEnv * env, jobject obj)
+{
+ background = 1.0f - background;
+} \ No newline at end of file
diff --git a/opengl/tests/gl_jni/src/com/android/gljni/GLJNIActivity.java b/opengl/tests/gl_jni/src/com/android/gljni/GLJNIActivity.java
index df1f957..c6f5313 100644
--- a/opengl/tests/gl_jni/src/com/android/gljni/GLJNIActivity.java
+++ b/opengl/tests/gl_jni/src/com/android/gljni/GLJNIActivity.java
@@ -18,28 +18,27 @@ package com.android.gljni;
import android.app.Activity;
import android.os.Bundle;
-import android.util.Log;
-import android.view.WindowManager;
-
-import java.io.File;
-
public class GLJNIActivity extends Activity {
GLJNIView mView;
- @Override protected void onCreate(Bundle icicle) {
+ @Override
+ protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
mView = new GLJNIView(getApplication());
- setContentView(mView);
+ mView.setFocusableInTouchMode(true);
+ setContentView(mView);
}
- @Override protected void onPause() {
+ @Override
+ protected void onPause() {
super.onPause();
mView.onPause();
}
- @Override protected void onResume() {
+ @Override
+ protected void onResume() {
super.onResume();
mView.onResume();
}
diff --git a/opengl/tests/gl_jni/src/com/android/gljni/GLJNILib.java b/opengl/tests/gl_jni/src/com/android/gljni/GLJNILib.java
index 8662725..f56d2af 100644
--- a/opengl/tests/gl_jni/src/com/android/gljni/GLJNILib.java
+++ b/opengl/tests/gl_jni/src/com/android/gljni/GLJNILib.java
@@ -30,4 +30,5 @@ public class GLJNILib {
*/
public static native void init(int width, int height);
public static native void step();
+ public static native void changeBackground();
}
diff --git a/opengl/tests/gl_jni/src/com/android/gljni/GLJNIView.java b/opengl/tests/gl_jni/src/com/android/gljni/GLJNIView.java
index 9ea1059..9a2c8c4 100644
--- a/opengl/tests/gl_jni/src/com/android/gljni/GLJNIView.java
+++ b/opengl/tests/gl_jni/src/com/android/gljni/GLJNIView.java
@@ -80,5 +80,11 @@ class GLJNIView extends GLSurfaceView {
// Do nothing.
}
}
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ GLJNILib.changeBackground();
+ return true;
+ }
}