Open 3D Engine Atom Gem API Reference  23.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::PassFilter Class Reference

Public Types

enum  FilterOptions : uint32_t {
  Empty = 0, PassName = AZ_BIT(0), PassTemplateName = AZ_BIT(1), PassClass = AZ_BIT(2),
  PassHierarchy = AZ_BIT(3), OwnerScene = AZ_BIT(4), OwnerRenderPipeline = AZ_BIT(5)
}
 

Public Member Functions

void SetOwnerScene (const Scene *scene)
 
void SetOwnerRenderPipeline (const RenderPipeline *renderPipeline)
 
void SetPassName (Name passName)
 
void SetTemplateName (Name passTemplateName)
 
void SetPassClass (TypeId passClassTypeId)
 
const Name & GetPassName () const
 
const Name & GetPassTemplateName () const
 
uint32_t GetEnabledFilterOptions () const
 
bool Matches (const Pass *pass) const
 Return true if the input pass matches the filter.
 
bool Matches (const Pass *pass, uint32_t options) const
 

Static Public Member Functions

static PassFilter CreateWithPassName (Name passName, const Scene *scene)
 
static PassFilter CreateWithPassName (Name passName, const RenderPipeline *renderPipeline)
 
static PassFilter CreateWithPassHierarchy (const AZStd::vector< Name > &passHierarchy)
 
static PassFilter CreateWithPassHierarchy (const AZStd::vector< AZStd::string > &passHierarchy)
 
static PassFilter CreateWithTemplateName (Name templateName, const Scene *scene)
 
static PassFilter CreateWithTemplateName (Name templateName, const RenderPipeline *renderPipeline)
 
template<typename PassClass >
static PassFilter CreateWithPassClass ()
 

Member Function Documentation

static PassFilter AZ::RPI::PassFilter::CreateWithPassHierarchy ( const AZStd::vector< Name > &  passHierarchy)
static

Create a PassFilter with pass hierarchy information Filter for passes which have a matching name and also with ordered parents. For example, if the filter is initialized with pass name: "ShadowPass1" pass parents names: "MainPipeline", "Shadow" Passes with these names match the filter: "Root.MainPipeline.SwapChainPass.Shadow.ShadowPass1" or "Root.MainPipeline.Shadow.ShadowPass1" or "MainPipeline.Shadow.Group1.ShadowPass1"

Passes with these names wont match: "MainPipeline.ShadowPass1" or "Shadow.MainPipeline.ShadowPass1"

bool AZ::RPI::PassFilter::Matches ( const Pass pass,
uint32_t  options 
) const

Return true if the input pass matches the filter with selected filter options The input filter options should be a subset of options returned by GetEnabledFilterOptions() This function is used to avoid extra checks for passes which was already filtered. Check PassLibrary::ForEachPass() function's implementation for more details


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