Name
cgCreateProgram - create a program object from a string
Synopsis
#include <Cg/cg.h>
CGprogram cgCreateProgram( CGcontext context,
CGenum program_type,
const char * program,
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 string.
The following enumerants are allowed:
-
- CG_SOURCE
-
program contains Cg source code.
- CG_OBJECT
-
program contains object code that resulted from the precompilation
of some Cg source code.
- program
-
A string containing either the programs 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 an error occurs.
Description
cgCreateProgram generates a new CGprogram object and adds
it to the specified Cg context.
Examples
CGcontext context = cgCreateContext();
CGprogram program = cgCreateProgram(context,
CG_SOURCE,
mysourcestring,
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
cgCreateProgram was introduced in Cg 1.1.
See Also
cgCreateContext,
cgCreateProgramFromFile,
cgDestroyProgram,
cgGetProgramString
|