Usage is similar to a parameter's scope, because it defines the scope in which the parameter is valid.
Value | Description |
---|---|
const | The parameter will be constant within the scope of all functions. (Note that such parameters can still be written to with either ID3DXEffect or ID3DXEffectCompiler, because this occurs outside the scope of all functions.) |
shared | The parameter will be shared in the effect pool. |
static | The parameter will be invisible to the application, that is, you cannot access them from ID3DXEffect or ID3DXEffectCompiler. |
Marking a parameter as literal indicates that its value will never change. This enables the effect compiler to do extra optimization.
Only non-shared top-level parameters can be marked as literal. Parameters can only be marked as literal with ID3DXEffectCompiler. Literal values cannot be set with ID3DXEffect.