![]() |
XII Release 0.1.0
|
This describes the sampler creation description. More...
#include <Sampler.h>
Public Member Functions | |
| XII_DECLARE_POD_TYPE () | |
Public Member Functions inherited from xiiHashableStruct< xiiGALSamplerCreationDescription > | |
| 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< xiiGALFilterType > | m_MinFilter = xiiGALFilterType::Linear |
| Texture minification filter. The default is Linear. | |
| xiiEnum< xiiGALFilterType > | m_MagFilter = xiiGALFilterType::Linear |
| Texture magnification filter. The default is Linear. | |
| xiiEnum< xiiGALFilterType > | m_MipFilter = xiiGALFilterType::Linear |
| Texture mip filter. The default is Linear. | |
| xiiEnum< xiiGALTextureAddressMode > | m_AddressU = xiiGALTextureAddressMode::Clamp |
| Texture address mode for U coordinate. The default is Clamp. | |
| xiiEnum< xiiGALTextureAddressMode > | m_AddressV = xiiGALTextureAddressMode::Clamp |
| Texture address mode for V coordinate. The default is Clamp. | |
| xiiEnum< xiiGALTextureAddressMode > | m_AddressW = xiiGALTextureAddressMode::Clamp |
| Texture address mode for W coordinate. The default is Clamp. | |
| xiiBitflags< xiiGALSamplerFlags > | m_Flags = xiiGALSamplerFlags::None |
| Sampler flags. | |
| bool | m_bUnormalizedCoords = false |
| float | m_fMipLODBias = 0.0f |
| Offset from the calculated mipmap level. The default is 0;. | |
| xiiUInt32 | m_uiMaxAnisotropy = 0U |
| Maximum anisotropy level for the anisotropic filter. The default is 0. | |
| xiiEnum< xiiGALComparisonFunction > | m_ComparisonFunction = xiiGALComparisonFunction::Never |
| A function that compares sampled data against existing sampled data when comparisons filter used. The default is Never. | |
| xiiColor | m_BorderColor = xiiColor::Black |
| Border color to use if the texture address border is specified for AddressU, AddressV, or AddressW. The default is xiiColor::Black. | |
| float | m_fMinLOD = 0.0f |
| Specifies the minimum value that LOD is clamped to before accessing the texture MIP levels. The default is 0. | |
| float | m_fMaxLOD = xiiMath::MaxValue<float>() |
| Specifies the maximum value that LOD is clamped to before accessing the texture MIP levels. The default is xiiMath::MaxValue<float>(). | |
This describes the sampler creation description.
To create an anisotropic filter, all three filters must either be xiiGALFilterType::Anisotropic or xiiGALFilterType::ComparisonAnisotropic.
The MipFilter member cannot be comparison filter except for xiiGALFilterType::Anisotropic if all three filters have that value.
The MinFilter and MagFilter members must either be regular filters or comparison filters, as mixing comparison filters and regular filters is an error.
| bool xiiGALSamplerCreationDescription::m_bUnormalizedCoords = false |
Indicates whether to use unnormalized texture coordinates.
Unnormalized coordinates are only supported in Vulkan and Metal.