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::MaterialShaderParameter Class Reference

#include <MaterialShaderParameter.h>

Inherits AZStd::intrusive_base.

Public Member Functions

 MaterialShaderParameter (const int materialTypeIndex, const int materialInstanceIndex, const MaterialShaderParameterLayout *layout, Data::Instance< RPI::ShaderResourceGroup > srg)
 
template<typename T >
bool SetParameter (const AZ::Name &name, T value)
 
template<typename T >
bool SetParameter (const AZStd::string_view &name, T value)
 
template<typename T >
bool SetParameter (MaterialShaderParameterNameIndex &nameIndex, T value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const int value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const uint32_t value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const float value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const bool value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const Vector2 &value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const Vector3 &value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const Vector4 &value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const Color &value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const Matrix3x3 &value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const Matrix4x4 &value)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, Data::Instance< Image > image)
 
bool SetParameter (const MaterialShaderParameterLayout::Index &index, const RHI::SamplerState &samplerState)
 
AZStd::unordered_map< int, const void * > GetStructuredBufferData () const
 
template<typename T >
GetShaderParameterData (const MaterialShaderParameterLayout::Index &index, const uint32_t deviceIndex=0) const
 
template<>
bool GetShaderParameterData (const MaterialShaderParameterLayout::Index &index, const uint32_t deviceIndex) const
 
template<>
Matrix3x3 GetShaderParameterData (const MaterialShaderParameterLayout::Index &index, const uint32_t deviceIndex) const
 
template<>
Matrix4x4 GetShaderParameterData (const MaterialShaderParameterLayout::Index &index, const uint32_t deviceIndex) const
 

Friends

class TypedParameterHelper
 

Detailed Description

This is a layer between Material-Properties and Shader Parameters. The shader parameter values are written into a Structured Buffer and/or a ShaderResourceGroup Properties that can't be stored in a Structured Buffer (i.e. Textures and SamplerStates) are converte into indices


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