UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSceneRenderBuilder Class Referencefinal

#include <SceneRenderBuilder.h>

+ Inheritance diagram for FSceneRenderBuilder:

Classes

struct  FPersistentState
 

Public Member Functions

RENDERER_API FSceneRenderBuilder (FSceneInterface *InScene)
 
 FSceneRenderBuilder (const FSceneRenderBuilder &)=delete
 
FSceneRenderBuilderoperator= (const FSceneRenderBuilder &)=delete
 
 FSceneRenderBuilder (FSceneRenderBuilder &&RHS)
 
FSceneRenderBuilderoperator= (FSceneRenderBuilder &&RHS)
 
RENDERER_API ~FSceneRenderBuilder () override
 
RENDERER_API FSceneRendererCreateSceneRenderer (FSceneViewFamily *ViewFamily) override
 
RENDERER_API TArray< FSceneRenderer *, FConcurrentLinearArrayAllocatorCreateLinkedSceneRenderers (TConstArrayView< FSceneViewFamily * > ViewFamilies, FHitProxyConsumer *HitProxyConsumer) override
 
RENDERER_API void AddCommand (TUniqueFunction< void()> &&Function) override
 
RENDERER_API void AddRenderer (FSceneRenderer *Renderer, FString &&Name, FSceneRenderFunction &&Function) override
 
RENDERER_API bool IsCompatible (const FEngineShowFlags &EngineShowFlags) const override
 
RENDERER_API void Execute () override
 
RENDERER_API FConcurrentLinearBulkObjectAllocatorGetAllocator () override
 
void FlushIfIncompatible (const FEngineShowFlags &EngineShowFlags)
 
virtual void AddRenderer (FSceneRenderer *Renderer, FString &&Name, FSceneRenderFunction &&Function)=0
 
void AddRenderer (FSceneRenderer *Renderer, FSceneRenderFunction &&Function)
 
- Public Member Functions inherited from ISceneRenderBuilder
virtual ~ISceneRenderBuilder ()=default
 
void AddRenderCommand (TUniqueFunction< void(FRHICommandListImmediate &)> &&Function)
 
void AddRenderer (FSceneRenderer *Renderer, FSceneRenderFunction &&Function)
 

Static Public Member Functions

static void WaitForAsyncCleanupTask ()
 
static void WaitForAsyncDeleteTask ()
 
static const FGraphEventRefGetAsyncCleanupTask ()
 
- Static Public Member Functions inherited from ISceneRenderBuilder
static ENGINE_API TUniquePtr< ISceneRenderBuilderCreate (FSceneInterface *SceneInterface)
 

Constructor & Destructor Documentation

◆ FSceneRenderBuilder() [1/3]

FSceneRenderBuilder::FSceneRenderBuilder ( FSceneInterface InScene)

◆ FSceneRenderBuilder() [2/3]

FSceneRenderBuilder::FSceneRenderBuilder ( const FSceneRenderBuilder )
delete

◆ FSceneRenderBuilder() [3/3]

FSceneRenderBuilder::FSceneRenderBuilder ( FSceneRenderBuilder &&  RHS)
inline

◆ ~FSceneRenderBuilder()

FSceneRenderBuilder::~FSceneRenderBuilder ( )
override

Member Function Documentation

◆ AddCommand()

void FSceneRenderBuilder::AddCommand ( TUniqueFunction< void()> &&  Function)
overridevirtual

Adds a command that executes on the game thread and is pipelined with scene render commands on the render thread. This is useful to process game thread side logic in between scene renders which may insert render commands. Though be mindful of how commands may be deferred until RDG execution in certain configurations.

Implements ISceneRenderBuilder.

◆ AddRenderer() [1/3]

void ISceneRenderBuilder::AddRenderer ( FSceneRenderer Renderer,
FSceneRenderFunction &&  Function 
)
inline

◆ AddRenderer() [2/3]

void FSceneRenderBuilder::AddRenderer ( FSceneRenderer Renderer,
FString &&  Name,
FSceneRenderFunction &&  Function 
)
overridevirtual

Implements ISceneRenderBuilder.

◆ AddRenderer() [3/3]

virtual void ISceneRenderBuilder::AddRenderer ( FSceneRenderer Renderer,
FString &&  Name,
FSceneRenderFunction &&  Function 
)
virtual

Implements ISceneRenderBuilder.

◆ CreateLinkedSceneRenderers()

TArray< FSceneRenderer *, FConcurrentLinearArrayAllocator > FSceneRenderBuilder::CreateLinkedSceneRenderers ( TConstArrayView< FSceneViewFamily * >  ViewFamilies,
FHitProxyConsumer HitProxyConsumer 
)
overridevirtual

Creates a linked set of scene renderers with related view families based on the current feature level.

Implements ISceneRenderBuilder.

◆ CreateSceneRenderer()

FSceneRenderer * FSceneRenderBuilder::CreateSceneRenderer ( FSceneViewFamily ViewFamily)
overridevirtual

Creates a scene renderer based on the current feature level.

Implements ISceneRenderBuilder.

◆ Execute()

void FSceneRenderBuilder::Execute ( )
overridevirtual

Implements ISceneRenderBuilder.

◆ FlushIfIncompatible()

void FSceneRenderBuilder::FlushIfIncompatible ( const FEngineShowFlags EngineShowFlags)
inline

◆ GetAllocator()

FConcurrentLinearBulkObjectAllocator & FSceneRenderBuilder::GetAllocator ( )
overridevirtual

Implements ISceneRenderBuilder.

◆ GetAsyncCleanupTask()

const FGraphEventRef & FSceneRenderBuilder::GetAsyncCleanupTask ( )
static

◆ IsCompatible()

bool FSceneRenderBuilder::IsCompatible ( const FEngineShowFlags EngineShowFlags) const
overridevirtual

Whether a renderer with the provided show flags can be added to the builder. If not compatible, you must call Execute() first to flush existing renderers prior to adding.

Implements ISceneRenderBuilder.

◆ operator=() [1/2]

FSceneRenderBuilder & FSceneRenderBuilder::operator= ( const FSceneRenderBuilder )
delete

◆ operator=() [2/2]

FSceneRenderBuilder & FSceneRenderBuilder::operator= ( FSceneRenderBuilder &&  RHS)
inline

◆ WaitForAsyncCleanupTask()

void FSceneRenderBuilder::WaitForAsyncCleanupTask ( )
static

◆ WaitForAsyncDeleteTask()

void FSceneRenderBuilder::WaitForAsyncDeleteTask ( )
static

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