cgCreateProgram(3)

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
The context to which the new program will be added. An enumerant describing the contents of the program string. The following enumerants are allowed:
    program contains Cg source code. program contains object code that resulted from the precompilation of some Cg source code.
A string containing either the programs source or object code. See program_type for more information. The profile enumerant for the program. The entry point to the program in the Cg source. If NULL, the entry point defaults to "main". 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
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
the cgCreateContext manpage, the cgCreateProgramFromFile manpage, the cgDestroyProgram manpage, the cgGetProgramString manpage