FSceneInterface

An interface to the private scene manager implementation of a scene.

Windows
MacOS
Linux

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/SceneInterface.h

Include

#include "SceneInterface.h"

Syntax

class FSceneInterface

Remarks

An interface to the private scene manager implementation of a scene. Use GetRendererModule().AllocateScene to create. The scene

Variables

Name Description

Protected variable

ERHIFeatureLeve...

 

FeatureLevel

This scene's feature level

Constructors

Name Description

Public function

FSceneInterface

(
    ERHIFeatureLevel::Type InFeatureLev...
)

Destructors

Name Description

Protected function Virtual

~FSceneInterface()

Functions

Name Description

Public function

void

 

AddAtmosphericFog

(
    UAtmosphericFogComponent* FogC...
)

Adds a new atmospheric fog component to the scene

Public function

void

 

AddDecal

(
    UDecalComponent* Component
)

Adds a new decal component to the scene

Public function

void

 

AddExponentialHeightFog

Adds a new exponential height fog component to the scene

Public function

void

 

AddInvisibleLight

(
    ULightComponent* Light
)

Adds a new light component to the scene which is currently invisible, but needed for editor previewing

Public function

void

 

AddLight

(
    ULightComponent* Light
)

Adds a new light component to the scene

Public function Virtual

bool

 

AddPixelInspectorRequest

(
    FPixelInspectorRequest* PixelI...
)

Add a pixel inspector request.

Public function Virtual

void

 

AddPlanarReflection

(
    UPlanarReflectionComponent* Co...
)

Public function Virtual

void

 

AddPrecomputedLightVolume

(
    const FPrecomputedLightVolume*...
)

Public function Virtual

void

 

AddPrecomputedVolumetricLightmap

(
    const FPrecomputedVolumetricLightma...
)

Public function

void

 

AddPrimitive

(
    UPrimitiveComponent* Primitive
)

Adds a new primitive component to the scene

Public function Virtual

void

 

AddReflectionCapture

(
    UReflectionCaptureComponent* C...
)

Adds a reflection capture to the scene.

Public function Virtual

void

 

AddRuntimeVirtualTexture

Add a runtime virtual texture object to the scene.

Public function

void

 

AddSpeedTreeWind

(
    FVertexFactory* VertexFactory,
    const UStaticMesh* StaticMesh
)

Adds a SpeedTree wind computation object to the scene.

Public function

void

 

AddWindSource

Adds a wind source component to the scene.

Public function Virtual

void

 

AllocateReflectionCaptures

(
    const TArray< UReflectionCaptureCom...,
    const TCHAR* CaptureReason,
    bool bVerifyOnlyCapturing
)

Allocates reflection captures in the scene's reflection cubemap array and updates them by recapturing the scene.

Public function Virtual

void

 

ApplyWorldOffset

(
    FVector InOffset
)

Shifts scene data by provided delta Called on world origin changes

Public function

void

 

DisableSkyLight

(
    FSkyLightSceneProxy* Light
)

Public function Virtual Const

void

 

DumpUnbuiltLightInteractions

(
    FOutputDevice& Ar
)

Public function Virtual Const

void

 

Export

(
    FArchive& Ar
)

Exports the scene.

Public function

FAtmospheric...

 

GetAtmosphericFogSceneInfo()

Returns the scene's FAtmosphericFogSceneInfo if it exists

Public function Const

void

 

GetDirectionalWindParameters

(
    FVector& OutDirection,
    float& OutSpeed,
    float& OutMinGustAmt,
    float& OutMaxGustAmt
)

Same as GetWindParameters, but ignores point wind sources.

Public function Const

ERHIFeatureL...

 

GetFeatureLevel()

Public function Virtual Const

uint32

 

GetFrameNumber()

Public function

FFXSystemInt...

 

GetFXSystem()

Get the FX system associated with the scene.

Public function Virtual

FGPUSkinCach...

 

GetGPUSkinCache()

Gets the GPU Skin Cache system associated with the scene.

Public function Virtual Const

bool

 

GetPreviousLocalToWorld

(
    const FPrimitiveSceneInfo* Pri...,
    FMatrix& OutPreviousLocalToWorld
)

Get the primitive previous local to world (used for motion blur).

Public function

FPrimitiveSc...

 

GetPrimitiveSceneInfo

(
    int32 PrimitiveIndex
)

Finds the primitive with the associated component id.

Public function Virtual Const

void

 

GetPrimitiveUniformShaderParameters_RenderThread

(
    const FPrimitiveSceneInfo* Pri...,
    bool& bHasPrecomputedVolumetricLig...,
    FMatrix& PreviousLocalToWorld,
    int32& SingleCaptureIndex,
    bool& OutputVelocity
)

Retrieves primitive uniform shader parameters that are internal to the renderer.

Public function Virtual

void

 

GetReflectionCaptureData

(
    UReflectionCaptureComponent* C...,
    FReflectionCaptureData& OutCapture...
)

Reads back reflection capture data from the GPU.

Public function Const

void

 

GetRelevantLights

(
    UPrimitiveComponent* Primitive,
    TArray< const ULightComponent*...
)

Retrieves the lights interacting with the passed in primitive and adds them to the out array.

Public function Virtual

FScene *

 

GetRenderScene()

Return the scene to be used for rendering.

Public function Virtual Const

TArray< FPri...

 

GetScenePrimitiveComponentIds()

Returns the FPrimitiveComponentId for all primitives in the scene

Public function Const

EShaderPlatf...

 

GetShaderPlatform()

Public function Static

EShadingPath

 

GetShadingPath

(
    ERHIFeatureLevel::Type InFeatureLev...
)

Public function Const

EShadingPath

 

GetShadingPath()

Public function Const

FRHIUniformB...

 

GetSpeedTreeUniformBuffer

(
    const FVertexFactory* VertexFa...
)

Looks up the SpeedTree uniform buffer for the passed in vertex factory.

Public function Const

void

 

GetWindParameters

(
    const FVector& Position,
    FVector& OutDirection,
    float& OutSpeed,
    float& OutMinGustAmt,
    float& OutMaxGustAmt
)

Accesses wind parameters. XYZ will contain wind direction * Strength, W contains wind speed.

Public function Const

void

 

GetWindParameters_GameThread

(
    const FVector& Position,
    FVector& OutDirection,
    float& OutSpeed,
    float& OutMinGustAmt,
    float& OutMaxGustAmt
)

Accesses wind parameters safely for game thread applications

Public function Const

const TArray...

 

GetWindSources_RenderThread()

Accesses the wind source list. Must be called in the rendering thread.

Public function Const

UWorld *

 

GetWorld()

Get the optional UWorld that is associated with this scene

Public function Const

bool

 

HasAnyLights()

Public function Virtual Const

bool

 

HasPrecomputedVolumetricLightmap_RenderThread()

Public function Virtual

void

 

IncrementFrameNumber()

Public function Virtual

bool

 

InitializePixelInspector

(
    FRenderTarget* BufferFinalColo...,
    FRenderTarget* BufferSceneColo...,
    FRenderTarget* BufferDepth,
    FRenderTarget* BufferHDR,
    FRenderTarget* BufferA,
    FRenderTarget* BufferBCDE,
    int32 BufferIndex
)

Initialize the pixel inspector buffers.

Public function Virtual Const

bool

 

IsEditorScene()

Public function Virtual

void

 

OnLevelAddedToWorld

(
    FName InLevelName,
    UWorld* InWorld,
    bool bIsLightingScenario
)

Notification that level was added to a world

Public function Virtual

void

 

OnLevelRemovedFromWorld

(
    UWorld* InWorld,
    bool bIsLightingScenario
)

Public function

void

 

Release()

Release this scene and remove it from the rendering thread

Public function

void

 

ReleasePrimitive

(
    UPrimitiveComponent* Primitive
)

Called when a primitive is being unregistered and will not be immediately re-registered.

Public function Virtual

void

 

ReleaseReflectionCubemap

(
    UReflectionCaptureComponent* C...
)

Public function

void

 

RemoveAtmosphericFog

(
    UAtmosphericFogComponent* FogC...
)

Removes a atmospheric fog component from the scene

Public function

void

 

RemoveAtmosphericFogResource_RenderThread

(
    FRenderResource* FogResource
)

Removes a atmospheric fog resource from the scene...this is just a double check to make sure we don't have stale stuff hanging around; should already be gone.

Public function

void

 

RemoveDecal

(
    UDecalComponent* Component
)

Removes a decal component from the scene

Public function

void

 

RemoveExponentialHeightFog

Removes a exponential height fog component from the scene

Public function

void

 

RemoveLight

(
    ULightComponent* Light
)

Removes a light component from the scene

Public function Virtual

void

 

RemovePlanarReflection

(
    UPlanarReflectionComponent* Co...
)

Public function Virtual

void

 

RemovePrecomputedLightVolume

(
    const FPrecomputedLightVolume*...
)

Public function Virtual

void

 

RemovePrecomputedVolumetricLightmap

(
    const FPrecomputedVolumetricLightma...
)

Public function

void

 

RemovePrimitive

(
    UPrimitiveComponent* Primitive
)

Removes a primitive component from the scene

Public function Virtual

void

 

RemoveReflectionCapture

(
    UReflectionCaptureComponent* C...
)

Removes a reflection capture from the scene.

Public function Virtual

void

 

RemoveRuntimeVirtualTexture

Removes a runtime virtual texture object from the scene.

Public function

void

 

RemoveSpeedTreeWind_RenderThread

(
    FVertexFactory* VertexFactory,
    const UStaticMesh* StaticMesh
)

Removes a SpeedTree wind computation object to the scene.

Public function

void

 

RemoveWindSource

Removes a wind source component from the scene.

Public function Const

bool

 

RequiresHitProxies()

Indicates if hit proxies should be processed by this scene

Public function

void

 

SetFXSystem

(
    FFXSystemInterface* InFXSystem
)

Sets the FX system associated with the scene.

Public function Virtual

void

 

SetPrecomputedVisibility

(
    const FPrecomputedVisibilityHandler...
)

Sets the precomputed visibility handler for the scene, or NULL to clear the current one.

Public function Virtual

void

 

SetPrecomputedVolumeDistanceField

(
    const FPrecomputedVolumeDistanceFie...
)

Sets the precomputed volume distance field for the scene, or NULL to clear the current one.

Public function

void

 

SetSkyLight

(
    FSkyLightSceneProxy* Light
)

Public function Virtual

void

 

StartFrame()

Public function

void

 

UpdateCustomPrimitiveData

(
    UPrimitiveComponent* Primitive
)

Updates the custom primitive data of a primitive component which has already been added to the scene.

Public function

void

 

UpdateDecalFadeInTime

(
    UDecalComponent* Component
)

Public function

void

 

UpdateDecalFadeOutTime

(
    UDecalComponent* Component
)

Public function

void

 

UpdateDecalTransform

(
    UDecalComponent* Component
)

Updates the transform of a decal which has already been added to the scene.

Public function

void

 

UpdateLightColorAndBrightness

(
    ULightComponent* Light
)

Updates the color and brightness of a light which has already been added to the scene.

Public function

void

 

UpdateLightTransform

(
    ULightComponent* Light
)

Updates the transform of a light which has already been added to the scene.

Public function Virtual

void

 

UpdateParameterCollections

(
    const TArray< class FMaterialParame...
)

Updates the scene's list of parameter collection id's and their uniform buffers.

Public function Virtual

void

 

UpdatePlanarReflectionContents

(
    UPlanarReflectionComponent* Ca...,
    FSceneRenderer& MainSceneRenderer
)

Public function Virtual

void

 

UpdatePlanarReflectionTransform

(
    UPlanarReflectionComponent* Co...
)

Public function

void

 

UpdatePrimitiveAttachment

(
    UPrimitiveComponent* Primitive
)

Updates primitive attachment state.

Public function Virtual

void

 

UpdatePrimitiveDistanceFieldSceneData_GameThread

(
    UPrimitiveComponent* Primitive
)

Updates distance field scene data (transforms, uv scale, self-shadow bias, etc.) but doesn't change allocation in the atlas

Public function

void

 

UpdatePrimitiveTransform

(
    UPrimitiveComponent* Primitive
)

Updates the transform of a primitive which has already been added to the scene.

Public function Virtual

void

 

UpdateReflectionCaptureTransform

(
    UReflectionCaptureComponent* C...
)

Updates a reflection capture's transform, and then re-captures the scene.

Public function Virtual

void

 

UpdateSceneCaptureContents

(
    USceneCaptureComponent2D* Capt...
)

Updates the contents of the given scene capture by rendering the scene.

Public function Virtual

void

 

UpdateSceneCaptureContents

(
    USceneCaptureComponentCube* Ca...
)

Public function Virtual

void

 

UpdateSceneSettings

(
    AWorldSettings* WorldSettings
)

Public function Virtual

void

 

UpdateSkyCaptureContents

(
    const USkyLightComponent* Capt...,
    bool bCaptureEmissiveOnly,
    UTextureCube* SourceCubemap,
    FTexture* OutProcessedTexture,
    float& OutAverageBrightness,
    FSHVectorRGB3& OutIrradianceEnviro...,
    TArray< FFloat16Color >* OutRa...
)

Updates the contents of the given sky capture by rendering the scene.

Public function

void

 

UpdateSpeedTreeWind

(
    double CurrentTime
)

Ticks the SpeedTree wind object and updates the uniform buffer.

Public function Virtual

void

 

UpdateStaticDrawLists()

Updates all static draw lists.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback