NAME

vs_3_0 - Direct3D Shader Model 3.0 vertex profile for DirectX 9

SYNOPSIS

  vs_3_0

DESCRIPTION

This Direct3D profile corresponds to the per-vertex functionality introduced by GeForce FX (NV3x) for DirectX 9.

The compiler output for this profile conforms to the textual assembly defined by DirectX 9's Vertex Shader 3.0 shader format. See:

  msdn.microsoft.com/en-us/library/bb172930.aspx

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 Direct3D 9 support.

PROFILE OPTIONS

None.

DATA TYPES

half

The half data type makes use of the Partial Precision instruction modifier to request less precision.

NVIDIA GPUs may use half-precision floating-point when the Partial Precision instruction modifier is specified. Half-precision floating-point is encoded with a sign bit, 10 mantissa bits, and 5 exponent bits (biased by 16), sometimes called s10e5.

float

float values in vs_3_0 require 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.

fixed

The fixed data type is treated like half.

SEMANTICS

INPUT SEMANTICS

  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

UNIFORM INPUT SEMANTICS

Eight texture units are supported:

  Binding Semantic Name            Corresponding Data

  TEXUNIT0                         Texture unit 0
  TEXUNIT1                         Texture unit 1
  ...
  TEXUNIT7                         Texture unit 7

OUTPUT SEMANTICS

  Binding Semantics Name        Corresponding Data
    
  POSITION, HPOS                Output position
        
  PSIZE, PSIZ                   Output point size
         
  FOG, FOGC                     Output fog coordinate
             
  COLOR0, COL0                  Output primary color 
                    
  COLOR1, COL1                  Output secondary color
                        
  BCOL0                         Output backface primary color
                            
  BCOL1                         Output backface secondary color
                                
  TEXCOORD0-TEXCOORD7,          Output texture coordinates
  TEX0-TEX7
                                      
  CLP0-CL5                      Output Clip distances

STANDARD LIBRARY ISSUES

This profile may have limits on the number of dependent texture fetches.

SEE ALSO

ps_3_0