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

Classes

struct  Parameter
struct  Texture2DBinding
struct  TextureCubeBinding

Public Member Functions

void Clear ()
void ApplyPbrParameterDefaults (bool bOnlyIfMissing=true)
xiiMaterialRuntimeState BuildRuntimeState () const
xiiUInt32 ComputeRuntimeHash () const
void RecomputeRuntimeHash ()
XII_ALWAYS_INLINE bool operator== (const xiiMaterialResourceDescriptor &other) const

Public Attributes

xiiMaterialResourceHandle m_hBaseMaterial
xiiHashedString m_sSurface
xiiShaderResourceHandle m_hShader
xiiEnum< xiiMaterialDomain > m_Domain = xiiMaterialDomain::Surface
xiiEnum< xiiMaterialShadingModel > m_ShadingModel = xiiMaterialShadingModel::Lit
xiiEnum< xiiMaterialBlendMode > m_BlendMode = xiiMaterialBlendMode::Opaque
xiiEnum< xiiMaterialAlphaMode > m_AlphaMode = xiiMaterialAlphaMode::Opaque
xiiBitflags< xiiMaterialFeatureFlags > m_FeatureFlags = xiiMaterialFeatureFlags::Default
xiiColor m_BaseColor = xiiColor::White
xiiColor m_EmissiveColor = xiiColor::Black
 Linear RGB surface luminance in nits. Non-zero emissive surfaces participate in mesh-light extraction.
float m_fMetallic = 0.0f
float m_fRoughness = 0.5f
float m_fOcclusionStrength = 1.0f
float m_fAlphaCutoff = 0.5f
float m_fNormalScale = 1.0f
float m_fDisplacementScale = 0.0f
float m_fClearCoat = 0.0f
float m_fClearCoatRoughness = 0.0f
float m_fTransmission = 0.0f
float m_fThickness = 0.0f
float m_fIndexOfRefraction = 1.5f
float m_fAnisotropy = 0.0f
float m_fSheenRoughness = 0.5f
xiiInt16 m_iSortPriority = 0
xiiTexture2DResourceHandle m_hBaseColorTexture
xiiTexture2DResourceHandle m_hNormalTexture
xiiTexture2DResourceHandle m_hMetallicRoughnessTexture
xiiTexture2DResourceHandle m_hOcclusionTexture
xiiTexture2DResourceHandle m_hEmissiveTexture
xiiTexture2DResourceHandle m_hHeightTexture
xiiTexture2DResourceHandle m_hClearCoatTexture
xiiTexture2DResourceHandle m_hTransmissionTexture
xiiUInt32 m_uiRuntimeHash = 0U
xiiDynamicArray< xiiGALPermutationVariable > m_PermutationVariables
xiiDynamicArray< Parameter > m_Parameters
xiiDynamicArray< Texture2DBinding > m_Texture2DBindings
xiiDynamicArray< TextureCubeBinding > m_TextureCubeBindings

The documentation for this struct was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Material/MaterialResource.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Material/Implementation/MaterialResource.cpp