Open 3D Engine Atom Gem API Reference 23.10.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

◆ CreateWithPassHierarchy()

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

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"

◆ Matches()

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: