EffectParameterHint Enumeration |
Namespace: DigitalRune.Graphics.Effects
Member name | Value | Description | |
---|---|---|---|
PerPass | 1 | The effect parameter needs to be updated and applied once per effect pass. Examples for per-pass parameters are: pass index. | |
PerInstance | 2 | The effect parameter is unique for each mesh instance. Examples for instance parameters are: world matrix. | |
Local | 4 | The effect parameter depends on the location of the mesh in the scene. Multiple meshes which are close to each other in the scene may share the same parameter values. Examples of local parameters are: local environment maps, local lights, etc. | |
Material | 8 | The effect parameter defines the material of a mesh. Multiple meshes can share the same material. Material parameters are independent of the location of the object in the scene. Examples of material parameters are: diffuse color, albedo texture, specular color, gloss texture, normal map, etc. | |
Global | 16 | The effect parameter is identical for all meshes that use the same effect/technique. They do not depend on the object that is being rendered or on the location of the object in the scene. Examples of global parameters are: view matrix, projection matrix, camera position, etc. | |
Any | -1 | Any of the other values. |
The MeshRenderer sorts meshes by render states before rendering them. State sorting is used to minimize number of state changes required for drawing a complex scene.
Each effect parameter has an EffectParameterHint. The sort hint is a value indicating how the effect parameter should be treated during state sorting. It basically puts each parameter into a certain category.
The sort hint is stored in the effect parameter description (see EffectParameterDescription). The parameter descriptions of an effect can be read using the method GetParameterDescriptions(Effect). The value is set by one of the effect interpreters (see IEffectInterpreter) of the graphics service (see EffectInterpreters) during effect initialization.