ezEngine Release 26.9
Loading...
Searching...
No Matches
ezRenderGraphPassObserver Class Reference

Observes a texture at a specific point in the render graph pipeline by copying it into a persistent texture after the target pass executes. Register instances with ezRenderGraphManager. The render graph will compute barriers and execute the copy without modifying its own data structures. More...

#include <RenderGraphPassObserver.h>

Inheritance diagram for ezRenderGraphPassObserver:

Public Member Functions

void SetRequest (const ezRenderGraphObserverRequest &request)
 
const ezRenderGraphObserverRequestGetRequest () const
 Returns the active request. Only valid to call from the render thread.
 
const ezTexture2DResourceHandleGetCopyTextureResource () const
 
ezGALTextureHandle GetCopyTexture () const
 
ezRenderGraphObserverResponse GetResponse () const
 Thread-safe. Returns the most recent inspection data that has finished readback.
 
Internal — called by ezRenderGraph during ComputeBarriers / Execute
void Reset ()
 Clears per-frame state. Called at the start of each frame's barrier computation.
 
void ApplyPendingRequest ()
 
void EnsureCopyTexture (const ezGALTextureCreationDescription &srcDesc)
 (Re)creates the copy texture to match the source description if needed.
 
void RecordPreview (ezRenderGraph &ref_graph)
 
- Public Member Functions inherited from ezRefCounted
virtual ~ezRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from ezRefCountingImpl
 ezRefCountingImpl ()=default
 Constructor.
 
 ezRefCountingImpl (const ezRefCountingImpl &rhs)
 
void operator= (const ezRefCountingImpl &rhs)
 
ezInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
 
ezInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.
 
bool IsReferenced () const
 Returns true if the reference count is greater than 0, false otherwise.
 
ezInt32 GetRefCount () const
 Returns the current reference count.
 

Friends

class ezRenderGraph
 
class ezRenderGraphManager
 

Detailed Description

Observes a texture at a specific point in the render graph pipeline by copying it into a persistent texture after the target pass executes. Register instances with ezRenderGraphManager. The render graph will compute barriers and execute the copy without modifying its own data structures.

Member Function Documentation

◆ ApplyPendingRequest()

void ezRenderGraphPassObserver::ApplyPendingRequest ( )

Copies the pending request into the active request. Called on the render thread under the manager's mutex before barrier computation.

◆ GetCopyTexture()

ezGALTextureHandle ezRenderGraphPassObserver::GetCopyTexture ( ) const
inline

Returns the underlying GAL handle of the copy texture. Used internally for the GPU copy operation.

◆ GetCopyTextureResource()

const ezTexture2DResourceHandle & ezRenderGraphPassObserver::GetCopyTextureResource ( ) const
inline

Returns the persistent copy of the observed texture as a resource handle. Can be used with material texture bindings. Invalid if no capture has occurred.

◆ SetRequest()

void ezRenderGraphPassObserver::SetRequest ( const ezRenderGraphObserverRequest request)

Thread-safe. Can be called from any thread. The request is applied on the render thread before barrier computation.


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