我有一个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 应用程序也可以在英特尔显卡上运行。谁知道呢?