Loading opengl/tests/gl_jni/jni/gl_code.cpp +61 −55 Original line number Diff line number Diff line Loading @@ -3,13 +3,16 @@ #include <nativehelper/jni.h> #define LOG_TAG "GLJNI gl_code.cpp" #include <utils/Log.h> #include <GLES/gl.h> #include <stdio.h> #include <stdlib.h> #include <math.h> GLuint texture; GLfloat background; #define FIXED_ONE 0x10000 Loading Loading @@ -83,10 +86,10 @@ void init_scene(int width, int height) printGLString("Vendor", GL_VENDOR); printGLString("Renderer", GL_RENDERER); printGLString("Extensions", GL_EXTENSIONS); glDisable(GL_DITHER); glEnable(GL_CULL_FACE); float ratio = width / height; glViewport(0, 0, width, height); Loading @@ -94,8 +97,8 @@ void init_scene(int width, int height) glLoadIdentity(); glFrustumf(-ratio, ratio, -1, 1, 1, 10); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt( 0, 0, 3, // eye Loading @@ -122,6 +125,7 @@ void create_texture() 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); Loading @@ -133,9 +137,9 @@ void create_texture() 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); Loading @@ -159,19 +163,21 @@ JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_step(JNIEnv * env, jobjec }; 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; grey += 0.01f; 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); } JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_changeBackground(JNIEnv * env, jobject obj) { background = 1.0f - background; } No newline at end of file opengl/tests/gl_jni/src/com/android/gljni/GLJNIActivity.java +8 −9 Original line number Diff line number Diff line Loading @@ -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()); 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(); } Loading opengl/tests/gl_jni/src/com/android/gljni/GLJNILib.java +1 −0 Original line number Diff line number Diff line Loading @@ -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(); } opengl/tests/gl_jni/src/com/android/gljni/GLJNIView.java +6 −0 Original line number Diff line number Diff line Loading @@ -80,5 +80,11 @@ class GLJNIView extends GLSurfaceView { // Do nothing. } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { GLJNILib.changeBackground(); return true; } } Loading
opengl/tests/gl_jni/jni/gl_code.cpp +61 −55 Original line number Diff line number Diff line Loading @@ -3,13 +3,16 @@ #include <nativehelper/jni.h> #define LOG_TAG "GLJNI gl_code.cpp" #include <utils/Log.h> #include <GLES/gl.h> #include <stdio.h> #include <stdlib.h> #include <math.h> GLuint texture; GLfloat background; #define FIXED_ONE 0x10000 Loading Loading @@ -83,10 +86,10 @@ void init_scene(int width, int height) printGLString("Vendor", GL_VENDOR); printGLString("Renderer", GL_RENDERER); printGLString("Extensions", GL_EXTENSIONS); glDisable(GL_DITHER); glEnable(GL_CULL_FACE); float ratio = width / height; glViewport(0, 0, width, height); Loading @@ -94,8 +97,8 @@ void init_scene(int width, int height) glLoadIdentity(); glFrustumf(-ratio, ratio, -1, 1, 1, 10); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt( 0, 0, 3, // eye Loading @@ -122,6 +125,7 @@ void create_texture() 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); Loading @@ -133,9 +137,9 @@ void create_texture() 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); Loading @@ -159,19 +163,21 @@ JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_step(JNIEnv * env, jobjec }; 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; grey += 0.01f; 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); } JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_changeBackground(JNIEnv * env, jobject obj) { background = 1.0f - background; } No newline at end of file
opengl/tests/gl_jni/src/com/android/gljni/GLJNIActivity.java +8 −9 Original line number Diff line number Diff line Loading @@ -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()); 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(); } Loading
opengl/tests/gl_jni/src/com/android/gljni/GLJNILib.java +1 −0 Original line number Diff line number Diff line Loading @@ -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(); }
opengl/tests/gl_jni/src/com/android/gljni/GLJNIView.java +6 −0 Original line number Diff line number Diff line Loading @@ -80,5 +80,11 @@ class GLJNIView extends GLSurfaceView { // Do nothing. } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { GLJNILib.changeBackground(); return true; } }