> ## Name

> cgSetProgramStateAssignment - set the value of a program state assignment

> ## Synopsis

>     #include <Cg/cg.h>

>     CGbool cgSetProgramStateAssignment( CGstateassignment sa,
>                                         CGprogram program );

> ## Parameters

> sa
>   A handle to a state assignment of type CG_PROGRAM_TYPE.
> program
>   The program object to which sa will be set.

> ## Return Values

> Returns CG_TRUE if it succeeds in setting the state assignment.

> Returns CG_FALSE otherwise.

> ## Description

> cgSetProgramStateAssignment sets the value of a state assignment of program type.

> ## Examples

> to-be-written

> ## Errors

> CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR is generated if sa is not a valid state assignment.

> CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR is generated if sa is not a state assignment of a program type.

> CG_ARRAY_SIZE_MISMATCH_ERROR is generated if sa is an array and not a scalar.

> CG_INVALID_PROGRAM_HANDLE_ERROR is generated if program is not a valid program handle.

> ## History

> cgSetProgramStateAssignment was introduced in Cg 1.5.

> ## See Also

> cgGetProgramStateAssignmentValue, cgSetBoolArrayStateAssignment, cgSetBoolStateAssignment, cgSetFloatArrayStateAssignment, cgSetFloatStateAssignment, cgSetIntArrayStateAssignment, cgSetIntStateAssignment, cgSetSamplerStateAssignment, cgSetStringStateAssignment, cgSetTextureStateAssignment