我一直在尝试使用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上这样做。
有什么办法可以获得更高版本的支持吗?或者我需要切换到另一台机器吗?
答案 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。在软件中。