Name
cgGetProgramDomainProgram - get an indexed domain program of a combined program
Synopsis
#include <Cg/cg.h>
CGprogram cgGetProgramDomainProgram( CGprogram program,
int index );
Parameters
- program
-
The handle of the combined program object.
- index
-
The index of the program's domain program to be queried.
Return Values
Returns the program handle for the program with the given domain index.
Returns 0 if an error occurs.
Description
A combined program consists of multiple domain programs. For example, a combined program may contain a vertex domain program and a fragment domain program. cgGetProgramDomainProgram gets the indexed domain program of the specified combined program.
If the program parameter is not a combined program and the index is zero,
program handle is simply returned as-is without error.
Examples
/* This will enable all profiles for each domain in glslComboProgram */
int domains = cgGetNumProgramDomains(glslComboProgram);
for (int i=0; i<domains; i++) {
CGprogram subprog = cgGetProgramDomainProgram(glslComboProgram, i);
CGparameter param = cgGetFirstParameter(subprog);
while (param) {
// Do something to each parameter of each domain program
param = cgGetNextParameter(param);
}
}
Errors
CG_INVALID_PROGRAM_HANDLE_ERROR is generated if program
is not a valid program handle.
CG_INVALID_PARAMETER_ERROR is generated if index is less than 0 or
greater than or equal to the number of domains in program.
History
cgGetProgramDomainProgram was introduced in Cg 2.1.
See Also
cgGetNumProgramDomains,
cgGetProfileDomain,
cgGetProgramDomainProfile
|