Allows to access data from a previous frame. Always comes in a pair with a ezHistoryTargetPass. To preserve textures across the next frame you need to create this node to define the type of texture and initial state. This node's output pin will give access to the previous frame's content. Next, create an ezHistoryTargetPass. It's input pin exposes the same texture as provided by the source node but allows you to write to by connecting the input pin to another pass that produces the image that you want to carry to the next frame. To connect an ezHistoryTargetPass to its counterpart you need to set it's "SourcePassName" property to the name of the ezHistorySourcePass you want to match. As both nodes expose the same texture, special care has to be taken that it's not used as input and output of another pass at the same time. In those cases, add a ezCopyTexturePass to break up invalid state.
More...
#include <HistorySourcePass.h>
|
|
| ezHistorySourcePass (const char *szName="HistorySourcePass") |
| |
| virtual ezStatus | AddRenderPasses (const ezViewData &viewData, const ezCamera &camera, ezRenderGraph &ref_graph, const ezArrayPtr< const ezRenderPipelinePinConnection > inputs, ezArrayPtr< ezRenderPipelinePinConnection > outputs) override |
| | Called by the render pipeline when this pass is active. The pass declares its render-graph passes and writes the resulting transient handles into the outputs array.
|
| |
| virtual ezGALTextureHandle | QueryTextureProvider (const ezRenderPipelineNodePin *pPin, const ezGALTextureCreationDescription &desc) override |
| | Provides the history texture handle for the output pin.
|
| |
| virtual ezResult | Serialize (ezStreamWriter &inout_stream) const override |
| |
| virtual ezResult | Deserialize (ezStreamReader &inout_stream) override |
| |
|
| ezRenderPipelinePass (const char *szName, bool bIsStereoAware=false) |
| |
|
void | SetName (const char *szName) |
| | Sets the name of the pass.
|
| |
|
const char * | GetName () const |
| | returns the name of the pass.
|
| |
|
EZ_ALWAYS_INLINE bool | IsStereoAware () const |
| | True if the render pipeline pass can handle stereo cameras correctly.
|
| |
| virtual void | ReadBackProperties (ezView *pView) |
| | Allows for the pass to write data back using ezView::SetRenderPassReadBackProperty. E.g. picking results etc.
|
| |
| void | DeclareRendererDependenciesForCategory (ezRenderData::Category category, ezRenderGraph &ref_graph, ezRenderGraphPassBuilder &ref_passBuilder) |
| |
|
void | RenderDataWithCategory (const ezRenderViewContext &renderViewContext, ezRenderData::Category category) |
| |
|
EZ_ALWAYS_INLINE ezRenderPipeline * | GetPipeline () |
| |
|
EZ_ALWAYS_INLINE const ezRenderPipeline * | GetPipeline () const |
| |
| virtual ezStatus | AddRenderPassesInactive (const ezViewData &viewData, const ezCamera &camera, ezRenderGraph &ref_graph, const ezArrayPtr< const ezRenderPipelinePinConnection > inputs, ezArrayPtr< ezRenderPipelinePinConnection > outputs) |
| | Called by the render pipeline when this pass is inactive instead of AddRenderPasses. The default implementation does nothing; passes that produce outputs must override this and at minimum write the same output handles they would in AddRenderPasses (typically by adding a clear pass) so downstream passes still see a valid resource.
|
| |
|
void | InitializePins () |
| |
|
ezHashedString | GetPinName (const ezRenderPipelineNodePin *pPin) const |
| |
|
const ezRenderPipelineNodePin * | GetPinByName (ezTempHashedString sName) const |
| |
|
const ezArrayPtr< const ezRenderPipelineNodePin *const > | GetInputPins () const |
| |
|
const ezArrayPtr< const ezRenderPipelineNodePin *const > | GetOutputPins () const |
| |
|
virtual const ezRTTI * | GetDynamicRTTI () const |
| |
|
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.
|
| |
Allows to access data from a previous frame. Always comes in a pair with a ezHistoryTargetPass. To preserve textures across the next frame you need to create this node to define the type of texture and initial state. This node's output pin will give access to the previous frame's content. Next, create an ezHistoryTargetPass. It's input pin exposes the same texture as provided by the source node but allows you to write to by connecting the input pin to another pass that produces the image that you want to carry to the next frame. To connect an ezHistoryTargetPass to its counterpart you need to set it's "SourcePassName" property to the name of the ezHistorySourcePass you want to match. As both nodes expose the same texture, special care has to be taken that it's not used as input and output of another pass at the same time. In those cases, add a ezCopyTexturePass to break up invalid state.
◆ AddRenderPasses()
Called by the render pipeline when this pass is active. The pass declares its render-graph passes and writes the resulting transient handles into the outputs array.
Reimplemented from ezRenderPipelinePass.
◆ Deserialize()
◆ QueryTextureProvider()
◆ Serialize()
The documentation for this class was generated from the following files:
- /home/runner/work/ezEngine/ezEngine/Code/Engine/RendererCore/Pipeline/Passes/HistorySourcePass.h
- /home/runner/work/ezEngine/ezEngine/Code/Engine/RendererCore/Pipeline/Implementation/Passes/HistorySourcePass.cpp