错误:不支持GLSL 3.30。支持的版本为:1.10,1.20,1.30,1.00 ES,3.00 ES,3.10 ES和3.20 ES

时间:2018-06-10 12:43:42

标签: c++ qt opengl glsl

我有一个用OpenGL开发的3D应用程序的Qt代码。我正在尝试使用QtCreator构建/运行Qt应用程序,但是我收到以下错误:

Error in compiling shader.

0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

我尝试按照this answer的建议将以下内容添加到我的代码中:

QSurfaceFormat glFormat;
glFormat.setVersion(3, 3);
glFormat.setProfile(QSurfaceFormat::CoreProfile);
QSurfaceFormat::setDefaultFormat(glFormat);

实际上上面的代码工作,我的意思是错误得到了解决。但是,当应用程序运行时,不会显示/呈现任何3D内容。例如,将STL文件导入Qt应用程序时,不会显示STL内容。有没有人遇到类似的问题?

1 个答案:

答案 0 :(得分:0)

只是为了帮助下一个可能遇到这样问题的人:

我在属于朋友的计算机上构建/运行了应用程序,该计算机有两张图形卡:一个 Intel 一个 Nvidia

对于 Intel 显卡,出现了与OpenGL版本相同的上一个问题。

对于 Nvidia 显卡,没有发生OpenGL错误。应用程序运行没有任何问题,可以呈现/查看导入的STL文件。因此,我的OpenGL错误是硬件相关

我很想知道修改代码需要多少努力才能使3D应用程序也能在 Intel 显卡上运行。谁知道?