hlslf

> # NAME

> hlslf - Translation profile to DirectX 9's High Level Shader Language for pixel shaders.

> # SYNOPSIS

>       hlslf

> # DESCRIPTION

> This Direct3D profile translates Cg into DirectX 9's High Level Shader Language (HLSL) for pixel shaders.

> The compiler output for this profile conforms to the textual high-level language defined by DirectX 9's High Level Shading Language. See:

>       msdn2.microsoft.com/en-us/library/bb509561.aspx

> The limitations of the hlslf profile depend on what HLSL profile to which the translated HLSL code is compiled.

> # 3D API DEPENDENCIES

> Requires Direct3D 9 support.

> # PROFILE OPTIONS

> None.

> # DATA TYPES

> In general, the Cg data types translate to the HLSL data types with the same name.

> half

>   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 hlslf 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

> The varying input semantics in the hlslf profile correspond to the respectively named varying output semantics of the vs_2_0 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

> ## 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

> This profile is limited to standard library support available in HLSL. In general, the Cg and HLSL standard libraries are very similar.

> # SEE ALSO

> The hlslf profile is similar to the OpenGL glslf profile that translates Cg into the OpenGL Shading Language (GLSL) for fragment shaders.