![]() |
XII Release 0.1.0
|
This describes a single element in the input layout. More...
#include <InputLayout.h>
Public Member Functions | |
| XII_DECLARE_POD_TYPE () | |
| xiiGALLayoutElement (xiiEnum< xiiGALInputLayoutSemantic > semantic, xiiUInt32 uiBufferSlot, xiiEnum< xiiGALResourceFormat > format, xiiUInt32 uiRelativeOffset, xiiUInt32 uiStride, xiiEnum< xiiGALInputElementFrequency > frequency, xiiUInt32 uiInstanceDataStepRate) | |
Public Member Functions inherited from xiiHashableStruct< xiiGALLayoutElement > | |
| constexpr | xiiHashableStruct () noexcept |
| Default constructor. Initializes all bytes to zero. | |
| xiiHashableStruct (const xiiHashableStruct &other) noexcept | |
| Bitwise copy constructor. | |
| xiiHashableStruct & | operator= (const xiiHashableStruct &other) noexcept |
| Bitwise assignment operator. | |
| bool | operator== (const xiiHashableStruct &other) const noexcept |
| Compares equality via raw byte comparison. | |
| std::strong_ordering | operator<=> (const xiiHashableStruct &other) const noexcept |
| Compares ordering via raw byte comparison. | |
| xiiUInt32 | CalculateHash () const noexcept |
| Calculates a 32-bit hash from raw bytes of the struct. | |
| void | Clear () noexcept |
| Fills all bytes with zero. | |
| bool | IsZero () const noexcept |
| Returns true if all bytes are zero. | |
Public Attributes | |
| xiiEnum< xiiGALInputLayoutSemantic > | m_Semantic = xiiGALInputLayoutSemantic::Undefined |
| The element semantic. The default is Undefined. | |
| xiiUInt32 | m_uiBufferSlot = 0U |
| The buffer slot index that this element is read from. The default is 0. | |
| xiiEnum< xiiGALResourceFormat > | m_Format = xiiGALResourceFormat::Unknown |
| The element format. The default is xiiGALResourceFormat::Unknown. | |
| xiiUInt32 | m_uiRelativeOffset = XII_GAL_LAYOUT_ELEMENT_AUTO_OFFSET |
| The relative offset to the element in bytes. If this value is set to XII_GAL_LAYOUT_ELEMENT_AUTO_OFFSET (default value), the offset will be computed automatically by placing the element right after the previous one. | |
| xiiUInt32 | m_uiStride = XII_GAL_LAYOUT_ELEMENT_AUTO_STRIDE |
| The stride in bytes between two elements for this buffer slot. If this value is is set to XII_GAL_LAYOUT_ELEMENT_AUTO_STRIDE (default value), the stride will be computed automatically assuming that all elements in the same buffer are packed contiguously. If the buffer slot contains multiple layout elements, they all must specify the same stride or use the XII_GAL_LAYOUT_ELEMENT_AUTO_OFFSET value. | |
| xiiEnum< xiiGALInputElementFrequency > | m_Frequency = xiiGALInputElementFrequency::PerVertex |
| The element frequency. The default is xiiGALInputElementFrequency::PerVertex. | |
| xiiUInt32 | m_uiInstanceDataStepRate = 1U |
| The number of instances to draw using the same per-instance data before advancing in the buffer by one element. The default is 1. | |
This describes a single element in the input layout.