VertexElementUsage
Description
Enumeration of usage semantics of vertex format elements.
Usage semantics in combination with usage indices in the range [0..15] are used to map the elements of a vertex buffer (see VertexElement) to the inputs of a GPU shader (for example, a struct item in HLSL: float3 position : POSITION0;). The elements in this enumeration represent a safe set which can be mapped to old APIs, such as Direct3D 9. Other APIs (such as OpenGL) do not have the concept of usage semantics (for example, a vertex attribute in GLSL: in vec3 vs_position;). In these cases, a mapping from vertex attribute name (here: vs_position) to usage semantic and usage index (i.e. POSITION0) is provided from code. Besides the described mapping from vertex buffer elements to GPU shader inputs, there is no other meaning or behaviour attached to the items of this enumeration.
Public / Constants
Position
A vertex element (roughly) intended for: positions.
Usage semantics and indices are only used to map vertex buffer elements to GPU shader inputs. Choosing this usage over another does not imply any special behaviour.
Normal
A vertex element (roughly) intended for: normal vectors.
Usage semantics and indices are only used to map vertex buffer elements to GPU shader inputs. Choosing this usage over another does not imply any special behaviour.
Texture
A vertex element (roughly) intended for: texture coordinates.
Usage semantics and indices are only used to map vertex buffer elements to GPU shader inputs. Choosing this usage over another does not imply any special behaviour.