Hi,
I’m developing an application on linux.
On that platform the libGL.la/libGL.so have the symbol glBlendColor defined, which I use in my application.
On windows I could not find a driver with that symbol, defined to link with.
Where can I find that driver?
What can I do as a workaround?
Why doesn’t windows version of the gl driver have support for glBlendColor?
I’m using driver 179.* on windows and 173.* on linux.
Thank you
ps: hope this is the right forum for this question.
It is! Most likely, libGL on linux uses the mesa library which already links the function.
So,first thing you should do is download the latest glext.h headers which can be found in this site under the extension registry, and put it in your include/GL/ folder.
In windows you should use glGetProcAddress(“glBlendColor”) just as you would with an extension. This happens because, in windows only OpenGL 1.1 functions are linked against your static libOpenGL32.a or whatever you use. glBlendColor is 1.2 or 1.4, don’t remember right now, but the point is you should load it from the dll directly(via glGetProcAddress(“glBlendColor”)).
Hope it helped!
First I tried to use GLee. But since I’m developping with Qt, I get a problem with the preprocessor defines / order of inclusion.
GLee can’t be included after GL (included by Qt header) and Qt header can’t be included after a #define Bool or #define foo bar something.
So I tried glew. Works great with GNU/Linux, but again on windows I get a GLEW_ERROR_NO_GL_VERSION error!?
don’t feel bad… Recently recovered from an insidious comedy of errors that resulted from forgetting to add a reference to a project dependency, which then resulted in a link with an orphaned lib and dll still lurking in a project folder. Sometimes your very own - seemingly benign - project settings can hose your day.