Name
cgSetParameterVariability - set a parameter's variability
Synopsis
#include <Cg/cg.h> void cgSetParameterVariability( CGparameter param, CGenum vary );Parameters
- param
- The parameter.
- vary
- The variability to which param will be set.
Return Values
None.
Description
cgSetParameterVariability allows the application to change the variability of a parameter.
Currently parameters may not be changed to or from CG_VARYING variability. Also, the variability of uniform buffer parameters and their member parameters may not be changed. However, other parameters of CG_UNIFORM or CG_LITERAL variability may be changed.
Valid values for vary include :
- CG_UNIFORM
- A uniform parameter is one whose value does not change with each invocation of a program, but whose value can change between groups of program invocations.
- CG_LITERAL
- A literal parameter is folded out at compile time. Making a uniform parameter literal will often make a program more efficient at the expense of requiring a compile every time the value is set.
- CG_DEFAULT
- By default, the variability of a parameter will be overridden by the a source parameter connected to it unless it is changed with cgSetParameterVariability. If it is set to CG_DEFAULT it will restore the default state of assuming the source parameters variability.
Examples
to-be-written
Errors
CG_INVALID_PARAM_HANDLE_ERROR is generated if param is not a valid parameter.
CG_INVALID_ENUMERANT_ERROR is generated if vary is not CG_UNIFORM, CG_LITERAL, or CG_DEFAULT.
CG_INVALID_PARAMETER_VARIABILITY_ERROR is generated if the parameter could not be changed to the variability indicated by vary.
CG_INVALID_PARAMETER_TYPE_ERROR is generated if vary is CG_LITERAL and param is not a numeric parameter, or if param is a uniform buffer or a member of a uniform buffer.
History
cgSetParameterVariability was introduced in Cg 1.2.
See Also