> # NAME

> cgCombinePrograms4 - combine programs from three different domains

> # SYNOPSIS

>       #include <Cg/cg.h>

>       CGprogram cgCombinePrograms4( const CGprogram program1,
>                                     const CGprogram program2,
>                                     const CGprogram program3,
>                                     const CGprogram program4 );

> # PARAMETERS

> program1

>   An executable program from one domain.

> program2

>   An executable program from a second domain.

> program3

>   An executable program from a third domain.

> program4

>   An executable program from a fourth domain.

> # RETURN VALUES

> Returns a handle to the newly created program on success.

> Returns NULL if an error occurs.

> # DESCRIPTION

> cgCombinePrograms4 takes four programs from different domains and combines them into a single CGprogram. This is a convenience function for cgCombinePrograms.

> # EXAMPLES

>       CGprogram p1 = cgCreateProgram(context, CG_SOURCE, vSrc, vProfile,
>                                      vEntryName, NULL);
>       CGprogram p2 = cgCreateProgram(context, CG_SOURCE, fSrc, fProfile,
>                                      fEntryName, NULL);
>       CGprogram p3 = cgCreateProgram(context, CG_SOURCE, tcSrc, tcProfile,
>                                      tcEntryName, NULL);
>       CGprogram p4 = cgCreateProgram(context, CG_SOURCE, teSrc, teProfile,
>                                      teEntryName, NULL);

>       CGprogram combined = cgCombinePrograms4(p1, p2, p3, p4);

>       cgDestroyProgram(p1);
>       cgDestroyProgram(p2);
>       cgDestroyProgram(p3);
>       cgDestroyProgram(p4);

>       cgGLBindProgram(combined); /* Assuming cgGL runtime */

>       /* Render... */

> # ERRORS

> The errors listed in cgCombinePrograms might be generated.

> # HISTORY

> cgCombinePrograms4 was introduced in Cg 3.0.

> # SEE ALSO

> cgCombinePrograms, cgCombinePrograms2, cgCombinePrograms3, cgCombinePrograms5