DEADSOFTWARE

Make XashXT renderer work
[nanogl.git] / nanogl.cpp
index 5f97fedb31343614e90665792f708383dcebe332..c8454b079163a82e5796de264ea3f41f5bdd6314 100644 (file)
@@ -144,9 +144,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 +157,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 +285,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;