NAME
    cgCombinePrograms3 - combine programs from three different domains

SYNOPSIS
      #include <Cg/cg.h>

      CGprogram cgCombinePrograms3( const CGprogram program1,
                                    const CGprogram program2,
                                    const CGprogram program3 );

PARAMETERS
    program1
            An executable program from one domain.

    program2
            An executable program from a second domain.

    program3
            An executable program from a third domain.

RETURN VALUES
    Returns a handle to the newly created program on success.

    Returns NULL if an error occurs.

DESCRIPTION
    cgCombinePrograms3 takes three 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, gSrc, gProfile,
                                     gEntryName, NULL);

      CGprogram combined = cgCombinePrograms3(p1, p2, p3);

      cgDestroyProgram(p1);
      cgDestroyProgram(p2);
      cgDestroyProgram(p3);

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

      /* Render... */
        
ERRORS
    The errors listed in cgCombinePrograms might be generated.

HISTORY
    cgCombinePrograms3 was introduced in Cg 1.5.

SEE ALSO
    cgCombinePrograms, cgCombinePrograms2

