NAME
glslf - OpenGL fragment profile for the OpenGL Shading Lanauge (GLSL)
SYNOPSIS
glslfDESCRIPTION
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.
3D API DEPENDENCIES
Requires support for OpenGL 2.0.
OpenGL Extension Specifications
www.opengl.org/documentation/specs/version2.0/glspec20.pdf www.opengl.org/documentation/glsl/ www.opengl.org/registry/doc/GLSLangSpec.Full.1.20.8.pdfPROFILE OPTIONS
- version=val
GLSL version to target. Supported versions are 100, 110, 120, 130, 140 and 150.
- userTexCoord
Use user-defined varying instead of gl_TexCoord.
- ATI_draw_buffers
Use ATI_draw_buffers extension for MRT.
- EXT_gpu_shader4
Use EXT_gpu_shader4 extension where useful.
DATA TYPES
The Cg half and fixed data types are both mapped to float because GLSL lacks first-class half and fixed data types.
SEMANTICS
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_FrontFacingUNIFORM INPUT SEMANTICS
Sixteen texture units are supported:
Binding Semantic Name Corresponding Data TEXUNIT0 Texture unit 0 TEXUNIT1 Texture unit 1 ... TEXUNIT15 Texture unit 15The 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:
www.opengl.org/documentation/glsl/ www.opengl.org/registry/doc/GLSLangSpec.Full.1.20.8.pdfExample:
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 DEPRSTANDARD LIBRARY ISSUES
Fragment program Cg standard library routines are available.
SEE ALSO