NAME

glslf - OpenGL fragment profile for the OpenGL Shading Lanauge (GLSL)

SYNPOSIS

  glslf

DESCRIPTION

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 OpenGL support for OpenGL 2.0.

PROFILE OPTIONS

None.

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#

UNIFORM INPUT SEMANTICS

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:

  www.opengl.org/documentation/glsl/
  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
   
  DEPTH                            Output depth (float)    gl_FragDepth
  DEPR

STANDARD LIBRARY ISSUES

Fragment program Cg standard library routines are available.