#include <ShaderCollection.h>
Classes | |
class | Item |
Public Types | |
using | iterator = AZStd::vector< Item >::iterator |
using | const_iterator = AZStd::vector< Item >::const_iterator |
Public Member Functions | |
AZ_TYPE_INFO (ShaderCollection, "{8D509258-E32C-4CC7-AADC-D13F790DCE4B}") | |
size_t | size () const |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
Item & | operator[] (size_t i) |
const Item & | operator[] (size_t i) const |
bool | HasShaderTag (const AZ::Name &shaderTag) const |
Item & | operator[] (const AZ::Name &shaderTag) |
const Item & | operator[] (const AZ::Name &shaderTag) const |
void | TryReplaceShaderAsset (const Data::Asset< ShaderAsset > &newShaderAsset) |
bool | InitializeShaderOptionGroups () |
Static Public Member Functions | |
static void | Reflect (AZ::ReflectContext *context) |
Friends | |
class | MaterialTypeAssetCreator |
Collects the set of all possible shaders that a material could use at runtime, along with configuration that indicates how each shader should be used. Each shader item may be reconfigured at runtime, but items cannot be added or removed (this restriction helps simplify overall material system code, especially around material functors).
bool AZ::RPI::ShaderCollection::InitializeShaderOptionGroups | ( | ) |
Loops through all items in the collection and calls Item::InitializeShaderOptionGroup(). Returns true if all Item::InitializeShaderOptionGroup() return true, otherwise returns false.
void AZ::RPI::ShaderCollection::TryReplaceShaderAsset | ( | const Data::Asset< ShaderAsset > & | newShaderAsset | ) |
Convenience function that loops through all @m_shaderItems and calls TryReplaceShaderAsset on all of them.