Opengl版本麻烦glew.h

我正在开发OpenG L应用程序,需要使用glew库。 我正在使用Visual Studio C ++ 2008 Express

我使用gl.h,glu.h和glut.h编译了一个程序,很好,它完成了它应该做的事情。 但是在包含glew.h之后,它仍然编译得很好,但是当我尝试时:

glewInit();
if (glewIsSupported("GL_VERSION_2_0"))
    printf("Ready for OpenGL 2.0n");
else {
    printf("OpenGL 2.0 not supportedn");
}

它不断打印:

“不支持OpenGL 2.0”。

我试图将其改为glewIsSupported("GL_VERSION_1_3")甚至glewIsSupported("GL_VERSION_1_0") ,它仍然返回false,意味着它不支持OpenGL版本。

我有一个Radeon HD 5750,所以它应该支持OpenGL 3.1和3.2的一些功能。 我知道所有的设备驱动程序安装正确,因为我能够运行由ATI提供的Radeon SDK中的所有程序。

我还安装了Opengl Extensions Viewer 3.15,它说OpenGL Version 3.1 Ati Driver 6.14.10.9116。 我厌倦了他们GLEW_VERSION_1_1GLEW_VERSION_1_2GLEW_VERSION_1_3GLEW_VERSION_2_0GLEW_VERSION_2_1GLEW_VERSION_3_0 ,所有这些都返回false。

任何其他suggestioms? 我甚至尝试了GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader ,这也返回false。


glewIsSupported旨在检查并查看特定功能是否受支持。 你想要更多像...

if (GLEW_VERSION_1_3)
{
    /* Yay! OpenGL 1.3 is supported! */
}

可能会有一些缺乏必要的初始化。 我遇到同样的问题。 下面是我如何解决这个问题:你需要提前包含glCreateWindow() 。 包含此功能并重试。


首先,你应该检查glew是否已经正确初始化:

 if(glewInit() != GLEW_OK)
 { // something is wrong };

其次,你需要在调用glewInit()之前创建上下文

第三,你也可以尝试:

  glewExperimental=true;

在调用glewInit()之前

链接地址: http://www.djcxy.com/p/61789.html

上一篇: Opengl version trouble glew.h

下一篇: How to navigate to a directory in C:\ with Cygwin?