Пытаюсь запустить шейдер в консольном Qt-приложении, получаю следующую ошибку
QOpenGLShader::compile(Compute): 0(1) : error C0201: unsupported version 44
0(1) : error C0206: invalid token "<invalid atom 284073152>" in version line
Шейдер гарантированно рабочий, в программе на OpenFrameworks он работает безо всяких проблем (но по требованию заказчика надо теперь работать на Qt), шейдер начинается со строки
Контекст OpenGL инициализируется в main.cpp следующим образом
QSurfaceFormat surfaceFormat;
surfaceFormat.setMajorVersion(4);
surfaceFormat.setMinorVersion(4);
surfaceFormat.setProfile(QSurfaceFormat::CoreProfile);
QSurfaceFormat::setDefaultFormat(surfaceFormat);
QOpenGLContext openGLContext;
openGLContext.create();
if(!openGLContext.isValid())
{
qDebug()<<"Failed to create openGL context";
return 0;
}
QOffscreenSurface surface;
surface.create();
if(!surface.isValid())
{
qDebug()<<"Failed to create surface";
}
код подключения шейдера выглядит следующим образом
QOpenGLShaderProgram compute;
compute.addShaderFromSourceFile(QOpenGLShader::Compute,":/shaders/cull.glsl");
compute.link();
Кто-нибудь знает, в чём может быть проблема?