Open 3D Engine Atom Gem API Reference 26.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::RPI::MaterialShaderParameterLayout Class Reference

Public Types

using Index = RHI::Handle< uint32_t, MaterialShaderParameterLayout >
 

Public Member Functions

 AZ_TYPE_INFO (MaterialShaderParameterLayout, "{538D434D-86A0-40DB-84FD-E4D0B4CF50ED}")
 
const Index GetParameterIndex (const AZStd::string_view &name) const
 
MaterialShaderParameterDescriptorGetDescriptor (const Index parameterIndex)
 
const MaterialShaderParameterDescriptor *const GetDescriptor (Index const parameterIndex) const
 
int ConnectParametersToSrg (const RHI::ShaderResourceGroupLayout *srgLayout)
 
bool ConnectParameterToSrg (MaterialShaderParameterDescriptor *desc, const RHI::ShaderResourceGroupLayout *srgLayout)
 
Index AddParameterFromPropertyConnection (const AZ::Name &name, const MaterialPropertyDataType dataType)
 
Index AddParameterFromFunctor (const AZStd::string &name, const AZStd::string &typeName, const size_t typeSize=0)
 
Index AddTypedMaterialParameter (const AZStd::string_view &name, const AZStd::string_view &typeName, const size_t gpuTypesize, const bool isPseudoParam=false, const size_t count=1)
 
bool WriteMaterialParameterStructureAzsli (const AZ::IO::Path &filename) const
 
AZStd::span< const MaterialShaderParameterDescriptorGetDescriptors () const
 
const RHI::NameIdReflectionMap< Index > & GetNames () const
 
const int GetNonPseudoParameterCount () const
 
template<typename T >
Index AddMaterialParameter (const Name &name, const bool isPseudoParam=false, const size_t count=1)
 
template<typename T >
Index AddMaterialParameter (const AZStd::string_view &name, const bool isPseudoParam=false, const size_t count=1)
 
void FinalizeLayout ()
 
void Reset ()
 
bool IsPropertyTypeCompatibleWithShaderParameter (const MaterialShaderParameterDescriptor *desc, const MaterialPropertyDataType dataType)
 
bool IsPropertyTypeCompatibleWithSrg (const MaterialShaderParameterDescriptor *desc, const MaterialPropertyDataType dataType)
 

Static Public Member Functions

static void Reflect (ReflectContext *context)
 

The documentation for this class was generated from the following file: