Name

cgValidateTechnique - validate a technique from an effect

Synopsis

#include <Cg/cg.h>

CGbool cgValidateTechnique( CGtechnique tech );

Parameters

tech
The technique handle to validate.

Return Values

Returns CG_TRUE if all of the state assignments in all of the passes in tech are valid and can be used on the current hardware.

Returns CG_FALSE if any state assignment fails validation, or if an error occurs.

Description

cgValidateTechnique iterates over all of the passes of a technique and tests to see if every state assignment in the pass passes validation.

Examples

CGcontext context = cgCreateContext();
CGeffect effect = cgCreateEffectFromFile(context, filename, NULL);

CGtechnique tech = cgGetFirstTechnique(effect);
while (tech && cgValidateTechnique(tech) == CG_FALSE) {
  fprintf(stderr, "Technique %s did not validate.  Skipping.\n",
    cgGetTechniqueName(tech));
  tech = cgGetNextTechnique(tech);
}

if (tech) {
  fprintf(stderr, "Using technique %s.\n", cgGetTechniqueName(tech));
} else {
  fprintf(stderr, "No valid technique found\n");
  exit(1);
}

Errors

CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.

History

cgValidateTechnique was introduced in Cg 1.4.

See Also

cgCallStateValidateCallback, cgSetStateCallbacks