Usages and Literals (Direct3D 9)

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.

Effect Format