diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-30 09:15:16 -0400 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-30 09:15:16 -0400 |
commit | b386a86c1c131832c8f9955a5a57a2fa13609d15 (patch) | |
tree | 00554528d6cf1483eb111b151604b938676eccc1 /opengl/tests | |
parent | 9fcd581a022abec565e3bf65c3ed4aaecf7d1555 (diff) | |
parent | 8018f091b94f02eabc6538295fefe3546d9cfeb5 (diff) | |
download | frameworks_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')
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; + } } |