ezEngine  Milestone 9
ezRenderPipelinePass Class Referenceabstract
Inheritance diagram for ezRenderPipelinePass:

Public Member Functions

 ezRenderPipelinePass (const char *szName, bool bIsStereoAware=false)
 
ezArrayPtr< ezRenderer *const > GetRenderers () const
 
ezRendererGetRendererByType (const ezRTTI *pType)
 
template<typename T >
EZ_ALWAYS_INLINE T * GetRendererByType ()
 
void AddRenderer (ezRenderer *pRenderer)
 
void RemoveRenderer (ezRenderer *pRenderer)
 
void SetName (const char *szName)
 Sets the name of the pass.
 
const char * GetName () const
 returns the name of the pass.
 
bool IsStereoAware () const
 True if the render pipeline pass can handle stereo cameras correctly.
 
virtual bool GetRenderTargetDescriptions (const ezView &view, const ezArrayPtr< ezGALTextureCreationDescription *const > inputs, ezArrayPtr< ezGALTextureCreationDescription > outputs)=0
 For a given input pin configuration, provide the output configuration of this node. Outputs is already resized to the number of output pins.
 
virtual void InitRenderPipelinePass (const ezArrayPtr< ezRenderPipelinePassConnection *const > inputs, const ezArrayPtr< ezRenderPipelinePassConnection *const > outputs)
 After GetRenderTargetDescriptions was called successfully for each pass, this function is called with the inputs and outputs for review. Disconnected pins have a nullptr value in the passed in arrays. This is the time to create additional resources that are not covered by the pins automatically, e.g. a picking texture or eye adaptation buffer.
 
virtual void Execute (const ezRenderViewContext &renderViewContext, const ezArrayPtr< ezRenderPipelinePassConnection *const > inputs, const ezArrayPtr< ezRenderPipelinePassConnection *const > outputs)=0
 Render into outputs. Both inputs and outputs are passed in with actual texture handles. Disconnected pins have a nullptr value in the passed in arrays. You can now create views and render target setups on the fly and fill the output targets with data.
 
virtual void ExecuteInactive (const ezRenderViewContext &renderViewContext, const ezArrayPtr< ezRenderPipelinePassConnection *const > inputs, const ezArrayPtr< ezRenderPipelinePassConnection *const > outputs)
 
virtual void ReadBackProperties (ezView *pView)
 Allows for the pass to write data back using ezView::SetRenderPassReadBackProperty. E.g. picking results etc.
 
void RenderDataWithCategory (const ezRenderViewContext &renderViewContext, ezRenderData::Category category, ezRenderDataBatch::Filter filter=ezRenderDataBatch::Filter())
 
EZ_ALWAYS_INLINE ezRenderPipelineGetPipeline ()
 
- Public Member Functions inherited from ezNode
void InitializePins ()
 
ezHashedString GetPinName (const ezNodePin *pPin) const
 
const ezNodePinGetPinByName (const char *szName) const
 
const ezNodePinGetPinByName (ezHashedString sName) const
 
const ezArrayPtr< const ezNodePin *const > GetInputPins () const
 
const ezArrayPtr< const ezNodePin *const > GetOutputPins () const
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
EZ_ALWAYS_INLINE bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Friends

class ezRenderPipeline
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 

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