Opengl version trouble glew.h
I am developing an OpenG L application and need to use the glew library. I am using Visual Studio C++ 2008 Express .
I compiled a program using gl.h, glu.h, and glut.h just fine and it does what it's supposed to do. But after including glew.h it still compiles just fine, but when I try:
glewInit();
if (glewIsSupported("GL_VERSION_2_0"))
printf("Ready for OpenGL 2.0n");
else {
printf("OpenGL 2.0 not supportedn");
}
It keeps printing:
"OpenGL 2.0 not supported".
I tried to change it to glewIsSupported("GL_VERSION_1_3")
or even glewIsSupported("GL_VERSION_1_0")
and it still returns false meaning that it does not support OpenGL version whatever.
I have a Radeon HD 5750 so, it should support OpenGL 3.1 and some of the features of 3.2. I know that all the device drivers are installed properly since I was able to run all the programs in the Radeon sdk provided by ATI.
I also installed Opengl Extensions Viewer 3.15 and it says OpenGL Version 3.1 Ati Driver 6.14.10.9116. I tired all of them GLEW_VERSION_1_1
, GLEW_VERSION_1_2
, GLEW_VERSION_1_3
, GLEW_VERSION_2_0
, GLEW_VERSION_2_1
, GLEW_VERSION_3_0
and all of these return false.
Any other suggestioms? I even tried GLEW_ARB_vertex_shader
&&
GLEW_ARB_fragment_shader
and this is returning false as well.
glewIsSupported
is meant to check and see if the specific features are supported. You want something more like...
if (GLEW_VERSION_1_3)
{
/* Yay! OpenGL 1.3 is supported! */
}
there may be some lack of necessary initialization. I encounter the same question. And here is how I solve the question: you need to include the glCreateWindow()
ahead. Include this function and try again.
Firstly, you should check whether glew has initialized properly:
if(glewInit() != GLEW_OK)
{ // something is wrong };
Secondly, you need to create the context before calling glewInit()
Thirdly, you can also try:
glewExperimental=true;
Before calling glewInit()
下一篇: Opengl版本麻烦glew.h