|
| AZ_RTTI (PassSystem, "{6AA45529-53CF-4AEF-86DF-A696C760105B}", PassSystemInterface) |
|
| AZ_CLASS_ALLOCATOR (PassSystem, AZ::SystemAllocator) |
|
| AZ_DISABLE_COPY_MOVE (PassSystem) |
|
void | Init () |
| Initializes the PassSystem and the Root Pass and creates the Pass InstanceDatabase.
|
|
void | InitPassTemplates () |
|
void | Shutdown () |
| Deletes the Root Pass and shuts down the PassSystem.
|
|
void | FrameUpdate (RHI::FrameGraphBuilder &frameGraphBuilder) |
| Called every frame, essentially the 'OnTick' of the pass system.
|
|
void | FrameEnd () |
| Called after the frame has been rendered. Allows passes to execute post frame logic.
|
|
void | ProcessQueuedChanges () override |
|
bool | LoadPassTemplateMappings (const AZStd::string &templateMappingPath) override |
|
void | WriteTemplateToFile (const PassTemplate &passTemplate, AZStd::string_view assetFilePath) override |
|
void | DebugPrintPassHierarchy () override |
| Prints the entire pass hierarchy from the root.
|
|
void | SetTargetedPassDebuggingName (const AZ::Name &targetPassName) override |
|
const AZ::Name & | GetTargetedPassDebuggingName () const override |
|
void | ConnectEvent (OnReadyLoadTemplatesEvent::Handler &handler) override |
|
PassSystemState | GetState () const override |
|
SwapChainPass * | FindSwapChainPass (AzFramework::NativeWindowHandle windowHandle) const override |
| Find the SwapChainPass associated with window Handle.
|
|
void | DebugBreakOnPass (const Pass *pass) const override |
|
void | AddRenderPipeline (RenderPipeline *renderPipeline) override |
| Registers a render pipeline with the pass system.
|
|
void | RemoveRenderPipeline (RenderPipeline *renderPipeline) override |
| Removes a render pipeline from the pass system.
|
|
void | AddPassWithoutPipeline (const Ptr< Pass > &pass) override |
| Used to add passes that do not belong to any render pipeline.
|
|
void | IncrementFrameDrawItemCount (u32 numDrawItems) override |
|
void | IncrementFrameRenderPassCount () override |
|
PassSystemFrameStatistics | GetFrameStatistics () override |
|
void | AddPassCreator (Name className, PassCreator createFunction) override |
| Registers a PassCreator with the PassFactory.
|
|
Ptr< Pass > | CreatePassFromClass (Name passClassName, Name passName) override |
| Creates a Pass using the name of the Pass class.
|
|
Ptr< Pass > | CreatePassFromTemplate (const AZStd::shared_ptr< const PassTemplate > &passTemplate, Name passName) override |
| Creates a Pass using a PassTemplate.
|
|
Ptr< Pass > | CreatePassFromTemplate (Name templateName, Name passName) override |
| Creates a Pass using the name of a PassTemplate.
|
|
Ptr< Pass > | CreatePassFromRequest (const PassRequest *passRequest) override |
| Creates a Pass using a PassRequest.
|
|
bool | HasCreatorForClass (Name passClassName) override |
| Returns true if the factory has a creator for a given pass class name.
|
|
bool | HasTemplate (const Name &templateName) const override |
| Returns true if the pass library contains a pass template with the given template name.
|
|
bool | HasPassesForTemplateName (const Name &templateName) const override |
| Returns true if the pass factory contains passes created with the given template name.
|
|
bool | AddPassTemplate (const Name &name, const AZStd::shared_ptr< PassTemplate > &passTemplate) override |
| Adds a PassTemplate to the library.
|
|
const AZStd::shared_ptr< const PassTemplate > | GetPassTemplate (const Name &name) const override |
| Retrieves a PassTemplate from the library.
|
|
void | RemovePassTemplate (const Name &name) override |
| See remarks in PassLibrary.h for the function with this name.
|
|
void | RemovePassFromLibrary (Pass *pass) override |
| Removes all references to the given pass from the pass library.
|
|
void | RegisterPass (Pass *pass) override |
| Registers the pass with the pass library. Called in the Pass constructor.
|
|
void | UnregisterPass (Pass *pass) override |
| Unregisters the pass with the pass library. Called in the Pass destructor.
|
|
void | ForEachPass (const PassFilter &filter, AZStd::function< PassFilterExecutionFlow(Pass *)> passFunction) override |
|
Pass * | FindFirstPass (const PassFilter &filter) override |
|
| AZ_RTTI (PassSystemInterface, "{19DE806F-F1B2-4B1E-A0F2-F8BA85B4552E}") |
|
| AZ_DISABLE_COPY_MOVE (PassSystemInterface) |
|
virtual const Ptr< ParentPass > & | GetRootPass ()=0 |
| Returns the root of the pass hierarchy.
|
|
virtual void | AddRenderPipeline (RenderPipeline *renderPipeline)=0 |
| Registers a render pipeline with the pass system.
|
|
virtual void | RemoveRenderPipeline (RenderPipeline *renderPipeline)=0 |
| Removes a render pipeline from the pass system.
|
|
virtual void | AddPassWithoutPipeline (const Ptr< Pass > &pass)=0 |
| Used to add passes that do not belong to any render pipeline.
|
|
virtual void | ProcessQueuedChanges ()=0 |
|
virtual bool | LoadPassTemplateMappings (const AZStd::string &templateMappingPath)=0 |
|
virtual void | WriteTemplateToFile (const PassTemplate &passTemplate, AZStd::string_view assetFilePath)=0 |
|
virtual void | DebugPrintPassHierarchy ()=0 |
| Prints the entire pass hierarchy from the root.
|
|
virtual void | SetTargetedPassDebuggingName (const AZ::Name &targetPassName)=0 |
|
virtual const AZ::Name & | GetTargetedPassDebuggingName () const =0 |
|
virtual SwapChainPass * | FindSwapChainPass (AzFramework::NativeWindowHandle windowHandle) const =0 |
| Find the SwapChainPass associated with window Handle.
|
|
virtual void | ConnectEvent (OnReadyLoadTemplatesEvent::Handler &handler)=0 |
|
virtual PassSystemState | GetState () const =0 |
|
virtual void | IncrementFrameDrawItemCount (u32 numDrawItems)=0 |
|
virtual void | IncrementFrameRenderPassCount ()=0 |
|
virtual PassSystemFrameStatistics | GetFrameStatistics ()=0 |
|
virtual void | DebugBreakOnPass (const Pass *pass) const =0 |
|
template<typename PassType > |
Ptr< PassType > | CreatePass (const PassDescriptor &descriptor) |
| Directly creates a pass given a PassDescriptor.
|
|
template<typename PassType > |
Ptr< PassType > | CreatePass (Name name) |
| Directly creates a pass given a Name.
|
|
virtual void | AddPassCreator (Name className, PassCreator createFunction)=0 |
| Registers a PassCreator with the PassFactory.
|
|
virtual Ptr< Pass > | CreatePassFromClass (Name passClassName, Name passName)=0 |
| Creates a Pass using the name of the Pass class.
|
|
virtual Ptr< Pass > | CreatePassFromTemplate (const AZStd::shared_ptr< const PassTemplate > &passTemplate, Name passName)=0 |
| Creates a Pass using a PassTemplate.
|
|
virtual Ptr< Pass > | CreatePassFromTemplate (Name templateName, Name passName)=0 |
| Creates a Pass using the name of a PassTemplate.
|
|
virtual Ptr< Pass > | CreatePassFromRequest (const PassRequest *passRequest)=0 |
| Creates a Pass using a PassRequest.
|
|
virtual bool | HasCreatorForClass (Name passClassName)=0 |
| Returns true if the factory has a creator for a given pass class name.
|
|
virtual bool | HasTemplate (const Name &templateName) const =0 |
| Returns true if the pass library contains a pass template with the given template name.
|
|
virtual bool | HasPassesForTemplateName (const Name &templateName) const =0 |
| Returns true if the pass factory contains passes created with the given template name.
|
|
virtual bool | AddPassTemplate (const Name &name, const AZStd::shared_ptr< PassTemplate > &passTemplate)=0 |
| Adds a PassTemplate to the library.
|
|
virtual const AZStd::shared_ptr< const PassTemplate > | GetPassTemplate (const Name &name) const =0 |
| Retrieves a PassTemplate from the library.
|
|
virtual void | RemovePassTemplate (const Name &name)=0 |
| See remarks in PassLibrary.h for the function with this name.
|
|
virtual void | RemovePassFromLibrary (Pass *pass)=0 |
| Removes all references to the given pass from the pass library.
|
|
virtual void | ForEachPass (const PassFilter &filter, AZStd::function< PassFilterExecutionFlow(Pass *)> passFunction)=0 |
|
virtual Pass * | FindFirstPass (const PassFilter &filter)=0 |
|
The central class of the pass system. Responsible for preparing the frame and keeping track of which passes need rebuilding or deleting. Holds the root of the pass hierarchy.