我一直在尝试使用 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 上执行此操作。
有什么方法可以获得对更高版本的支持吗?或者我需要切换到另一台机器吗?
最佳答案
您的 OpenGL 版本取决于硬件。如果您无法创建 OpenGL 3.2 上下文,并且您的驱动程序是最新的,那么您将需要使用支持 OpenGL 3.2 的硬件
或者,如果您无法升级您的硬件,您可以使用您的硬件上可用的 OpenGL ARB 扩展,这些扩展实际上是 OpenGL 3.2 的核心
因此,从技术上讲,即使您的硬件不支持,您也可以使用 OpenGL 3.2 功能。在 OSX Mavericks 之前,我一直停留在 OpenGL 3.2 上,我想使用 OpenGL 3.3 的功能,所以在那之前我只是使用 ARB 扩展,它们工作得很好。
关于c++ - 英特尔核芯显卡 3000 Opengl 3.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20483750/