NAME
    cgCreateProgramFromFile - create a program object from a file

SYNOPSIS
      #include <Cg/cg.h>

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

PARAMETERS
    context The context to which the new program will be added.

    program_type
            An enumerant describing the contents of the program_file. The
            following enumerants are allowed:

            CG_SOURCE
                program_file contains Cg source code.

            CG_OBJECT
                program_file contains object code that resulted from the
                precompilation of some Cg source code.

    program_file
            Name of a file containing source or object code. See
            program_type for more information.

    profile The profile enumerant for the program.

    entry   The entry point to the program in the Cg source. If NULL, the
            entry point defaults to "main".

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

RETURN VALUES
    Returns a CGprogram handle on success.

    Returns NULL if any error occurs.

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

EXAMPLES
       CGcontext context = cgCreateContext();
       CGprogram program = cgCreateProgramFromFile(context,
                                                   CG_SOURCE,
                                                   mysourcefilename,
                                                   CG_PROFILE_ARBVP1,
                                                   "myshader",
                                                   NULL);

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

    CG_INVALID_ENUMERANT_ERROR is generated if program_type is not CG_SOURCE
    or CG_OBJECT.

    CG_UNKNOWN_PROFILE_ERROR is generated if profile is not a supported
    profile.

    CG_COMPILER_ERROR is generated if compilation fails.

HISTORY
    cgCreateProgramFromFile was introduced in Cg 1.1.

SEE ALSO
    the cgCreateContext manpage, the cgCreateProgram manpage, the
    cgCreateProgramFromEffect manpage, the cgGetProgramString manpage

