NAME
    cgCreateProgramFromFile - generate a new program object from a file

SYNOPSIS
      #include <Cg/cg.h>

      CGprogram cgCreateProgramFromFile(CGcontext ctx, 
                                        CGenum program_type,
                                        const char *program_file,
                                        CGprofile profile,
                                        const char *entry,
                                        const char **args)

PARAMETERS
    ctx     Specifies the context that the new program will be added to.



    program_type
            The program_type parameter is an enumerant that describes what
            the file indicated by the program_file parameter contains. The
            following is a list of valid enumerants that may be passed in :

            CG_SOURCE
                If program_type is CG_SOURCE, program_file is assumed to be
                a file that contains Cg source code.

            CG_OBJECT
                If program_type is CG_OBJECT, program_file is assumed to be
                a file that contains object code that resulted from the
                precompilation of some Cg source code.

    program_file
            A filename of a file that source or object code. See the program
            parameter above for more information.

    profile The enumerant for the profile the program.

    entry   The entry point to the program in the Cg source. If set to NULL
            this will default to "main".

    args    If args is not NULL it is assumed to be an array of
            null-terminated strings that will be passed as directly to the
            compiler as arguments. The last value of the array must be a
            NULL.

DESCRIPTION
    cgCreateProgramFromFile generates a new CGprogram object and adds it to
    the specified Cg context.

    The following is a typical sequence of commands for initializing a new
    program:

       CGcontext ctx = cgCreateContext();
       CGprogram prog = cgCreateProgramFromFile(ctx,
                                                CG_SOURCE,
                                                mysourcefilename,
                                                CG_PROFILE_ARBVP1,
                                                "myshader",
                                                NULL);

RETURN VALUES
    Returns a CGprogram handle on success.

    Returns NULL if any error occurs.

ERRORS
    CG_INVALID_CONTEXT_HANDLE_ERROR is generated if the ctx is not a valid
    context.

    CG_INVALID_ENUMERANT_ERROR is generated if program_type is an invalid
    enumerant.

    CG_UNKNOWN_PROFILE_ERROR is generated if profile is not a supported
    profile.

    CG_COMPILE_ERROR is generated if the compile failed.

SEE ALSO
    the cgCreateContext manpage, and the cgGetProgramString manpage

