> ## Name

> cgCreateProgramAnnotation - create an annotation in a program

> ## Synopsis

>     #include <Cg/cg.h>

>     CGannotation cgCreateProgramAnnotation( CGprogram program,
>                                             const char * name,
>                                             CGtype type );

> ## Parameters

> program
>   The program to which the new annotation will be added.
> name
>   The name of the new annotation.
> type
>   The type of the new annotation.

> ## Return Values

> Returns the new CGannotation handle on success.

> Returns NULL if an error occurs.

> ## Description

> cgCreateProgramAnnotation adds a new annotation to a program.

> ## Examples

>     /* create a float annotation named "Apple" for CGprogram prog */
>     CGannotation ann = cgCreateProgramAnnotation( prog, "Apple", CG_FLOAT );

> ## Errors

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

> CG_DUPLICATE_NAME_ERROR is generated if name is already used by an annotation for this program.

> CG_INVALID_ENUMERANT_ERROR is generated if type is not CG_INT, CG_FLOAT, CG_BOOL, or CG_STRING.

> ## History

> cgCreateProgramAnnotation was introduced in Cg 1.5.

> ## See Also

> cgGetNamedProgramAnnotation, cgGetFirstProgramAnnotation, cgGetNextAnnotation