NAME

cgGetNamedParameter - get a program parameter by name

SYNOPSIS

  #include <Cg/cg.h>

  CGparameter cgGetNamedParameter( CGprogram program,
                                   const char * name );

PARAMETERS

program

The program from which to retrieve the parameter.

name

The name of the parameter to retrieve.

RETURN VALUES

Returns the named parameter from the program. If the program has no parameter corresponding to name, a NULL is returned ( cgIsParameter returns CG_FALSE for invalid parameters).

DESCRIPTION

The parameters of a program can be retrieved directly by name using the cgGetNamedParameter function. The names of the parameters in a program can be discovered by iterating through the program's parameters (see cgGetNextParameter), calling cgGetParameterName for each one in turn.

The parameter name does not have to be complete name for a leaf node parameter. For example, if you have Cg program with the following parameters :

   struct FooStruct
    {
     float4 A;
     float4 B;
    };

   struct BarStruct
    {
     FooStruct Foo[2];
    };

   void main(BarStruct Bar[3])
    {
     // ...
    }

The following leaf-node parameters will be generated :

  Bar[0].Foo[0].A
  Bar[0].Foo[0].B
  Bar[0].Foo[1].A
  Bar[0].Foo[1].B
  Bar[1].Foo[0].A
  Bar[1].Foo[0].B
  Bar[1].Foo[1].A
  Bar[1].Foo[1].B
  Bar[2].Foo[0].A
  Bar[2].Foo[0].B
  Bar[2].Foo[1].A
  Bar[2].Foo[1].B

A handle to any of the non-leaf arrays or structs can be directly obtained by using the appropriate name. The following are a few examples of names valid names that may be used with cgGetNamedParameter given the above example Cg program :

  "Bar"
  "Bar[1]"
  "Bar[1].Foo"
  "Bar[1].Foo[0]"
  "Bar[1].Foo[0].B"
  ...

EXAMPLES

to-be-written

ERRORS

CG_INVALID_PROGRAM_HANDLE_ERROR is generated if program does not refer to a valid program.

HISTORY

cgGetNamedParameter was introduced in Cg 1.1.

SEE ALSO

cgIsParameter, cgGetFirstParameter, cgGetNextParameter, cgGetNextStructParameter, cgGetArrayParameter, cgGetParameterName