NAME

fp40 - OpenGL fragment profile for NVIDIA GeForce 6/7 Series, NV4x-based Quadro FX

SYNOPSIS

  fp40

DESCRIPTION

This OpenGL profile corresponds to the per-fragment functionality introduced by the GeForce 6800 and other NV4x-based NVIDIA GPUs.

The compiler output for this profile conforms to the assembly format defined by NV_fragment_program2.

Data-dependent loops are allowed with a limit of 256 iterations maximum. Four levels of nesting are allowed.

Conditional expressions can be supported with data-dependent branching.

Relative indexing of uniform arrays is not supported; use texture accesses instead.

3D API DEPENDENCIES

Requires OpenGL support for the NV_fragment_program2 extension. These extensions were introduced by the GeForce 6800 and other NV4x-based GPUs.

OpenGL Extension Specifications

 www.opengl.org/registry/specs/NV/fragment_program2.txt 

PROFILE OPTIONS

None.

DATA TYPES

fixed

The fixed data type corresponds to a native signed fixed-point integers with the range [-2.0,+2.0), sometimes called fx12. This type provides 10 fractional bits of precision.

half

The half data type corresponds to a floating-point encoding with a sign bit, 10 mantissa bits, and 5 exponent bits (biased by 16), sometimes called s10e5.

float

The half data type corresponds to a standard IEEE 754 single-precision floating-point encoding with a sign bit, 23 mantissa bits, and 8 exponent bits (biased by 128), sometimes called s10e5.

SEMANTICS

VARYING INPUT SEMANTICS

The varying input semantics in the fp40 profile correspond to the respectively named varying output semantics of the vp40 profile.

  Binding Semantics Name           Corresponding Data
 
  COLOR                            Input primary color
  COLOR0
  COL
  COL0
 
  COLOR1                           Input secondary color
  COL1   
 
  TEX0                             Input texture coordinate sets 0
  TEXCOORD0

  TEX1                             Input texture coordinate sets 1
  TEXCOORD1

  TEX2                             Input texture coordinate sets 2
  TEXCOORD2

  TEX3                             Input texture coordinate sets 3
  TEXCOORD3
 
  TEX4                             Input texture coordinate sets 4
  TEXCOORD4
 
  TEX5                             Input texture coordinate sets 5
  TEXCOORD5
 
  TEX6                             Input texture coordinate sets 6
  TEXCOORD6

  TEX7                             Input texture coordinate sets 7
  TEXCOORD7
 
  FOGP                             Input fog color (XYZ) and factor (W)
  FOG

  FACE                             Polygon facing.
                                   +1 for front-facing polygon or line or point
                                   -1 for back-facing polygon

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

OUTPUT SEMANTICS

  COLOR                            Output color (float4)
  COLOR0
  COL0
  COL
 
  DEPTH                            Output depth (float)
  DEPR

STANDARD LIBRARY ISSUES

Functions that compute partial derivatives are supported.

SEE ALSO

vp40