Я пишу приложение Qt OpenGL, только что начав с GLSL, и пытаюсь скомпилировать «простой» фрагментный шейдер, который я нашел в примере в Интернете:
#version 320 es
out vec4 fColor;
void main()
{
fColor = vec4 (0.0, 0.0, 1.0, 1.0);
}
Но при попытке добавить этот шейдер из источника я получаю это сообщение об ошибке от addShaderFromSourceFile()
Qt's:
QOpenGLShader :: компиляции (фрагмент):
0: 3 (12): предупреждение: расширение GL_ARB_fragment_coord_conventions
не поддерживается во фрагментном шейдере
0: 1 (1): ошибка: в этой области не указана точность для типа vec4
Каков правильный синтаксис для объявления точности для типа vec4
?
Я не могу найти пример того, как это сделать для vec4
, и попробовать что-то вроде этого:
precision mediump vec4;
... приводит к синтаксической ошибке.
Обратите внимание, что я хочу, чтобы шейдер работал во встроенной системе, поэтому в начале строки "#version 320 es
".