|
| plHistorySourcePass (const char *szName="HistorySourcePass") |
|
virtual bool | GetRenderTargetDescriptions (const plView &view, const plArrayPtr< plGALTextureCreationDescription *const > inputs, plArrayPtr< plGALTextureCreationDescription > outputs) override |
| For a given input pin configuration, provide the output configuration of this node. Outputs is already resized to the number of output pins.
|
|
virtual plGALTextureHandle | QueryTextureProvider (const plRenderPipelineNodePin *pPin, const plGALTextureCreationDescription &desc) override |
|
virtual void | Execute (const plRenderViewContext &renderViewContext, const plArrayPtr< plRenderPipelinePassConnection *const > inputs, const plArrayPtr< plRenderPipelinePassConnection *const > outputs) override |
| 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 plResult | Serialize (plStreamWriter &inout_stream) const override |
|
virtual plResult | Deserialize (plStreamReader &inout_stream) override |
|
| plRenderPipelinePass (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.
|
|
bool | IsStereoAware () const |
| True if the render pipeline pass can handle stereo cameras correctly.
|
|
virtual void | InitRenderPipelinePass (const plArrayPtr< plRenderPipelinePassConnection *const > inputs, const plArrayPtr< plRenderPipelinePassConnection *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 | ExecuteInactive (const plRenderViewContext &renderViewContext, const plArrayPtr< plRenderPipelinePassConnection *const > inputs, const plArrayPtr< plRenderPipelinePassConnection *const > outputs) |
|
virtual void | ReadBackProperties (plView *pView) |
| Allows for the pass to write data back using plView::SetRenderPassReadBackProperty. E.g. picking results etc.
|
|
void | RenderDataWithCategory (const plRenderViewContext &renderViewContext, plRenderData::Category category, plRenderDataBatch::Filter filter=plRenderDataBatch::Filter()) |
|
PL_ALWAYS_INLINE plRenderPipeline * | GetPipeline () |
|
PL_ALWAYS_INLINE const plRenderPipeline * | GetPipeline () const |
|
void | InitializePins () |
|
plHashedString | GetPinName (const plRenderPipelineNodePin *pPin) const |
|
const plRenderPipelineNodePin * | GetPinByName (const char *szName) const |
|
const plRenderPipelineNodePin * | GetPinByName (plHashedString sName) const |
|
const plArrayPtr< const plRenderPipelineNodePin *const > | GetInputPins () const |
|
const plArrayPtr< const plRenderPipelineNodePin *const > | GetOutputPins () const |
|
virtual const plRTTI * | GetDynamicRTTI () const |
|
bool | IsInstanceOf (const plRTTI *pType) const |
| Returns whether the type of this instance is of the given type or derived from it.
|
|
template<typename T > |
PL_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 plHistoryTargetPass. 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 plHistoryTargetPass. 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 plHistoryTargetPass to its counterpart you need to set it's "SourcePassName" property to the name of the plHistorySourcePass 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 plCopyTexturePass to break up invalid state.