NAME

cgCreateEffect - create an effect object from a source string

SYNOPSIS

  #include <Cg/cg.h>

  CGeffect cgCreateEffect( CGcontext context, 
                           const char * source,
                           const char ** args );

PARAMETERS

context

The context to which the new effect will be added.

source

A string containing the effect's source code.

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 CGeffect handle on success.

Returns NULL if an error occurs.

DESCRIPTION

cgCreateEffect generates a new CGeffect object and adds it to the specified Cg context.

If an error occurs cgGetLastListing can be called to retrieve any warning or error messages from the compilation process.

EXAMPLES

Creating an effect:

  char *effectSource = ...;
  CGcontext context = cgCreateContext();
  CGeffect effect  = cgCreateEffect(context,
                                    effectSource,
                                    NULL);

Iterating through the techniques in an effect:

  CGtechnique technique = cgGetFirstTechnique(effect);
  while (technique) {
    // Do something with each technique
    technique = cgGetNextTechnique(technique);
  }

ERRORS

CG_INVALID_CONTEXT_HANDLE_ERROR is generated if context is not a valid context.

CG_COMPILER_ERROR is generated if compilation fails.

HISTORY

cgCreateEffect was introduced in Cg 1.4.

SEE ALSO

cgCreateContext, cgCreateEffectFromFile, cgGetLastListing, cgGetFirstTechnique, cgGetTechniqueEffect, cgGetFirstEffect