From: Caspian Rychlik-P. <ci...@us...> - 2002-08-17 14:13:14
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/win32 In directory usw-pr-cvs1:/tmp/cvs-serv11131/src/native/win32 Modified Files: org_lwjgl_opengl_BaseGL.cpp org_lwjgl_input_Keyboard.cpp org_lwjgl_opengl_GL.cpp LWJGL.cpp org_lwjgl_opengl_GLU.cpp org_lwjgl_Display.cpp extgl.c Log Message: Working Index: org_lwjgl_opengl_BaseGL.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_BaseGL.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_BaseGL.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- org_lwjgl_opengl_BaseGL.cpp 15 Aug 2002 15:43:02 -0000 1.2 +++ org_lwjgl_opengl_BaseGL.cpp 17 Aug 2002 14:13:11 -0000 1.3 @@ -109,12 +109,6 @@ return JNI_FALSE; } - _wglSetDC(hdc); - if (!glInitialize()) { - printf("Failed to initialize GL\n"); - return JNI_FALSE; - } - // Create a rendering context hglrc = wglCreateContext(hdc); if (hglrc == NULL) { @@ -123,7 +117,20 @@ } // Automatically make it the current context - Java_org_lwjgl_opengl_BaseGL_nMakeCurrent(env, obj); + wglMakeCurrent(hdc, hglrc); + + char * p = (char *) glGetString(GL_EXTENSIONS); + if (NULL == p) { + printf("NO extensions available\n"); + } else { + printf("Available extensions:\n%s\n", p); + } + + _wglSetDC(hdc); + if (glInitialize() != 0) { + printf("Failed to initialize GL\n"); + return JNI_FALSE; + } return JNI_TRUE; } Index: org_lwjgl_input_Keyboard.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_input_Keyboard.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_input_Keyboard.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- org_lwjgl_input_Keyboard.cpp 15 Aug 2002 15:43:02 -0000 1.2 +++ org_lwjgl_input_Keyboard.cpp 17 Aug 2002 14:13:11 -0000 1.3 @@ -67,8 +67,8 @@ globalClassLock = env->NewGlobalRef(clazz); } - fid_readBuffer = env->GetFieldID(clazz, "readBuffer", "Ljava/nio/ByteBuffer;"); - fid_readBufferAddress = env->GetFieldID(clazz, "readBufferAddress", "I"); + fid_readBuffer = env->GetStaticFieldID(clazz, "readBuffer", "Ljava/nio/ByteBuffer;"); + fid_readBufferAddress = env->GetStaticFieldID(clazz, "readBufferAddress", "I"); } /* Index: org_lwjgl_opengl_GL.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_GL.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_GL.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- org_lwjgl_opengl_GL.cpp 15 Aug 2002 15:43:02 -0000 1.2 +++ org_lwjgl_opengl_GL.cpp 17 Aug 2002 14:13:11 -0000 1.3 @@ -41,3 +41,4070 @@ #include <windows.h> #include "org_lwjgl_opengl_GL.h" +#include "extgl.h" +#include "checkGLerror.h" + +/* + * Class: org_lwjgl_opengl_GL + * Method: activeStencilFaceEXT + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_activeStencilFaceEXT(JNIEnv * env, jobject obj, jint p0) [...4039 lines suppressed...] + CHECK_GL_ERROR +} + +/* + * Class: org_lwjgl_opengl_GL + * Method: checkWGLExtensionsString + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_checkWGLExtensionsString(JNIEnv * env, jclass clazz) +{ + + jfieldID fid_WGL_ARB_extensions_string = env->GetStaticFieldID(clazz, "WGL_ARB_extensions_string", "Z"); + jfieldID fid_WGL_EXT_extensions_string = env->GetStaticFieldID(clazz, "WGL_EXT_extensions_string", "Z"); + + if (wglGetExtensionsStringARB) + env->SetStaticBooleanField(clazz, fid_WGL_ARB_extensions_string, JNI_TRUE); + if (wglGetExtensionsStringEXT) + env->SetStaticBooleanField(clazz, fid_WGL_EXT_extensions_string, JNI_TRUE); + +} + Index: LWJGL.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/LWJGL.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/LWJGL.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- LWJGL.cpp 15 Aug 2002 15:43:02 -0000 1.2 +++ LWJGL.cpp 17 Aug 2002 14:13:11 -0000 1.3 @@ -42,6 +42,7 @@ #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <stdio.h> +#include "LWJGL.h" /* * DLL entry point for Windows. Called when Java loads the .dll Index: org_lwjgl_opengl_GLU.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_GLU.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_GLU.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- org_lwjgl_opengl_GLU.cpp 15 Aug 2002 15:43:02 -0000 1.2 +++ org_lwjgl_opengl_GLU.cpp 17 Aug 2002 14:13:11 -0000 1.3 @@ -41,3 +41,124 @@ #include <windows.h> #include "org_lwjgl_opengl_GLU.h" +#include "extgl.h" +#include "checkGLerror.h" +#include "gl/glu.h" + +/* + * Class: org_lwjgl_opengl_GLU + * Method: getString + */ +JNIEXPORT jstring JNICALL Java_org_lwjgl_opengl_GLU_getString(JNIEnv * env, jobject obj, jint p0) +{ + const char * msg = (const char *) gluGetString((GLint) p0); + jstring ret = env->NewStringUTF(msg); + return ret; +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: errorString + */ +JNIEXPORT jstring JNICALL Java_org_lwjgl_opengl_GLU_errorString(JNIEnv * env, jobject obj, jint p0) +{ + const GLubyte * msg = gluErrorString((GLint) p0); + jstring ret = env->NewStringUTF((const char *) msg); + return ret; +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: ortho2D + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GLU_ortho2D(JNIEnv * env, jobject obj, jdouble p0, jdouble p1, jdouble p2, jdouble p3) +{ + gluOrtho2D((GLdouble) p0, (GLdouble) p1, (GLdouble) p2, (GLdouble) p3); + CHECK_GL_ERROR +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: perspective + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GLU_perspective(JNIEnv * env, jobject obj, jdouble p0, jdouble p1, jdouble p2, jdouble p3) +{ + gluPerspective((GLdouble) p0, (GLdouble) p1, (GLdouble) p2, (GLdouble) p3); + CHECK_GL_ERROR +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: pickMatrix + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GLU_pickMatrix(JNIEnv * env, jobject obj, jdouble p0, jdouble p1, jdouble p2, jdouble p3, jint p4) +{ + gluPickMatrix((GLdouble) p0, (GLdouble) p1, (GLdouble) p2, (GLdouble) p3, (GLint *) p4); + CHECK_GL_ERROR +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: lookAt + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GLU_lookAt(JNIEnv * env, jobject obj, jdouble p0, jdouble p1, jdouble p2, jdouble p3, jdouble p4, jdouble p5, jdouble p6, jdouble p7, jdouble p8) +{ + gluLookAt((GLdouble) p0, (GLdouble) p1, (GLdouble) p2, (GLdouble) p3, (GLdouble) p4, (GLdouble) p5, (GLdouble) p6, (GLdouble) p7, (GLdouble) p8); + CHECK_GL_ERROR +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: project + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GLU_project(JNIEnv * env, jobject obj, jdouble p0, jdouble p1, jdouble p2, jint p3, jint p4, jint p5, jint p6, jint p7, jint p8) +{ + jint ret = (jint) gluProject((GLdouble) p0, (GLdouble) p1, (GLdouble) p2, (const GLdouble *) p3, (const GLdouble *) p4, (const GLint *) p5, (GLdouble *) p6, (GLdouble *) p7, (GLdouble *) p8); + CHECK_GL_ERROR + return ret; +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: unProject + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GLU_unProject(JNIEnv * env, jobject obj, jdouble p0, jdouble p1, jdouble p2, jint p3, jint p4, jint p5, jint p6, jint p7, jint p8) +{ + jint ret = (jint) gluUnProject((GLdouble) p0, (GLdouble) p1, (GLdouble) p2, (const GLdouble *) p3, (const GLdouble *) p4, (const GLint *) p5, (GLdouble *) p6, (GLdouble *) p7, (GLdouble *) p8); + CHECK_GL_ERROR + return ret; +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: scaleImage + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GLU_scaleImage(JNIEnv * env, jobject obj, jint p0, jint p1, jint p2, jint p3, jint p4, jint p5, jint p6, jint p7, jint p8) +{ + jint ret = (jint) gluScaleImage((GLint) p0, (GLint) p1, (GLint) p2, (GLint) p3, (const void *) p4, (GLint) p5, (GLint) p6, (GLint) p7, (void *) p8); + CHECK_GL_ERROR + return ret; +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: build1DMipmaps + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GLU_build1DMipmaps(JNIEnv * env, jobject obj, jint p0, jint p1, jint p2, jint p3, jint p4, jint p5) +{ + jint ret = (jint) gluBuild1DMipmaps((GLint) p0, (GLint) p1, (GLint) p2, (GLint) p3, (GLint) p4, (const void *) p5); + CHECK_GL_ERROR + return ret; +} + +/* + * Class: org_lwjgl_opengl_GLU + * Method: build2DMipmaps + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GLU_build2DMipmaps(JNIEnv * env, jobject obj, jint p0, jint p1, jint p2, jint p3, jint p4, jint p5, jint p6) +{ + jint ret = (jint) gluBuild2DMipmaps((GLint) p0, (GLint) p1, (GLint) p2, (GLint) p3, (GLint) p4, (GLint) p5, (const void *) p6); + CHECK_GL_ERROR + return ret; +} + Index: org_lwjgl_Display.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_Display.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_Display.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- org_lwjgl_Display.cpp 15 Aug 2002 15:38:48 -0000 1.3 +++ org_lwjgl_Display.cpp 17 Aug 2002 14:13:12 -0000 1.4 @@ -42,11 +42,11 @@ #include <windows.h> #include "org_lwjgl_Display.h" -#define DIRECTINPUT_VERSION 0x0700 +//#define DIRECTINPUT_VERSION 0x0700 #include <dinput.h> -#define WINDOWCLASSNAME "JGLIBWINDOW" +#define WINDOWCLASSNAME "LWJGLWINDOW" // Initialise static variables bool oneShotInitialised = false; @@ -75,6 +75,8 @@ break; } } + case WM_PAINT: + return 0; } // default action @@ -180,7 +182,7 @@ width, height, NULL, NULL, - (HINSTANCE) GetCurrentProcess(), + GetModuleHandle(NULL), NULL); // And we never look at windowClass again... @@ -199,11 +201,30 @@ ShowCursor(FALSE); // Create input - HRESULT ret = DirectInputCreate((HINSTANCE)GetCurrentProcess(), DIRECTINPUT_VERSION, &lpdi, NULL); + HRESULT ret = DirectInputCreate(GetModuleHandle(NULL), DIRECTINPUT_VERSION, &lpdi, NULL); if (ret != DI_OK && ret != DIERR_BETADIRECTINPUTVERSION ) { - printf("Failed to create directinput\n"); + printf("Failed to create directinput"); + switch (ret) { + case DIERR_BETADIRECTINPUTVERSION : + printf(" - Beta versio0n\n"); + break; + case DIERR_INVALIDPARAM : + printf(" - Invalid parameter\n"); + break; + case DIERR_OLDDIRECTINPUTVERSION : + printf(" - Old Version\n"); + break; + case DIERR_OUTOFMEMORY : + printf(" - Out Of Memory\n"); + break; + default: + printf("\n"); + } return JNI_FALSE; } + + jfieldID fid_handle = env->GetStaticFieldID(clazz, "handle", "I"); + env->SetStaticIntField(clazz, fid_handle, (jint) hwnd); return JNI_TRUE; } Index: extgl.c CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/extgl.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/extgl.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- extgl.c 11 Aug 2002 11:50:45 -0000 1.1.1.1 +++ extgl.c 17 Aug 2002 14:13:12 -0000 1.2 @@ -748,6 +748,7 @@ /* char err[1000];*/ if (t == NULL) { + printf("Failed to get function: %s\n", name); /*sprintf(err, "wglGetProcAddress on %s failed", name);*/ error = 1; /* MessageBox(0, err, "Error", MB_OK | MB_ICONHAND);*/ } @@ -1779,6 +1780,8 @@ { error = 0; InitSupportedExtensions(); + if (error != 0) + printf("Failed to init supported extensions\n"); /* first load the etensions */ InitARBImaging(); |