Windows为了发展其本身的DirectX,只支持OpenGL1.1,可是至2013年5月,OpenGL已更新到4.3版本。
如何能够让Windows支持更高版本的OpenGL?显卡可能可以从硬件上直接实现更高版本的OpenGL的相关函数。
查看显卡支持的OpenGL版本的方法,glGetString(GL_VERSION);
查看支持的相关扩展:glGetString(GL_EXTENSIONS);
在查看之前首先有初始化窗口,因此需要用的glut库。
Windows环境下GLUT下载地址:
Windows下GLUT安装步骤:
1、将下载的压缩包解开,将得到5个文件2、在“我的电脑”中搜索“gl.h”,并找到其所在文件夹,对于VisualStudio2008,把glut.h复制到文件夹:
C:\Program Files\VS2008\VC\include\GL(我的电脑是这样的,不同电脑可能不一样)
3、把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(即与include并排的lib文件夹下)。4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。
(32位系统:C:\Windows\System32,64位系统:C:\Windows\System)
此时在Visual Stdio下新建空白工程。输入以下代码:
#include <Windows.h>
#include <gl/glut.h>
#include <iostream>
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(300, 300);
glutInitWindowPosition(100, 100);
glutCreateWindow("OpenGL Version Check");
const GLubyte* uglName = glGetString(GL_VENDOR);
if (uglName)
std::cout<<"opengl实现厂商的名字: "<<uglName<<std::endl;
else
std::cout<<"uglName empty pointer"<<std::endl;
const GLubyte* uglRenderer = glGetString(GL_RENDERER);
if (uglName)
std::cout<<"渲染器标识符,通常是个硬件平台 : "<<uglRenderer<<std::endl;
else
std::cout<<"uglRender empty pointer"<<std::endl;
const GLubyte* uglVersion = glGetString(GL_VERSION);
if (uglVersion)
std::cout<<"OpenGL实现的版本号"<<uglVersion<<std::endl;
else
std::cout<<"version empty pointer"<<std::endl;
const GLubyte* uglGluVersion = gluGetString(GLU_VERSION);
if (uglGluVersion)
std::cout<<"当前GLU工具库版本 : "<<uglGluVersion<<std::endl;
else
std::cout<<"uglGluVersion empty pointer"<<std::endl;
return 0;
}
则可得到本机显卡支持OpenGL信息
.