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

cgCreateContext, and cgGetProgramString