问题描述
我的着色器有in / out关键字。但是我有GLSL编译错误:'out'限定符仅适用于GLSL 1.10
中的函数参数。着色器有 #version 330
指令。调用 glGetString(GL_SHADING_LANGUAGE_VERSION)
返回3.30。
My shaders have in/out keywords. But I've got GLSL compile error: 'out' qualifier only valid for function parameters in GLSL 1.10
. Shaders have #version 330
directive. Calling glGetString(GL_SHADING_LANGUAGE_VERSION)
returns 3.30.
这是我的项目: github.com/wlad031/ssu-coursework-2016
。输入文件夹中包含着色器。主要源文件是和。
Here is my project: github.com/wlad031/ssu-coursework-2016
. Input folder contains shaders. Main source files are src/ShaderProgramControl.cpp and src/Shader.cpp. Where is my mistake?
推荐答案
在您的src / FileReader.cpp中,您有:
In your src/FileReader.cpp you have :
if (first != '#') {
res.push_back(line);
}
这会剥掉#version 330 ...
And this strips out the #version 330 ...
这篇关于GLSL错误:`out'限定符仅适用于GLSL 1.10中的函数参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!