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_1
, GLEW_VERSION_1_2
, GLEW_VERSION_1_3
, GLEW_VERSION_2_0
, GLEW_VERSION_2_1
, GLEW_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()
之前