Public Member Functions | |
| AZ_TYPE_INFO (ShaderOptionGroup, "{906F69F5-52F0-4095-9562-0E91DDDE6E2F}") | |
| AZ_CLASS_ALLOCATOR (ShaderOptionGroup, AZ::ThreadPoolAllocator) | |
| ShaderOptionGroup (const ShaderOptionGroup &rhs) | |
| ShaderOptionGroup (const ConstPtr< ShaderOptionGroupLayout > &shaderOptionGroupLayout) | |
| ShaderOptionGroup (const ConstPtr< ShaderOptionGroupLayout > &shaderOptionGroupLayout, const ShaderVariantId &id) | |
| void | Clear () |
| Clears all values in the group back to empty. | |
| void | SetAllToDefaultValues () |
| Resets all shader options to their default values. | |
| void | SetUnspecifiedToDefaultValues () |
| Resets unspecified shader options to their default values. | |
| bool | IsFullySpecified () const |
| Returns whether all options have been specified. This would indicate a fully baked shader variant. | |
| bool | IsEmpty () const |
| Returns true when no options have been specified. This would indicate a root shader variant. | |
| ShaderOptionIndex | FindShaderOptionIndex (const Name &optionName) const |
| bool | SetValue (const Name &optionName, const Name &valueName) |
| bool | SetValue (const Name &optionName, ShaderOptionValue valueIndex) |
| ShaderOptionValue | GetValue (const Name &optionName) const |
| bool | SetValue (ShaderOptionIndex optionIndex, const Name &valueName) |
| bool | SetValue (ShaderOptionIndex optionIndex, ShaderOptionValue valueIndex) |
| ShaderOptionValue | GetValue (ShaderOptionIndex optionIndex) const |
| bool | ClearValue (const Name &optionName) |
| bool | ClearValue (ShaderOptionIndex optionIndex) |
| Resets the shader option value to an uninitialized state. | |
| const ShaderVariantKey & | GetShaderVariantKey () const |
| Returns the constructed key. | |
| const ShaderVariantKey & | GetShaderVariantMask () const |
| Returns the constructed mask. | |
| const ShaderVariantId & | GetShaderVariantId () const |
| Returns the constructed id, which contains both the shader variant key and mask. | |
| const ShaderOptionGroupLayout * | GetShaderOptionLayout () const |
| Returns the shader option layout used to build the key. | |
| const AZStd::vector< ShaderOptionDescriptor > & | GetShaderOptionDescriptors () const |
| Returns the shader option descriptors. | |
| ShaderVariantKey | GetShaderVariantKeyFallbackValue () const |
| AZStd::string | ToString () const |
| Dump the names and values of all shader options, used for debug output. | |
Static Public Member Functions | |
| static void | Reflect (AZ::ReflectContext *context) |
Friends | |
| class | ShaderOptionDescriptor |
| bool AZ::RPI::ShaderOptionGroup::ClearValue | ( | const Name & | optionName | ) |
Resets the shader option value to an uninitialized state. For performance reasons consider caching the index for optionName and calling void ClearValue(ShaderOptionIndex optionIndex) instead.
| ShaderOptionIndex AZ::RPI::ShaderOptionGroup::FindShaderOptionIndex | ( | const Name & | optionName | ) | const |
Returns the shader option index associated with the shader option id, or a null index if the id was not found.
| ShaderVariantKey AZ::RPI::ShaderOptionGroup::GetShaderVariantKeyFallbackValue | ( | ) | const |
The fallback value for this shader option group, to be used in ShaderResourceGroup::SetShaderVariantKeyFallbackValue. Any unspecified shader option values will be set to their defaults.
| ShaderOptionValue AZ::RPI::ShaderOptionGroup::GetValue | ( | const Name & | optionName | ) | const |
Helper method which gets the value for the shader option specified by optionName. For performance reasons consider caching the index for optionName and calling void GetValue(ShaderOptionIndex optionIndex) instead.
| ShaderOptionValue AZ::RPI::ShaderOptionGroup::GetValue | ( | ShaderOptionIndex | optionIndex | ) | const |
Helper method which gets the value set for the shader option specified by optionIndex. If you have previously cached the shader option descriptor, you might want to use ShaderOptionDescriptor::Get(ShaderOptionGroup&) instead. Returns a Null ShaderOptionValue if the value is unspecified.
| bool AZ::RPI::ShaderOptionGroup::SetValue | ( | const Name & | optionName, |
| const Name & | valueName | ||
| ) |
Helper method which assigns a value (valueId) to the shader option specified by optionName. For performance reasons consider caching the indices for both names and calling void SetValue(ShaderOptionIndex optionIndex, ShaderOptionValue value) instead.
| bool AZ::RPI::ShaderOptionGroup::SetValue | ( | const Name & | optionName, |
| ShaderOptionValue | valueIndex | ||
| ) |
Helper method which assigns a value to the shader option specified by optionName. For performance reasons consider caching the index for optionName and calling void SetValue(ShaderOptionIndex optionIndex, ShaderOptionValue value) instead.
| bool AZ::RPI::ShaderOptionGroup::SetValue | ( | ShaderOptionIndex | optionIndex, |
| const Name & | valueName | ||
| ) |
Helper method which assigns a value (valueId) to the shader option specified by optionIndex. For performance reasons consider caching the index for valueName and calling void SetValue(ShaderOptionIndex optionIndex, ShaderOptionValue value) instead.
| bool AZ::RPI::ShaderOptionGroup::SetValue | ( | ShaderOptionIndex | optionIndex, |
| ShaderOptionValue | valueIndex | ||
| ) |
Helper method which assigns a value to the shader option specified by optionIndex If you have previously cached the shader option descriptor, you might want to use ShaderOptionDescriptor::Set(ShaderOptionGroup&, const ShaderOptionValue&) instead.