这很奇怪。我想在我的gl程序中实现着色器。 但GLEW告诉我,着色器是我的系统上不支持:GLEW着色器似乎不受支持
//glut init and glew init ...
if (GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader)
printf("Ready for GLSL\n");
else
{
printf("Not totally ready :(\n");
printf("VENDOR = %s\n", glGetString(GL_VENDOR)) ;
printf("RENDERER = %s\n", glGetString(GL_RENDERER)) ;
printf("VERSION = %s\n", glGetString(GL_VERSION)) ;
exit(1);
}
也GLEW不能给我说说我的显卡的任何信息。上面的代码产生以下:
VENDOR = (null)
RENDERER = (null)
VERSION = (null)
我使用一台笔记本电脑与英特尔HD 3000和一个专用的Nvidia GTM 525这两者都是能够使用的着色器。 我以正确的顺序(首先是glew)包含所有必要的标题(gl,glut和glew),并链接到所有相应的库(以正确的顺序)。 (这不是我第一次使用OpenGL和GLSL)。
我也试过了软件中心的其他OpenGL游戏,他们工作。所以司机应该正常工作。
(正如你可能已经猜到的那样)我正在使用freeglut,GL扩展文件管理器,Ubuntu 14.04,codeblocks和g ++。
可能是什么问题?我应该在哪里搜索这个错误?
在此先感谢。
在激活GLX上下文之前,您无法查询这些字符串;) –