cgGetParameterOrdinalNumber(3)

NAME
cgGetParameterOrdinalNumber - get a program parameter's ordinal number

SYNOPSIS
  #include <Cg/cg.h>
  int cgGetParameterOrdinalNumber( CGparameter param );

PARAMETERS

param
    The program parameter.

RETURN VALUES
Returns the ordinal number associated with a parameter. If the parameter is a constant (cgGetParameterVariability returns CG_CONSTANT) then 0 is returned and no error is generated.

When cgGetParameterOrdinalNumber is passed an array, the ordinal number of the first array element is returned. When passed a struct, the ordinal number of first struct data member is returned.

DESCRIPTION
cgGetParameterOrdinalNumber returns an integer that represents the order in which the parameter was declared within the Cg program.

Ordinal numbering begins at zero, starting with a program's first local leaf parameter. The subsequent local leaf parameters are enumerated in turn, followed by the program's global leaf parameters.

EXAMPLES
The following Cg program:

   struct MyStruct { float a; sampler2D b; };
   float globalvar1;
   float globalvar2
   float4 main(float2 position : POSITION,
               float4 color    : COLOR,
               uniform MyStruct mystruct,
               float2 texCoord : TEXCOORD0) : COLOR
   {
     /* etc ... */
   }
Would result in the following parameter ordinal numbering:

   position    -> 0
   color       -> 1
   mystruct.a  -> 2
   mystruct.b  -> 3
   texCoord    -> 4
   globalvar1  -> 5
   globalvar2  -> 6

ERRORS
CG_INVALID_PARAM_HANDLE_ERROR is generated if param is not a valid parameter.

HISTORY
cgGetParameterOrdinalNumber was introduced in Cg 1.1.

SEE ALSO
the cgGetParameterVariability manpage