XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALShaderVariableDescription Struct Reference

This describes shader code variable. More...

#include <ShaderByteCode.h>

Inheritance diagram for xiiGALShaderVariableDescription:
[legend]

Public Member Functions

 XII_DECLARE_MEM_RELOCATABLE_TYPE ()
 
- Public Member Functions inherited from xiiHashableStruct< xiiGALShaderVariableDescription >
constexpr xiiHashableStruct () noexcept
 Default constructor. Initializes all bytes to zero.
 
 xiiHashableStruct (const xiiHashableStruct &other) noexcept
 Bitwise copy constructor.
 
xiiHashableStructoperator= (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.
 

Static Public Member Functions

static void CopyDataFromVariant (xiiUInt8 *pDestination, const xiiVariant *pValue, const xiiGALShaderVariableDescription &description)
 This copies the data in a variant into into its destination, given its structure in the shader variable description.
 

Public Attributes

xiiHashedString m_sName
 The variable name.
 
xiiEnum< xiiGALShaderVariableClassTypem_Class = xiiGALShaderVariableClassType::Unknown
 The variable class.
 
xiiEnum< xiiGALShaderPrimitiveTypem_PrimitiveType = xiiGALShaderPrimitiveType::Unknown
 The variable primitive data type..
 
xiiUInt8 m_uiRowCount = 0U
 For a matrix type, the number of rows.
 
xiiUInt8 m_uiColumnCount = 0U
 For a matrix type, the number of columns. For a vector type, the number of components.
 
xiiUInt32 m_uiOffset = 0U
 The offset in bytes between the start of the parent structure and this variable.
 
xiiUInt32 m_uiArraySize = 0U
 The array size.
 
xiiDynamicArray< xiiGALShaderVariableDescriptionm_Members
 For a structure, an array of member variables.
 

Detailed Description

This describes shader code variable.

Member Function Documentation

◆ CopyDataFromVariant()

void xiiGALShaderVariableDescription::CopyDataFromVariant ( xiiUInt8 * pDestination,
const xiiVariant * pValue,
const xiiGALShaderVariableDescription & description )
static

This copies the data in a variant into into its destination, given its structure in the shader variable description.

Todo
Perform row-column major conversion on matrices.

The documentation for this struct was generated from the following files: