Name
cgCreateStateAssignment - create a state assignment
Synopsis
#include <Cg/cg.h>
CGstateassignment cgCreateStateAssignment( CGpass pass,
CGstate state );
Parameters
- pass
-
The pass in which to create the state assignment.
- state
-
The state used to create the state assignment.
Return Values
Returns the handle to the created state assignment.
Returns NULL if an error occurs.
Description
cgCreateStateAssignment creates a state assignment for the specified
pass. The new state assignment is appended to the pass' existing
list of state assignments. If the state is actually a state array,
the created state assignment is created for array index zero.
Use cgCreateStateAssignmentIndex to create state assignments for
other indices of an array state.
Examples
/* Procedurally create state assignment equivalent to */
/* "BlendFunc = { SrcAlpha, OneMinusSrcAlpha };" */
CGstate blendFuncState = cgGetNamedState(context, "BlendFunc");
CGstateassignment blendFuncSA =
cgCreateStateAssignment(pass, blendFuncState);
static const int blendFuncConfig[2] =
{ GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA };
cgSetIntArrayStateAssignment(blendFuncSA, blendFuncConfig);
/* Procedurally create state assignment equivalent to */
/* "BlendEnable = true;" */
CGstate blendEnableState =
cgGetNamedState(context, "BlendEnable");
CGstateassignment blendEnableSA =
cgCreateStateAssignment(pass, blendEnableState);
cgSetBoolStateAssignment(blendEnableSA, CG_TRUE);
Errors
CG_INVALID_PASS_HANDLE_ERROR is generated if pass is not a valid pass.
CG_INVALID_STATE_HANDLE_ERROR is generated if state is not a valid state.
History
cgCreateStateAssignment was introduced in Cg 1.5.
See Also
cgCreateTechnique,
cgCreateSamplerStateAssignment,
cgCreateState,
cgCreateStateAssignmentIndex
|