> ## Name

> cgGLBindProgram - bind a program to the current state

> ## Synopsis

>     #include <Cg/cgGL.h>

>     void cgGLBindProgram( CGprogram program );

> ## Parameters

> program
>   The program to bind to the current state.

> ## Return Values

> None.

> ## Description

> cgGLBindProgram binds a program to the current state. The program must have been loaded with cgGLLoadProgram before it can be bound. Also, the profile of the program must be enabled for the binding to work. This may be done with the cgGLEnableProfile function.

> For profiles that do not support program local parameters (e.g. the vp20 profile), cgGLBindProgram will reset all uniform parameters that were set with any of the Cg parameter setting functions

> ## Examples

> to-be-written

> ## Errors

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

> CG_INVALID_PROFILE_ERROR is generated if program's profile is not a supported OpenGL profile.

> CG_PROGRAM_BIND_ERROR is generated if the program fails to bind for any reason.

> ## History

> cgGLBindProgram was introduced in Cg 1.1.

> ## See Also

> cgGLLoadProgram, cgGLSetParameter, cgGLSetMatrixParameter, cgGLSetTextureParameter, cgGLEnableProfile