I’m trying port a GLSL 4.2 to 1.2 (Because I’m using a mac), however, I’m not sure how I can convert an out parameter to 1.2 (as it generates an error).
out vec3 vNormal;
out vec2 texcoord;
out vec3 vPosition;
The compiler error is as following.
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'
The GLSL 1.30 and above
outqualifier represents a shader stage output. What that means for 1.20 and below depends on which shader stage you’re talking about.Since you’re using identifiers like
texcoordandvNormal, I’m guessing that you are writing a vertex shader. Then the keyword you should use isvarying. Your fragment shader inputs that correspond to these should also bevaryingtoo.