glslf - OpenGL fragment profile for the OpenGL Shading Lanauge (GLSL) glslf This OpenGL profile corresponds to the per-fragment functionality introduced by the OpenGL Shading Language. The compiler output for this profile conforms to the language grammar defined by the OpenGL Shading Language specification. Requires support for OpenGL 2.0.

OpenGL Extension Specifications
http://www.opengl.org/documentation/specs/version2.0/glspec20.pdf http://www.opengl.org/documentation/glsl/ http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.20.8.pdf GLSL version to target. Supported versions are 100, 110, 120, 130, 140 and 150. Use user-defined varying instead of gl_TexCoord. Use ATI_draw_buffers extension for MRT. Use EXT_gpu_shader4 extension where useful. The Cg half and fixed data types are both mapped to float because GLSL lacks first-class half and fixed data types.

VARYING INPUT SEMANTICS
Binding Semantics Name Corresponding Data GLSL Equivalent COLOR Primary color (float4) gl_Color COLOR0 COL0 COL COLOR1 Secondary color (float4) gl_SecondaryColor COL1 TEXCOORD Texture coordinate set 0 gl_TexCoord[0] TEXCOORD# Texture coordinate set # gl_TexCoord[#] TEX# FACE Front/back facing (+1/-1) gl_FrontFacing

UNIFORM INPUT SEMANTICS
Sixteen texture units are supported: Binding Semantic Name Corresponding Data TEXUNIT0 Texture unit 0 TEXUNIT1 Texture unit 1 ... TEXUNIT15 Texture unit 15 The Cg profiles for GLSL provide access to all the uniform constants and variables documented in Section 7.4 (Built-in Constants) and 7.5 (Built-in Uniform State) respectively of the OpenGL Shading Language specification found at: http://www.opengl.org/documentation/glsl/ http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.20.8.pdf Example: glslf void main(float4 color : COLOR, out float4 ocol : COLOR) { ocol.xyz = mul(gl_NormalMatrix, color.xyz); ocol.w = 1; }

OUTPUT SEMANTICS
The following standard fragment output semantics are supported: Binding Semantics Name Corresponding Data GLSL Equivalent COLOR Output color (float4) gl_FragColor COLOR0 COL0 COL COLOR0-COLOR7 Output color (float4) gl_FragData[n] COL0-COL7 for draw buffers 0 to 7 DEPTH Output depth (float) gl_FragDepth DEPR Fragment program Cg standard library routines are available. glslv, glslg