X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=nanogl.cpp;h=53b6384848c5c47f115266f46baaf3fcb299e9f8;hb=abdb29a685652588a08667d7830879d407a18d5c;hp=5f97fedb31343614e90665792f708383dcebe332;hpb=30b7a31233e8f4b52e7a93768250391db5dc32b7;p=nanogl.git diff --git a/nanogl.cpp b/nanogl.cpp index 5f97fed..53b6384 100644 --- a/nanogl.cpp +++ b/nanogl.cpp @@ -87,6 +87,10 @@ void APIENTRY gl_unimplemented(GLenum none) { #endif } +#ifdef XASH_SDL +#include "SDL.h" +#endif + void *nanoGL_GetProcAddress(const char *name) { void *addr = NULL; @@ -144,9 +148,9 @@ static int CreateGlEsInterface( const char * name, void * lib, void * lib1, void if ( f == NULL ) { LOGE ( "<%s> not found in libEGL.so", *api); if( glEsImpl->eglGetProcAddress && ( (void*)glEsImpl->eglGetProcAddress != (void*)gl_unimplemented ) ) - f = glEsImpl->eglGetProcAddress( *api ); + f = (void*)glEsImpl->eglGetProcAddress( *api ); if(f == NULL) - f = default_func; //(void*)gl_unimplemented; + f = (void*)default_func; //(void*)gl_unimplemented; } else { @@ -157,9 +161,9 @@ static int CreateGlEsInterface( const char * name, void * lib, void * lib1, void { LOGE ( "libEGL.so not loaded!"); if( glEsImpl->eglGetProcAddress && ( (void*)glEsImpl->eglGetProcAddress != (void*)gl_unimplemented ) ) - f = glEsImpl->eglGetProcAddress( *api ); + f = (void*)glEsImpl->eglGetProcAddress( *api ); if( !f ) - f = default_func; + f = (void*)default_func; } } else { @@ -285,6 +289,19 @@ int nanoGL_Init() return 0; } +#ifdef __ANDROID__ + // somewhy it does not initialize correctly + *((void**)&glEsImpl->glGenFramebuffers) = (void*)glEsImpl->eglGetProcAddress( "glGenFramebuffersOES" ); + *((void**)&glEsImpl->glGenRenderbuffers) = (void*)glEsImpl->eglGetProcAddress( "glGenRenderbuffersOES" ); + *((void**)&glEsImpl->glRenderbufferStorage) = (void*)glEsImpl->eglGetProcAddress( "glRenderbufferStorageOES" ); + *((void**)&glEsImpl->glBindFramebuffer) = (void*)glEsImpl->eglGetProcAddress( "glBindFramebufferOES" ); + *((void**)&glEsImpl->glBindRenderbuffer) = (void*)glEsImpl->eglGetProcAddress( "glBindRenderbufferOES" ); + *((void**)&glEsImpl->glFramebufferTexture2D) = (void*)glEsImpl->eglGetProcAddress( "glFramebufferTexture2DOES" ); + *((void**)&glEsImpl->glDeleteRenderbuffers) = (void*)glEsImpl->eglGetProcAddress( "glDeleteRenderbuffersOES" ); + *((void**)&glEsImpl->glDeleteFramebuffers) = (void*)glEsImpl->eglGetProcAddress( "glDeleteFramebuffersOES" ); + *((void**)&glEsImpl->glFramebufferRenderbuffer) = (void*)glEsImpl->eglGetProcAddress( "glFramebufferRenderbufferOES" ); +#endif + // Init nanoGL InitGLStructs(); return 1;