UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TOverridePassSequence< EPass > Class Template Referencefinal

#include <OverridePassSequence.h>

Public Member Functions

 TOverridePassSequence (const FScreenPassRenderTarget &InOverrideOutput)
 
 ~TOverridePassSequence ()
 
void SetName (EPass Pass, const TCHAR *Name)
 
void SetNames (const TCHAR *const *Names, uint32 NameCount)
 
void SetEnabled (EPass Pass, bool bEnabled)
 
bool IsEnabled (EPass Pass) const
 
bool IsLastPass (EPass Pass) const
 
void AcceptPass (EPass Pass)
 
bool AcceptOverrideIfLastPass (EPass Pass, FScreenPassRenderTarget &OutTargetToOverride, const TOptional< int32 > &AfterPassCallbackIndex=TOptional< int32 >())
 
void Finalize ()
 
FAfterPassCallbackDelegateArrayGetAfterPassCallbacks (EPass Pass)
 

Detailed Description

template<typename EPass>
class TOverridePassSequence< EPass >

This class provides a solution for overriding the final render target / view rect in a chain of render graph passes. RDG pass setup is immediate, which makes it difficult to determine the final pass in a chain in order to swap a final texture target (e.g. the view family target). This class helps by providing some utilities to mark passes as enabled prior to setup, then seamlessly assign the override texture to the correct last pass. It assumes that all passes adhere to the pattern of using an input struct that derives from FScreenPassRenderTarget (though this is not strictly required).

The user provides a custom enum class that is the set of ordered passes. The user can enable them in any order, but all passes must be assigned (i.e. have SetEnabled called on them). After enabling / disabling all passes. Call Finalize to compute internal state. You cannot enable / disable passes after finalizing. Each pass must be accepted in order, and all passes marked as enabled must be accepted. The helper, AcceptOverrideIfLastPass, will check and override if the pass is the last one, and then accept the pass.

Constructor & Destructor Documentation

◆ TOverridePassSequence()

template<typename EPass >
TOverridePassSequence< EPass >::TOverridePassSequence ( const FScreenPassRenderTarget InOverrideOutput)
inline

◆ ~TOverridePassSequence()

Member Function Documentation

◆ AcceptOverrideIfLastPass()

template<typename EPass >
bool TOverridePassSequence< EPass >::AcceptOverrideIfLastPass ( EPass  Pass,
FScreenPassRenderTarget OutTargetToOverride,
const TOptional< int32 > &  AfterPassCallbackIndex = TOptional<int32>() 
)
inline

◆ AcceptPass()

template<typename EPass >
void TOverridePassSequence< EPass >::AcceptPass ( EPass  Pass)
inline

◆ Finalize()

template<typename EPass >
void TOverridePassSequence< EPass >::Finalize ( )
inline

◆ GetAfterPassCallbacks()

template<typename EPass >
FAfterPassCallbackDelegateArray & TOverridePassSequence< EPass >::GetAfterPassCallbacks ( EPass  Pass)
inline

◆ IsEnabled()

template<typename EPass >
bool TOverridePassSequence< EPass >::IsEnabled ( EPass  Pass) const
inline

◆ IsLastPass()

template<typename EPass >
bool TOverridePassSequence< EPass >::IsLastPass ( EPass  Pass) const
inline

◆ SetEnabled()

template<typename EPass >
void TOverridePassSequence< EPass >::SetEnabled ( EPass  Pass,
bool  bEnabled 
)
inline

◆ SetName()

template<typename EPass >
void TOverridePassSequence< EPass >::SetName ( EPass  Pass,
const TCHAR Name 
)
inline

◆ SetNames()

template<typename EPass >
void TOverridePassSequence< EPass >::SetNames ( const TCHAR *const *  Names,
uint32  NameCount 
)
inline

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