英特尔高清显卡3000 Opengl 3.2

时间:2013-12-10 00:31:21

标签: c++ opengl

我一直在尝试使用OGL 3.2(几何着色器和其他东西)的一些功能,但我使用的框架返回了一个错误,这是在这里触发的:

if(major == 3 && minor < 2) {   //Graphics hardware does not support ENOUGH of OGL 3! Erk...
    std::cout << "OGLRenderer::OGLRenderer(): Device does not support OpenGL 3.2!" << std::endl;
    wglDeleteContext(tempContext);
    return;
}

经过调查,我发现我的笔记本电脑配备了最新的Intel HD Graphics 3000驱动程序,但它只支持OGL 3.1。我在Visual C ++ 2010 Express和Windows 8.1上这样做。

有什么办法可以获得更高版本的支持吗?或者我需要切换到另一台机器吗?

2 个答案:

答案 0 :(得分:4)

您的OpenGL版本取决于硬件。如果您无法创建OpenGL 3.2上下文,并且您的驱动程序是最新的,那么您将需要使用支持OpenGL 3.2的硬件

或者,如果您无法升级硬件,则可以使用硬件上可用的OpenGL ARB扩展,这些扩展实际上是OpenGL 3.2中的核心

从技术上讲,即使您的硬件不支持,您也许可以使用OpenGL 3.2功能。直到OSX Mavericks我一直坚持使用OpenGL 3.2并且我想使用OpenGL 3.3功能,所以我在那之前只使用了ARB扩展,并且它们运行得很好。

答案 1 :(得分:0)

Mesa 10.0 supports OpenGL 3.3。在软件中。