Macos GLSL";“出去”;4.2至1.2

Macos GLSL";“出去”;4.2至1.2,macos,opengl,glsl,Macos,Opengl,Glsl,我正在尝试将GLSL 4.2移植到1.2(因为我使用的是mac),但是,我不确定如何将out参数转换为1.2(因为它会生成错误)。 GLSL 1.30及以上out限定符表示着色器阶段输出。对于1.20及以下版本,这意味着什么取决于您所谈论的着色器阶段 由于您使用的标识符是texcoord和vNormal,我猜您正在编写顶点着色器。那么您应该使用的关键字是variable。与这些相对应的片段着色器输入也应该是不同的。GLSL 1.30及以上out限定符表示着色器阶段输出。对于1.20及以下版本,这

我正在尝试将GLSL 4.2移植到1.2(因为我使用的是mac),但是,我不确定如何将out参数转换为1.2(因为它会生成错误)。

GLSL 1.30及以上
out
限定符表示着色器阶段输出。对于1.20及以下版本,这意味着什么取决于您所谈论的着色器阶段


由于您使用的标识符是
texcoord
vNormal
,我猜您正在编写顶点着色器。那么您应该使用的关键字是
variable
。与这些相对应的片段着色器输入也应该是不同的。

GLSL 1.30及以上
out
限定符表示着色器阶段输出。对于1.20及以下版本,这意味着什么取决于您所谈论的着色器阶段

由于您使用的标识符是
texcoord
vNormal
,我猜您正在编写顶点着色器。那么您应该使用的关键字是
variable
。与这些相对应的片段着色器输入也应该是不同的

out vec3 vNormal;
out vec2 texcoord; 
out vec3 vPosition;

Invalid qualifiers 'out' in global variable context
ERROR: 0:13: Invalid qualifiers 'out' in global variable context
ERROR: 0:14: Invalid qualifiers 'out' in global variable context
ERROR: 0:19: Use of undeclared identifier 'texcoord'
ERROR: 0:20: Use of undeclared identifier 'vNormal'
ERROR: 0:21: Use of undeclared identifier 'vPosition'