OpenGL 官网上 的版本为3.2
如何查看呢?有劳各位前辈啦
方法一:
使用OpenGL 内置函数glGetString(GL_VERSION);
具体用法 由 wkt 前辈 解答,答案在楼下
方法二:
在终端中输入:
代码: 全选
glxgears -info
代码: 全选
glxgears -info
代码: 全选
# include <GL/glut.h>
#include <iostream>
using namespace std;
int main(int argc, char** argv){
const char* version = (const char*)glGetString(GL_VERSION);
printf("OpenGL 版本:%s\n", version);
return 0;
}
搜不到啊,继续研究wangdu2002 写了:新立得里搜索不到?
谢谢Caledonia 写了:应该是和显卡驱动有关吧
比如 Nvidia 的二进制驱动,最新的测试版(190.18.03)是支持 OpenGL 3.2
而 Mesa 7.5 里的还是 OpenGL 2.1
----
glxinfo | grep 'OpenGL version string'
输出的应该就是吧
gl需要不须要初始化??afox800 写了:谢谢Caledonia 写了:应该是和显卡驱动有关吧
比如 Nvidia 的二进制驱动,最新的测试版(190.18.03)是支持 OpenGL 3.2
而 Mesa 7.5 里的还是 OpenGL 2.1
----
glxinfo | grep 'OpenGL version string'
输出的应该就是吧
不过为什么函数glGetString(GL_VERSION)返回值为空?
事实证明需要,且必须先要创建窗口wkt 写了:gl需要不须要初始化??afox800 写了:谢谢Caledonia 写了:应该是和显卡驱动有关吧
比如 Nvidia 的二进制驱动,最新的测试版(190.18.03)是支持 OpenGL 3.2
而 Mesa 7.5 里的还是 OpenGL 2.1
----
glxinfo | grep 'OpenGL version string'
输出的应该就是吧
不过为什么函数glGetString(GL_VERSION)返回值为空?
代码: 全选
#include <stdio.h>
# include <GL/glut.h>
int main(int argc, char** argv)
{
glutInit(&argc,argv);
//显示模式初始化
/// glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
//定义窗口大小
// glutInitWindowSize(300,300);
//定义窗口位置
// glutInitWindowPosition(100,100);
//创建窗口
glutCreateWindow("testgl");
const char* version = (const char*)glGetString(GL_VERSION);
printf("OpenGL 版本:%s\n", version);
return 0;
}
天才,什么都不说了,佩服wkt 写了:事实证明需要,且必须先要创建窗口wkt 写了:gl需要不须要初始化??afox800 写了:谢谢Caledonia 写了:应该是和显卡驱动有关吧
比如 Nvidia 的二进制驱动,最新的测试版(190.18.03)是支持 OpenGL 3.2
而 Mesa 7.5 里的还是 OpenGL 2.1
----
glxinfo | grep 'OpenGL version string'
输出的应该就是吧
不过为什么函数glGetString(GL_VERSION)返回值为空?
否则glGetString会使程序崩溃---我实际实验的结果代码: 全选
#include <stdio.h> # include <GL/glut.h> int main(int argc, char** argv) { glutInit(&argc,argv); //显示模式初始化 /// glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH); //定义窗口大小 // glutInitWindowSize(300,300); //定义窗口位置 // glutInitWindowPosition(100,100); //创建窗口 glutCreateWindow("testgl"); const char* version = (const char*)glGetString(GL_VERSION); printf("OpenGL 版本:%s\n", version); return 0; }