Inherited by AZ::RPI::PassSystem.
Public Types | |
using | OnReadyLoadTemplatesEvent = AZ::Event<> |
Public Member Functions | |
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 |
Static Public Member Functions | |
static PassSystemInterface * | Get () |
Friends | |
class | Pass |
class | ParentPass |
class | PassTests |
|
pure virtual |
Registers a PassCreator with the PassFactory.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Adds a PassTemplate to the library.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Used to add passes that do not belong to any render pipeline.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Registers a render pipeline with the pass system.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Connect a handler to listen to the event that the pass system is ready to load pass templates The event is triggered when pass system is initialized and asset system is ready. The handler can add new pass templates or load pass template mappings from assets
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Creates a Pass using the name of the Pass class.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Creates a Pass using a PassRequest.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Creates a Pass using a PassTemplate.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Creates a Pass using the name of a PassTemplate.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Prints the entire pass hierarchy from the root.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Find the first matching pass from registered passes with specified filter Note: this function SHOULD ONLY be used when you are certain you only need to handle the first pass found
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Find the SwapChainPass associated with window Handle.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Visit the matching passes from registered passes with specified filter The return value of the passFunction decides if the search continues or not Note: this function will find all the passes which match the pass filter even they are for render pipelines which are not added to a scene This function is fast if a pass name or a pass template name is specified.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Retrieves a PassTemplate from the library.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Returns true if the factory has a creator for a given pass class name.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Returns true if the pass factory contains passes created with the given template name.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Returns true if the pass library contains a pass template with the given template name.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Load pass templates listed in a name-assetid mapping asset This function should be called before the render pipelines which use templates from this mappings are created. To load pass template mapping before any render pipelines are created, use OnReadyLoadTemplatesEvent::Handler to load desired pass template mappings
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Processes pass tree changes that were queued by QueueFor*() functions. This is called automatically in FrameUpdate(), but may be called manually when needed, like when initializing a scene;
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Removes all references to the given pass from the pass library.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
See remarks in PassLibrary.h for the function with this name.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Removes a render pipeline from the pass system.
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
The pass system enables targeted debugging of a specific pass given the name of the pass These are the setters and getters for the specific Pass's name To break in your pass code for a specified pass name, use the macro below
Implemented in AZ::RPI::PassSystem.
|
pure virtual |
Writes a pass template to a .pass file which can then be used as a pass asset. Useful for quickly authoring a pass template in code and then outputting it as a pass asset using JSON
Implemented in AZ::RPI::PassSystem.