2 Replies Latest reply on Jan 7, 2011 10:38 AM by sharpneli

    OpenGL ES 2.0 dll symbols on windows platform

    sharpneli

      OpenGL 4.1 supports OpenGL ES 2.0 completely. However on windows platform there seems to be incostencies in how the API made available to user. Functions such as glShader* etc should be imported by using wglGetProcAddress, as everything else above OpenGL 1.1. Despite this small subset of functions have real symbols exported on atioglxx.dll (egl* functions). This causes some problems as normal egl.h basically requires that all functions would be exported directly from a dll.

      Will the methods of accessing the functions be unified in future? Ofcourse we can make a workaround and brutally edit egl.h to remove functions not explicitly exported or wrap them into a library which handles fetching of the proc address, however this seems to be a rather poor solution if every vendor has to make their own wrapper for this. Will AMD eventually provide libGLESv2.dll to export the functions which are lacking from OpenGL32.dll/atioglx.dll?

        • OpenGL ES 2.0 dll symbols on windows platform
          fly_wave

          I don't quite understand why you need the dll to expose all the gl* functions from ES.

          I think we can get the address of these functions with eglGetProcAddress, just like what we do with wglGetProcAddress.

            • OpenGL ES 2.0 dll symbols on windows platform
              sharpneli

              Yeah we can get the symbols by using eglGetProcAddress. However usually you just include gl2.h and link against the library. On all other platforms you actually have exactly the same code. With windows using the getprocadress you actually cannot include gl2.h without modification. Basically when porting programs using OpenGL ES 2.0 to windows you have to make a wrapper for it.

               

              The question was just to clarify that will this situation remain even in the future.