#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 > | |
| 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 |
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