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

> Returns NULL if the program has no parameter corresponding to name.

> ## Description

> The parameters of a program can be retrieved directly by name using cgGetNamedParameter. 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 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 is not a valid program handle.

> ## History

> cgGetNamedParameter was introduced in Cg 1.1.

> ## See Also

> cgIsParameter, cgGetFirstParameter, cgGetNextParameter, cgGetArrayParameter, cgGetParameterName