首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opengl版本故障诊断

Opengl版本故障诊断
EN

Stack Overflow用户
提问于 2009-12-30 20:53:37
回答 4查看 4K关注 0票数 6

我正在开发一个OpenGL应用程序,需要使用glew库。我正在使用Visual C++ 2008Express

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

代码语言:javascript
复制
glewInit();
if (glewIsSupported("GL_VERSION_2_0"))
    printf("Ready for OpenGL 2.0\n");
else {
    printf("OpenGL 2.0 not supported\n");
}

它一直在印刷:

"OpenGL 2.0不受支持“。

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

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

我还安装了Opengl扩展查看器3.15,它显示OpenGL版本3.1Ati驱动程序6.14.10.9116。我累了,他们都是GLEW_VERSION_1_1GLEW_VERSION_1_2GLEW_VERSION_1_3GLEW_VERSION_2_0GLEW_VERSION_2_1GLEW_VERSION_3_0,所有这些都是假的。

还有其他建议吗?我甚至尝试过GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader,这也是返回false。

EN

回答 4

Stack Overflow用户

发布于 2009-12-30 20:57:39

glewIsSupported的目的是检查是否支持特定特性。你想要的更像是..。

代码语言:javascript
复制
if (GLEW_VERSION_1_3)
{
    /* Yay! OpenGL 1.3 is supported! */
}
票数 9
EN

Stack Overflow用户

发布于 2013-06-04 11:21:33

可能缺乏必要的初始化。我遇到了同样的问题。下面是我解决这个问题的方法:您需要包括前面的glCreateWindow()。包含此函数,然后再试一次。

票数 2
EN

Stack Overflow用户

发布于 2015-07-02 11:39:39

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

代码语言:javascript
复制
 if(glewInit() != GLEW_OK)
 { // something is wrong };

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

第三,你也可以尝试:

代码语言:javascript
复制
  glewExperimental=true;

在调用glewInit()之前

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1982429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档