Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Adept I

OpenGL ES 2.0 dll symbols on windows platform

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?

2 Replies
Journeyman III

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.


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.