UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ISceneRenderBuilder Class Referenceabstract

#include <SceneRenderBuilderInterface.h>

+ Inheritance diagram for ISceneRenderBuilder:

Public Member Functions

virtual ~ISceneRenderBuilder ()=default
 
virtual FSceneRendererCreateSceneRenderer (FSceneViewFamily *ViewFamily)=0
 
virtual TArray< FSceneRenderer *, FConcurrentLinearArrayAllocatorCreateLinkedSceneRenderers (TConstArrayView< FSceneViewFamily * > ViewFamilies, FHitProxyConsumer *HitProxyConsumer)=0
 
virtual void AddCommand (TUniqueFunction< void()> &&Function)=0
 
void AddRenderCommand (TUniqueFunction< void(FRHICommandListImmediate &)> &&Function)
 
virtual void AddRenderer (FSceneRenderer *Renderer, FString &&Name, FSceneRenderFunction &&Function)=0
 
void AddRenderer (FSceneRenderer *Renderer, FSceneRenderFunction &&Function)
 
virtual bool IsCompatible (const FEngineShowFlags &EngineShowFlags) const =0
 
virtual void Execute ()=0
 
virtual FConcurrentLinearBulkObjectAllocatorGetAllocator ()=0
 

Static Public Member Functions

static ENGINE_API TUniquePtr< ISceneRenderBuilderCreate (FSceneInterface *SceneInterface)
 

Friends

class FSceneRenderGroupScope
 

Constructor & Destructor Documentation

◆ ~ISceneRenderBuilder()

virtual ISceneRenderBuilder::~ISceneRenderBuilder ( )
virtualdefault

Member Function Documentation

◆ AddCommand()

virtual void ISceneRenderBuilder::AddCommand ( TUniqueFunction< void()> &&  Function)
pure virtual

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.

Implemented in FSceneRenderBuilder.

◆ AddRenderCommand()

void ISceneRenderBuilder::AddRenderCommand ( TUniqueFunction< void(FRHICommandListImmediate &)> &&  Function)
inline

◆ AddRenderer() [1/2]

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

◆ AddRenderer() [2/2]

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

◆ Create()

TUniquePtr< ISceneRenderBuilder > ISceneRenderBuilder::Create ( FSceneInterface SceneInterface)
static

◆ CreateLinkedSceneRenderers()

virtual TArray< FSceneRenderer *, FConcurrentLinearArrayAllocator > ISceneRenderBuilder::CreateLinkedSceneRenderers ( TConstArrayView< FSceneViewFamily * >  ViewFamilies,
FHitProxyConsumer HitProxyConsumer 
)
pure virtual

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

Implemented in FSceneRenderBuilder.

◆ CreateSceneRenderer()

virtual FSceneRenderer * ISceneRenderBuilder::CreateSceneRenderer ( FSceneViewFamily ViewFamily)
pure virtual

Creates a scene renderer based on the current feature level.

Implemented in FSceneRenderBuilder.

◆ Execute()

virtual void ISceneRenderBuilder::Execute ( )
pure virtual

Implemented in FSceneRenderBuilder.

◆ GetAllocator()

virtual FConcurrentLinearBulkObjectAllocator & ISceneRenderBuilder::GetAllocator ( )
pure virtual

Implemented in FSceneRenderBuilder.

◆ IsCompatible()

virtual bool ISceneRenderBuilder::IsCompatible ( const FEngineShowFlags EngineShowFlags) const
pure virtual

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.

Implemented in FSceneRenderBuilder.

Friends And Related Symbol Documentation

◆ FSceneRenderGroupScope


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