版本获取
api:
const char* version = (const char*)glGetString(GL_VERSION);
printf("OpenGL 版本:%s\n", version);
ubuntu 命令行
glxinfo | grep OpenGL
..........................
直接可以查看到版本字符串
关于mesa
如果自己的显卡不支持高版本的OpenGL,或者自己的操作系统根本就没有提供OpenGL,怎么办呢?有一个被称为MESA的开源项目,用C语言编写了一个OpenGL实现,最新的mesa 7.0已经实现了OpenGL 2.1标准中所规定的各种功能。下载MESA的代码,然后编译,就可以得到一个最新版本的OpenGL了。呵呵,不要高兴的太早。MESA是软件实现的,就是说没有用到硬件加速,因此运行起来会较慢,尤其是使用新版本的OpenGL所规定的一些高级特性时,慢得几乎无法忍受。MESA不能让你用旧的显卡玩新的游戏(很可能慢得没法玩),但是如果你只是想学习或尝试一下新版本OpenGL的各种功能,MESA可以满足你的一部分要求。
对于硬件加速的问题
X Window对于 X Window 使用 glxinfo 和 glxgears 检测. glxinfo 显示 GLX 相关信息,包括图形加速、显卡、OpenGL 版本等。 direct rendering: Yes Yes 表示硬件加速,No 表示软件 OpenGL renderer string: Mesa GLX indirect表示不是硬件加速。 glxgears 显示两个旋转的齿轮,并给出 FPS,即每秒多少祯,硬件加速要比软件加速快很多。配合 cpu 占用率,软件加速 CPU 负载明显增大 |