UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SceneCaptureRendering.cpp File Reference
#include "SceneCaptureRendering.h"
#include "Containers/ArrayView.h"
#include "DataDrivenShaderPlatformInfo.h"
#include "Misc/MemStack.h"
#include "EngineDefines.h"
#include "RHIDefinitions.h"
#include "RHI.h"
#include "RenderingThread.h"
#include "Engine/Scene.h"
#include "SceneInterface.h"
#include "LegacyScreenPercentageDriver.h"
#include "GameFramework/Actor.h"
#include "GameFramework/WorldSettings.h"
#include "RHIStaticStates.h"
#include "SceneView.h"
#include "Shader.h"
#include "TextureResource.h"
#include "SceneUtils.h"
#include "Components/PrimitiveComponent.h"
#include "Components/SceneCaptureComponent.h"
#include "Components/SceneCaptureComponent2D.h"
#include "Components/SceneCaptureComponentCube.h"
#include "Engine/TextureRenderTarget2D.h"
#include "Engine/TextureRenderTargetCube.h"
#include "PostProcess/SceneRenderTargets.h"
#include "GlobalShader.h"
#include "SceneRenderTargetParameters.h"
#include "SceneRendering.h"
#include "DeferredShadingRenderer.h"
#include "ScenePrivate.h"
#include "PostProcess/SceneFilterRendering.h"
#include "ScreenRendering.h"
#include "PipelineStateCache.h"
#include "RendererModule.h"
#include "Rendering/MotionVectorSimulation.h"
#include "SceneViewExtension.h"
#include "GenerateMips.h"
#include "RectLightTexture.h"
#include "Materials/MaterialRenderProxy.h"
#include "Rendering/CustomRenderPass.h"
#include "DumpGPU.h"
#include "IRenderCaptureProvider.h"
#include "RenderCaptureInterface.h"
#include "CustomRenderPassSceneCapture.h"
#include "SceneRenderBuilder.h"
#include "Materials/MaterialParameterCollection.h"
#include "Materials/MaterialParameterCollectionInstance.h"
#include "Engine/PostProcessUtils.h"

Classes

class  FSceneCapturePS
 
class  FSceneCaptureViewportSetterMap
 
class  FSceneCapturePass
 

Typedefs

using FSceneCaptureViewportSetterFunction = TFunction< void(FRHICommandList &RHICmdList, int32 ViewIndex)>
 

Functions

 IMPLEMENT_GLOBAL_SHADER (FSceneCapturePS, "/Engine/Private/SceneCapturePixelShader.usf", "Main", SF_Pixel)
 
 RDG_REGISTER_BLACKBOARD_STRUCT (FSceneCaptureViewportSetterMap)
 
void CopySceneCaptureComponentToTarget (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, FRDGTextureRef ViewFamilyTexture, FRDGTextureRef ViewFamilyDepthTexture, const FSceneViewFamily &ViewFamily, TConstArrayView< FViewInfo > Views)
 
void CopySceneCaptureComponentToTarget (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, FRDGTextureRef ViewFamilyTexture, FRDGTextureRef ViewFamilyDepthTexture, const FSceneViewFamily &ViewFamily, const TArray< const FViewInfo * > &Views)
 
void CopySceneCaptureComponentToTarget (FRDGBuilder &GraphBuilder, FRDGTextureRef ViewFamilyTexture, FRDGTextureRef ViewFamilyDepthTexture, const FSceneViewFamily &ViewFamily, TConstStridedView< FSceneView > Views)
 
void CopySceneCaptureComponentToTarget (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, FRDGTextureRef ViewFamilyTexture, const FSceneViewFamily &ViewFamily, const TArray< const FViewInfo * > &Views)
 
void CopySceneCaptureComponentToTarget (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, FRDGTextureRef ViewFamilyTexture, const FSceneViewFamily &ViewFamily, TConstArrayView< FViewInfo > Views)
 
void CopySceneCaptureComponentToTarget (FRDGBuilder &GraphBuilder, FRDGTextureRef ViewFamilyTexture, const FSceneViewFamily &ViewFamily, TConstStridedView< FSceneView > Views)
 
void BuildProjectionMatrix (FIntPoint InRenderTargetSize, float InFOV, float InNearClippingPlane, FMatrix &OutProjectionMatrix)
 
void GetShowOnlyAndHiddenComponents (USceneCaptureComponent *SceneCaptureComponent, TSet< FPrimitiveComponentId > &HiddenPrimitives, TOptional< TSet< FPrimitiveComponentId > > &ShowOnlyPrimitives)
 
TArray< FSceneView * > SetupViewFamilyForSceneCapture (FSceneViewFamily &ViewFamily, USceneCaptureComponent *SceneCaptureComponent, const TArrayView< const FSceneCaptureViewInfo > Views, float MaxViewDistance, bool bCaptureSceneColor, bool bIsPlanarReflection, FPostProcessSettings *PostProcessSettings, const FFinalPostProcessSettings *InheritedMainViewPostProcessSettings, float PostProcessBlendWeight, const AActor *ViewActor, int32 CubemapFaceIndex)
 
void SetupSceneViewExtensionsForSceneCapture (FSceneViewFamily &ViewFamily, TConstArrayView< FSceneView * > Views)
 
ESceneRenderGroupFlags GetSceneCaptureGroupFlags (USceneCaptureComponent *CaptureComponent)
 

Variables

bool GSceneCaptureAllowRenderInMainRenderer = true
 
bool GSceneCaptureCubeSinglePass = true
 

Typedef Documentation

◆ FSceneCaptureViewportSetterFunction

Function Documentation

◆ BuildProjectionMatrix()

void BuildProjectionMatrix ( FIntPoint  InRenderTargetSize,
float  InFOV,
float  InNearClippingPlane,
FMatrix OutProjectionMatrix 
)

◆ CopySceneCaptureComponentToTarget() [1/6]

void CopySceneCaptureComponentToTarget ( FRDGBuilder GraphBuilder,
const FMinimalSceneTextures SceneTextures,
FRDGTextureRef  ViewFamilyTexture,
const FSceneViewFamily ViewFamily,
const TArray< const FViewInfo * > &  Views 
)

◆ CopySceneCaptureComponentToTarget() [2/6]

void CopySceneCaptureComponentToTarget ( FRDGBuilder GraphBuilder,
const FMinimalSceneTextures SceneTextures,
FRDGTextureRef  ViewFamilyTexture,
const FSceneViewFamily ViewFamily,
TConstArrayView< FViewInfo Views 
)

◆ CopySceneCaptureComponentToTarget() [3/6]

void CopySceneCaptureComponentToTarget ( FRDGBuilder GraphBuilder,
const FMinimalSceneTextures SceneTextures,
FRDGTextureRef  ViewFamilyTexture,
FRDGTextureRef  ViewFamilyDepthTexture,
const FSceneViewFamily ViewFamily,
const TArray< const FViewInfo * > &  Views 
)

◆ CopySceneCaptureComponentToTarget() [4/6]

void CopySceneCaptureComponentToTarget ( FRDGBuilder GraphBuilder,
const FMinimalSceneTextures SceneTextures,
FRDGTextureRef  ViewFamilyTexture,
FRDGTextureRef  ViewFamilyDepthTexture,
const FSceneViewFamily ViewFamily,
TConstArrayView< FViewInfo Views 
)

◆ CopySceneCaptureComponentToTarget() [5/6]

void CopySceneCaptureComponentToTarget ( FRDGBuilder GraphBuilder,
FRDGTextureRef  ViewFamilyTexture,
const FSceneViewFamily ViewFamily,
TConstStridedView< FSceneView Views 
)

◆ CopySceneCaptureComponentToTarget() [6/6]

void CopySceneCaptureComponentToTarget ( FRDGBuilder GraphBuilder,
FRDGTextureRef  ViewFamilyTexture,
FRDGTextureRef  ViewFamilyDepthTexture,
const FSceneViewFamily ViewFamily,
TConstStridedView< FSceneView Views 
)

◆ GetSceneCaptureGroupFlags()

ESceneRenderGroupFlags GetSceneCaptureGroupFlags ( USceneCaptureComponent CaptureComponent)

◆ GetShowOnlyAndHiddenComponents()

void GetShowOnlyAndHiddenComponents ( USceneCaptureComponent SceneCaptureComponent,
TSet< FPrimitiveComponentId > &  HiddenPrimitives,
TOptional< TSet< FPrimitiveComponentId > > &  ShowOnlyPrimitives 
)

◆ IMPLEMENT_GLOBAL_SHADER()

IMPLEMENT_GLOBAL_SHADER ( FSceneCapturePS  ,
"/Engine/Private/SceneCapturePixelShader.usf"  ,
"Main"  ,
SF_Pixel   
)

◆ RDG_REGISTER_BLACKBOARD_STRUCT()

RDG_REGISTER_BLACKBOARD_STRUCT ( FSceneCaptureViewportSetterMap  )

◆ SetupSceneViewExtensionsForSceneCapture()

void SetupSceneViewExtensionsForSceneCapture ( FSceneViewFamily ViewFamily,
TConstArrayView< FSceneView * >  Views 
)

◆ SetupViewFamilyForSceneCapture()

TArray< FSceneView * > SetupViewFamilyForSceneCapture ( FSceneViewFamily ViewFamily,
USceneCaptureComponent SceneCaptureComponent,
const TArrayView< const FSceneCaptureViewInfo Views,
float  MaxViewDistance,
bool  bCaptureSceneColor,
bool  bIsPlanarReflection,
FPostProcessSettings PostProcessSettings,
const FFinalPostProcessSettings InheritedMainViewPostProcessSettings,
float  PostProcessBlendWeight,
const AActor ViewActor,
int32  CubemapFaceIndex 
)

Variable Documentation

◆ GSceneCaptureAllowRenderInMainRenderer

bool GSceneCaptureAllowRenderInMainRenderer = true

◆ GSceneCaptureCubeSinglePass

bool GSceneCaptureCubeSinglePass = true