#include <PassFactory.h>
Public Member Functions | |
AZ_CLASS_ALLOCATOR (PassFactory, SystemAllocator) | |
AZ_DISABLE_COPY_MOVE (PassFactory) | |
void | Init (PassLibrary *passLibrary) |
Initializes the PassFactory and adds core PassCreators to the PassFactory. | |
void | Shutdown () |
void | AddPassCreator (Name passClassName, PassCreator createFunction) |
Registers a PassCreator with the PassFactory. | |
Ptr< Pass > | CreatePassFromClass (Name passClassName, Name passName) |
Creates a Pass using the name of the Pass class. | |
Ptr< Pass > | CreatePassFromTemplate (const AZStd::shared_ptr< const PassTemplate > &passTemplate, Name passName) |
Creates a Pass using a PassTemplate. | |
Ptr< Pass > | CreatePassFromTemplate (Name templateName, Name passName) |
Creates a Pass using the name of a PassTemplate. | |
Ptr< Pass > | CreatePassFromRequest (const PassRequest *passRequest) |
Creates a Pass using a PassRequest. | |
bool | HasCreatorForClass (Name passClassName) |
Returns true if the factory has a creator for a given pass class name. | |
Friends | |
class | PassTests |
The PassFactory is responsible for creating passes throughout the RPI. It exposes functions for creating passes using either a Pass Name, a PassTemplate, a PassTemplate Name, or a PassRequest. To register a new pass type with the PassFactory, write a static create method for your pass class and register it with the PassFactory using the AddPassCreator function.