【发布时间】:2019-06-01 00:16:20
【问题描述】:
我正在编写一个 Qt OpenGL 应用程序,刚开始使用 GLSL,并且正在尝试编译我在网络上的示例中找到的“简单”片段着色器:
#version 320 es
out vec4 fColor;
void main()
{
fColor = vec4 (0.0, 0.0, 1.0, 1.0);
}
但是当尝试从源代码添加这个着色器时,我从 Qt 的addShaderFromSourceFile() 收到这个错误消息:
QOpenGLShader::编译(片段):
0:3(12):警告:片段着色器不支持扩展GL_ARB_fragment_coord_conventions
0:1(1):错误:在此范围内没有为类型vec4指定精度
为vec4 类型声明精度的正确语法是什么?
我似乎找不到如何为vec4 执行此操作的示例,并尝试这样的事情:
precision mediump vec4;
...导致语法错误。
请注意,我希望着色器在嵌入式系统上运行,因此开头有“#version 320 es”行。
【问题讨论】:
标签: qt opengl-es shader glsles