开发者

Opengl version trouble glew.h

开发者 https://www.devze.com 2022-12-15 07:09 出处:网络
I am developing an OpenGL application and need to use the glew library开发者_高级运维. I am using Visual Studio C++ 2008 Express.

I am developing an OpenGL 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.0\n");
else {
    printf("OpenGL 2.0 not supported\n");
}

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()


I encountered the same problem when running a program through windows RDP, then I noticed that my video card may not working properly when using RDP, so I tried teamviewer instead, both glewinfo.exe and my program start to work normally then.

The OP's problem may be solved for a long time, just for others' infomation.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号