UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSceneViewFamily Class Reference

#include <SceneView.h>

+ Inheritance diagram for FSceneViewFamily:

Classes

struct  ConstructionValues
 

Public Member Functions

ENGINE_API FSceneViewFamily (const ConstructionValues &CVS)
 
ENGINE_API FSceneViewFamily (const FSceneViewFamily &)
 
virtual ENGINE_API ~FSceneViewFamily ()
 
ENGINE_API ERHIFeatureLevel::Type GetFeatureLevel () const
 
EShaderPlatform GetShaderPlatform () const
 
ENGINE_API EDebugViewShaderMode ChooseDebugViewShaderMode () const
 
PRAGMA_DISABLE_DEPRECATION_WARNINGS ENGINE_API EDebugViewShaderMode GetDebugViewShaderMode () const
 
void SetDebugViewShaderMode (EDebugViewShaderMode InMode)
 
int32 GetViewModeParam () const
 
const FNameGetViewModeParamName () const
 
bool UseDebugViewPS () const
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS ENGINE_API bool SupportsScreenPercentage () const
 
bool AllowTranslucencyAfterDOF () const
 
bool AllowStandardTranslucencySeparated () const
 
const ISceneViewFamilyScreenPercentageGetScreenPercentageInterface () const
 
void SetScreenPercentageInterface (ISceneViewFamilyScreenPercentage *InScreenPercentageInterface)
 
void SetScreenPercentageInterface_Unchecked (ISceneViewFamilyScreenPercentage *InScreenPercentageInterface)
 
void operator= (const FSceneViewFamily &)=delete
 
ENGINE_API FSceneViewFamily (FSceneViewFamily &&InViewFamily)
 
template<typename TExtensionData >
const TExtensionDataGetExtentionData () const
 
template<typename TExtensionData >
TExtensionDataGetExtentionData ()
 
template<typename TExtensionData >
TExtensionDataGetOrCreateExtentionData ()
 
void SetTemporalUpscalerInterface (UE::Renderer::Private::ITemporalUpscaler *InTemporalUpscalerInterface)
 
const UE::Renderer::Private::ITemporalUpscalerGetTemporalUpscalerInterface () const
 
void SetPrimarySpatialUpscalerInterface (ISpatialUpscaler *InSpatialUpscalerInterface)
 
const ISpatialUpscalerGetPrimarySpatialUpscalerInterface () const
 
void SetSecondarySpatialUpscalerInterface (ISpatialUpscaler *InSpatialUpscalerInterface)
 
const ISpatialUpscalerGetSecondarySpatialUpscalerInterface () const
 
bool GetIsInFocus () const
 
void SetIsInFocus (bool bInIsInFocus)
 
void SetSceneRenderer (ISceneRenderer *NewSceneRenderer)
 
ISceneRendererGetSceneRenderer () const
 

Public Attributes

TArray< const FSceneView * > Views
 
TArray< const FSceneView * > AllViews
 
EViewModeIndex ViewMode
 
const FRenderTargetRenderTarget
 
const FRenderTargetRenderTargetDepth
 
FSceneInterfaceScene
 
FEngineShowFlags EngineShowFlags
 
FGameTime Time
 
uint32 FrameNumber
 
uint64 FrameCounter = 0
 
bool bAdditionalViewFamily
 
bool bRealtimeUpdate
 
bool bDeferClear
 
bool bResolveScene
 
bool bMultiGPUForkAndJoin
 
bool bIsMultipleViewFamily = false
 
bool bIsFirstViewInMultipleViewFamily = true
 
bool bIsViewFamilyInfo = false
 
bool bSplitScreenDebugAllowed = false
 
bool bIsMainViewFamily = false
 
ESceneCaptureSource SceneCaptureSource
 
ESceneCaptureCompositeMode SceneCaptureCompositeMode
 
bool bThumbnailRendering = false
 
bool bWorldIsPaused
 
bool bIsHDR
 
bool bRequireMultiView
 
float DebugDPIScale = 1.0f
 
FExposureSettings ExposureSettings
 
TArray< TSharedRef< class ISceneViewExtension, ESPMode::ThreadSafe > > ViewExtensions
 
FDisplayInternalsData DisplayInternalsData
 
float SecondaryViewFraction
 
ESecondaryScreenPercentageMethod SecondaryScreenPercentageMethod
 
int8 LandscapeLODOverride
 
bool bCurrentlyBeingEdited
 
bool bOverrideVirtualTextureThrottle
 
int32 VirtualTextureFeedbackFactor
 
FString ProfileDescription
 
floatProfileSceneRenderTime = nullptr
 
TArray< FVector, TInlineAllocator< 2 > > StreamingViewOrigins
 
EDebugViewShaderMode DebugViewShaderMode = DVSM_MAX
 
int32 ViewModeParam
 
FName ViewModeParamName
 

Friends

class FSceneRenderer
 
class FViewFamilyInfo
 

Detailed Description

A set of views into a scene which only have different view transforms and owner actors.

Constructor & Destructor Documentation

◆ FSceneViewFamily() [1/3]

FSceneViewFamily::FSceneViewFamily ( const ConstructionValues CVS)

Initialization constructor.

◆ FSceneViewFamily() [2/3]

PRAGMA_DISABLE_DEPRECATION_WARNINGS FSceneViewFamily::FSceneViewFamily ( const FSceneViewFamily )
default

◆ ~FSceneViewFamily()

FSceneViewFamily::~FSceneViewFamily ( )
virtual

◆ FSceneViewFamily() [3/3]

FSceneViewFamily::FSceneViewFamily ( FSceneViewFamily &&  InViewFamily)

Member Function Documentation

◆ AllowStandardTranslucencySeparated()

bool FSceneViewFamily::AllowStandardTranslucencySeparated ( ) const
inline

◆ AllowTranslucencyAfterDOF()

bool FSceneViewFamily::AllowTranslucencyAfterDOF ( ) const
inline

◆ ChooseDebugViewShaderMode()

ENGINE_API EDebugViewShaderMode FSceneViewFamily::ChooseDebugViewShaderMode ( ) const

◆ GetDebugViewShaderMode()

PRAGMA_DISABLE_DEPRECATION_WARNINGS ENGINE_API EDebugViewShaderMode FSceneViewFamily::GetDebugViewShaderMode ( ) const

◆ GetExtentionData() [1/2]

TExtensionData * FSceneViewFamily::GetExtentionData ( )
inline

◆ GetExtentionData() [2/2]

const TExtensionData * FSceneViewFamily::GetExtentionData ( ) const
inline

◆ GetFeatureLevel()

PRAGMA_ENABLE_DEPRECATION_WARNINGS ERHIFeatureLevel::Type FSceneViewFamily::GetFeatureLevel ( ) const

◆ GetIsInFocus()

bool FSceneViewFamily::GetIsInFocus ( ) const
inline

◆ GetOrCreateExtentionData()

TExtensionData * FSceneViewFamily::GetOrCreateExtentionData ( )
inline

◆ GetPrimarySpatialUpscalerInterface()

const ISpatialUpscaler * FSceneViewFamily::GetPrimarySpatialUpscalerInterface ( ) const
inline

◆ GetSceneRenderer()

ISceneRenderer * FSceneViewFamily::GetSceneRenderer ( ) const
inline

◆ GetScreenPercentageInterface()

const ISceneViewFamilyScreenPercentage * FSceneViewFamily::GetScreenPercentageInterface ( ) const
inline

◆ GetSecondarySpatialUpscalerInterface()

const ISpatialUpscaler * FSceneViewFamily::GetSecondarySpatialUpscalerInterface ( ) const
inline

◆ GetShaderPlatform()

EShaderPlatform FSceneViewFamily::GetShaderPlatform ( ) const
inline

◆ GetTemporalUpscalerInterface()

const UE::Renderer::Private::ITemporalUpscaler * FSceneViewFamily::GetTemporalUpscalerInterface ( ) const
inline

◆ GetViewModeParam()

int32 FSceneViewFamily::GetViewModeParam ( ) const
inline

◆ GetViewModeParamName()

const FName & FSceneViewFamily::GetViewModeParamName ( ) const
inline

◆ operator=()

void FSceneViewFamily::operator= ( const FSceneViewFamily )
delete

◆ SetDebugViewShaderMode()

void FSceneViewFamily::SetDebugViewShaderMode ( EDebugViewShaderMode  InMode)
inline

◆ SetIsInFocus()

void FSceneViewFamily::SetIsInFocus ( bool  bInIsInFocus)
inline

◆ SetPrimarySpatialUpscalerInterface()

void FSceneViewFamily::SetPrimarySpatialUpscalerInterface ( ISpatialUpscaler InSpatialUpscalerInterface)
inline

◆ SetSceneRenderer()

void FSceneViewFamily::SetSceneRenderer ( ISceneRenderer NewSceneRenderer)
inline

◆ SetScreenPercentageInterface()

void FSceneViewFamily::SetScreenPercentageInterface ( ISceneViewFamilyScreenPercentage InScreenPercentageInterface)
inline

Safely sets the view family's screen percentage interface. This is meant to be set by one of the ISceneViewExtension::BeginRenderViewFamily(). And collision will automatically be detected. If no extension sets it, that is fine since the renderer is going to use an internal default one.

The renderer reserves the right to delete and replace the view family's screen percentage interface for testing purposes with the r.Test.OverrideScreenPercentageInterface CVar.

◆ SetScreenPercentageInterface_Unchecked()

void FSceneViewFamily::SetScreenPercentageInterface_Unchecked ( ISceneViewFamilyScreenPercentage InScreenPercentageInterface)
inline

◆ SetSecondarySpatialUpscalerInterface()

void FSceneViewFamily::SetSecondarySpatialUpscalerInterface ( ISpatialUpscaler InSpatialUpscalerInterface)
inline

◆ SetTemporalUpscalerInterface()

void FSceneViewFamily::SetTemporalUpscalerInterface ( UE::Renderer::Private::ITemporalUpscaler InTemporalUpscalerInterface)
inline

◆ SupportsScreenPercentage()

bool FSceneViewFamily::SupportsScreenPercentage ( ) const

Returns whether the screen percentage show flag is supported or not for this view family.

◆ UseDebugViewPS()

bool FSceneViewFamily::UseDebugViewPS ( ) const
inline

Friends And Related Symbol Documentation

◆ FSceneRenderer

friend class FSceneRenderer
friend

◆ FViewFamilyInfo

friend class FViewFamilyInfo
friend

Member Data Documentation

◆ AllViews

TArray<const FSceneView*> FSceneViewFamily::AllViews

All views include main camera views and scene capture views.

◆ bAdditionalViewFamily

bool FSceneViewFamily::bAdditionalViewFamily

Indicates this view family is an additional one.

◆ bCurrentlyBeingEdited

bool FSceneViewFamily::bCurrentlyBeingEdited

Whether the scene is currently being edited, which can be used to speed up lighting propagation.

◆ bDeferClear

bool FSceneViewFamily::bDeferClear

Used to defer the back buffer clearing to just before the back buffer is drawn to

◆ bIsFirstViewInMultipleViewFamily

bool FSceneViewFamily::bIsFirstViewInMultipleViewFamily = true

Whether this view is the first of multiple view families rendered in a single frame. Setting this correctly helps make better and more consistent streaming decisions. This should be a temporary workaround until we have an API for executing code before/after all view rendering.

◆ bIsHDR

bool FSceneViewFamily::bIsHDR

When enabled, the post processing will output in HDR space

◆ bIsMainViewFamily

bool FSceneViewFamily::bIsMainViewFamily = false

Whether this is the "main" view family. Should be set to true for the view family of the main editor or game viewport. Affects where rendering occurs for Scene Captures with the "bMainViewFamily" flag set.

◆ bIsMultipleViewFamily

bool FSceneViewFamily::bIsMultipleViewFamily = false

◆ bIsViewFamilyInfo

bool FSceneViewFamily::bIsViewFamilyInfo = false

◆ bMultiGPUForkAndJoin

bool FSceneViewFamily::bMultiGPUForkAndJoin

if true then each view is not rendered using the same GPUMask.

◆ bOverrideVirtualTextureThrottle

bool FSceneViewFamily::bOverrideVirtualTextureThrottle

Whether to disable virtual texture update throttling.

◆ bRealtimeUpdate

bool FSceneViewFamily::bRealtimeUpdate

Indicates whether the view family is updated in realtime.

◆ bRequireMultiView

bool FSceneViewFamily::bRequireMultiView

True if scenecolor and depth should be multiview-allocated

◆ bResolveScene

bool FSceneViewFamily::bResolveScene

if true then results of scene rendering are copied/resolved to the RenderTarget.

◆ bSplitScreenDebugAllowed

bool FSceneViewFamily::bSplitScreenDebugAllowed = false

Whether this view allows split screen debug – we only want it for editor and game viewports, not other random scene renders

◆ bThumbnailRendering

bool FSceneViewFamily::bThumbnailRendering = false

Whether this view is for thumbnail rendering

◆ bWorldIsPaused

bool FSceneViewFamily::bWorldIsPaused

GetWorld->IsPaused() && !Simulate Simulate is excluded as the camera can move which invalidates motionblur

◆ DebugDPIScale

float FSceneViewFamily::DebugDPIScale = 1.0f

DPI scale to be used for debugging font.

◆ DebugViewShaderMode

EDebugViewShaderMode FSceneViewFamily::DebugViewShaderMode = DVSM_MAX
mutable

◆ DisplayInternalsData

FDisplayInternalsData FSceneViewFamily::DisplayInternalsData

◆ EngineShowFlags

FEngineShowFlags FSceneViewFamily::EngineShowFlags

The new show flags for the views (meant to replace the old system).

◆ ExposureSettings

FExposureSettings FSceneViewFamily::ExposureSettings

Editor setting to allow designers to override the automatic expose. 0:Automatic, following indices: -4 .. +4

◆ FrameCounter

uint64 FSceneViewFamily::FrameCounter = 0

Copy from main thread GFrameCounter to be accessible on render thread side. GFrameCounter is incremented once per engine tick, so multi views of the same frame have the same value.

◆ FrameNumber

uint32 FSceneViewFamily::FrameNumber

Copy from main thread GFrameNumber to be accessible on render thread side. UINT_MAX before CreateSceneRenderer() or BeginRenderingViewFamily() was called

◆ LandscapeLODOverride

int8 FSceneViewFamily::LandscapeLODOverride

◆ ProfileDescription

FString FSceneViewFamily::ProfileDescription

◆ ProfileSceneRenderTime

float* FSceneViewFamily::ProfileSceneRenderTime = nullptr

◆ RenderTarget

const FRenderTarget* FSceneViewFamily::RenderTarget

The render target which the views are being rendered to.

◆ RenderTargetDepth

const FRenderTarget* FSceneViewFamily::RenderTargetDepth

◆ Scene

FSceneInterface* FSceneViewFamily::Scene

The scene being viewed.

◆ SceneCaptureCompositeMode

ESceneCaptureCompositeMode FSceneViewFamily::SceneCaptureCompositeMode

When enabled, the scene capture will composite into the render target instead of overwriting its contents.

◆ SceneCaptureSource

ESceneCaptureSource FSceneViewFamily::SceneCaptureSource

Which component of the scene rendering should be output to the final render target. If SCS_FinalColorLDR this indicates do nothing.

◆ SecondaryScreenPercentageMethod

ESecondaryScreenPercentageMethod FSceneViewFamily::SecondaryScreenPercentageMethod

◆ SecondaryViewFraction

float FSceneViewFamily::SecondaryViewFraction

Secondary view fraction to support High DPI monitor still with same primary screen percentage range for temporal upscale to test content consistently in editor no mater of the HighDPI scale.

◆ StreamingViewOrigins

TArray<FVector, TInlineAllocator<2> > FSceneViewFamily::StreamingViewOrigins

Views' origin of the (optional) streaming views. Used for prefetching rendering data ahead of time.

◆ Time

FGameTime FSceneViewFamily::Time

The current time.

◆ ViewExtensions

TArray<TSharedRef<class ISceneViewExtension, ESPMode::ThreadSafe> > FSceneViewFamily::ViewExtensions

Extensions that can modify view parameters on the render thread.

◆ ViewMode

EViewModeIndex FSceneViewFamily::ViewMode

View mode of the family.

◆ ViewModeParam

int32 FSceneViewFamily::ViewModeParam

◆ ViewModeParamName

FName FSceneViewFamily::ViewModeParamName

◆ Views

TArray<const FSceneView*> FSceneViewFamily::Views

The views which make up the family.

◆ VirtualTextureFeedbackFactor

int32 FSceneViewFamily::VirtualTextureFeedbackFactor

Size in pixels of a virtual texture feedback tile.


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