Cg Toolkit Cg 3.1 Toolkit Documentation
Cg / Profiles / vs_2_x

Name

vs_2_x - Direct3D Shader Model 2.0 Extended vertex profile for DirectX 9

Synopsis

  vs_2_x

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 2.0 Extended shader format. See:

  http://msdn.microsoft.com/en-us/library/bb172929.aspx

This profile supports static and structured dynamic flow control.

3D Api Dependencies

Requires Direct3D 9 support.

This profile generates code assuming the following Direct3D 9 Vertex shader capability bits are set:

D3DD3DPSHADERCAPS2_0_ARBITRARYSWIZZLE
D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS
D3DD3DPSHADERCAPS2_0_PREDICATION
D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT
D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT

Profile Options

NumTemps=val
Number of 4-component vector temporaries the target implementation supports.
NumInstructionSlots=val
Number of instructions the target implementation supports.
MaxDrawBuffers=val
Number of draw buffers or Multiple Render Targets (MRT) the target implementation supports.

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
The float data type corresponds to a floating-point representation with at least 24 bits.
NVIDIA GPUs supporting vs_2_x use 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.
Older ATI GPUs use 24-bit floating-point.
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

Functions that compute partial derivatives are not supported.

There are no restrictions on dependent texture reads (up to the instruction limit) for this profile.

See Also

ps_2_x, vs_2_0


Cg Toolkit | Cg Toolkit | Download | Release Archive | Profiles | Reference | Books | Discussions |


Cg Profiles

arbfp1
arbvp1
ds_5_0
fp20
fp30
fp40
glslf
glslg
glsl
glslv
gp4fp
gp4gp
gp4
gp4vp
gp5fp
gp5gp
gp5
gp5tcp
gp5tep
gp5vp
gs_4_0
gs_5_0
hlsl10
hlsl11
hlslf
hlslv
hs_5_0
ps_1_1
ps_1_2
ps_1_3
ps_2_0
ps_2_sw
ps_2_x
ps_3_0
ps_4_0
ps_5_0
vp20
vp30
vp40
vs_1_1
vs_2_0
vs_2_sw
vs_2_x
vs_3_0
vs_4_0
vs_5_0