VertexElementType
Description
Enumeration of data types of vertex format elements.
The following data types are available on most graphics APIs with decent GPUs, both with and without normalization (see VertexElementFlags.Normalize).
Using only the data types above might remedy the need to use IBufferFactory.ValidateVertexElement.
Public / Constants
Placeholder
A placeholder for a VertexElementUsage that is not present in the vertex format but still needs to increment the usage counter.
A VertexElement of this type always has zero VertexElement.Size and VertexElement.Count.
Float
A 32-bit floating-point value.
A VertexElement of this type has the following VertexElement.Size, depending on its VertexElement.Count:
Count | Size ------+----- 1 | 4 2 | 8 3 | 12 4 | 16
No normalization will be performed for values of this type.
SInt8
An 8-bit signed integer value in the range [-128..127].
The VertexElement.Size of this type is always 4
.
The normalization range is [-1..1].
- See also
SInt10
A 10-bit signed integer value in the range [-512..511].
The VertexElement.Size of this type is always 4
.
The 4th value (if present) is a 2-bit signed integer value in the range [-2..1]. The normalization range is [-1..1].
- See also
SInt16
A 16-bit signed integer value in the range [-32768..32767].
A VertexElement of this type has the following VertexElement.Size, depending on its VertexElement.Count:
Count | Size ------+----- 1 | 4 2 | 4 3 | 8 4 | 8
The normalization range is [-1..1].
- See also
SInt32
A 32-bit signed integer value in the range [-2147483648..2147483647].
A VertexElement of this type has the following VertexElement.Size, depending on its VertexElement.Count:
Count | Size ------+----- 1 | 4 2 | 8 3 | 12 4 | 16
The normalization range is [-1..1].
UInt8
An 8-bit unsigned integer value in the range [0..255].
The VertexElement.Size of this type is always 4
.
The normalization range is [0..1].
- See also
UInt10
A 10-bit unsigned integer value in the range [0..1023].
The VertexElement.Size of this type is always 4
.
The 4th value (if present) is a 2-bit unsigned integer value in the range [0..3]. The normalization range is [0..1].
- See also
UInt16
An 16-bit unsigned integer value in the range [0..65535].
A VertexElement of this type has the following VertexElement.Size, depending on its VertexElement.Count:
Count | Size ------+----- 1 | 4 2 | 4 3 | 8 4 | 8
The normalization range is [0..1].
- See also
UInt32
A 32-bit unsigned integer value in the range [0..4294967295].
A VertexElement of this type has the following VertexElement.Size, depending on its VertexElement.Count:
Count | Size ------+----- 1 | 4 2 | 8 3 | 12 4 | 16
The normalization range is [0..1].