错误:不支持 GLSL 3.30.支持的版本包括:1.10、1.20、1.30、1.00 ES、3.00 ES、3.10



我有一个Qt代码,用于使用OpenGL开发的3D应用程序。我正在尝试使用 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

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

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

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

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


我在属于朋友的计算机上构建/运行了该应用程序,该计算机具有两个图形卡:一个英特尔和一个英伟达

对于英特尔显卡,OpenGL 版本也出现了相同的先前问题。

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


我很想知道的是修改代码需要多少努力,以便 3D 应用程序也可以在英特尔显卡上运行。谁知道呢?