Navigation
API > API/Runtime > API/Runtime/Engine
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
| Type | Name | Description | |
|---|---|---|---|
| ERHIFeatureLevel::Type | FeatureLevel | This scene's feature level |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FSceneInterface
(
ERHIFeatureLevel::Type InFeatureLevel |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AddCustomRenderPass
(
const FSceneViewFamily* ViewFamily, |
Enqueues a new custom render pass to execute the next time this scene is rendered by ANY scene renderer. | |
| void | AddDecal
(
UDecalComponent* Component |
Adds a new decal component to the scene | |
| void | AddExponentialHeightFog
(
UExponentialHeightFogComponent* FogComponent |
Adds a new exponential height fog component to the scene | |
| void | AddHairStrands
(
FHairStrandsInstance* Proxy |
Adds a hair strands proxy to the scene | |
| void | AddInvisibleLight
(
ULightComponent* Light |
Adds a new light component to the scene which is currently invisible, but needed for editor previewing | |
| void | AddLight
(
ULightComponent* Light |
Adds a new light component to the scene | |
| void | AddLocalFogVolume
(
FLocalFogVolumeSceneProxy* FogProxy |
Adds a new local height fog component to the scene | |
| void | AddLumenSceneCard
(
ULumenSceneCardComponent* LumenSceneCardComponent |
||
| bool | AddPixelInspectorRequest
(
FPixelInspectorRequest* PixelInspectorRequest |
Add a pixel inspector request. | |
| void | AddPlanarReflection
(
UPlanarReflectionComponent* Component |
||
| void | AddPrecomputedLightVolume
(
const FPrecomputedLightVolume* Volume |
||
| void | AddPrecomputedVolumetricLightmap
(
const FPrecomputedVolumetricLightmap* Volume, |
||
| void | AddPrimitive
(
FPrimitiveSceneDesc* Primitive |
FPrimtiveDesc version for primitive/light scene interactions. | |
| void | AddPrimitive
(
UPrimitiveComponent* Primitive |
Adds a new primitive component to the scene | |
| void | AddReflectionCapture
(
UReflectionCaptureComponent* Component |
Adds a reflection capture to the scene. | |
| void | AddRuntimeVirtualTexture
(
URuntimeVirtualTextureComponent* Component |
Add a runtime virtual texture object to the scene. | |
| void | AddSkyAtmosphere
(
FSkyAtmosphereSceneProxy* SkyAtmosphereSceneProxy, |
Adds the unique volumetric cloud component to the scene | |
| void | AddSparseVolumeTextureViewer
(
FSparseVolumeTextureViewerSceneProxy* SVTV |
||
| void | AddSpeedTreeWind
(
FVertexFactory* VertexFactory, |
Adds a SpeedTree wind computation object to the scene. | |
| void | AddVolumetricCloud
(
FVolumetricCloudSceneProxy* VolumetricCloudSceneProxy |
Adds the unique volumetric cloud component to the scene | |
| void | AddWindSource
(
UWindDirectionalSourceComponent* WindComponent |
Adds a wind source component to the scene. | |
| void | AllocateAndCaptureFrameSkyEnvMap
(
FRDGBuilder& GraphBuilder, |
||
| void | AllocateAndCaptureFrameSkyEnvMap
(
FRDGBuilder& GraphBuilder, |
||
| void | AllocateReflectionCaptures
(
const TArray< UReflectionCaptureComponent* >& NewCaptures, |
||
| void | AllocateReflectionCaptures
(
const TArray< UReflectionCaptureComponent* >& NewCaptures, |
Allocates reflection captures in the scene's reflection cubemap array and updates them by recapturing the scene. | |
| void | ApplyWorldOffset
(
const FVector& InOffset |
Shifts scene data by provided delta Called on world origin changes | |
| void | BatchAddPrimitives
(
TArrayView< UPrimitiveComponent* > InPrimitives |
Batched versions of Add / Remove / ReleasePrimitive, for improved CPU performance | |
| void | BatchAddPrimitives
(
TArrayView< FPrimitiveSceneDesc* > InPrimitives |
||
| void | BatchReleasePrimitives
(
TArrayView< UPrimitiveComponent* > InPrimitives |
||
| void | BatchReleasePrimitives
(
TArrayView< FPrimitiveSceneDesc* > InPrimitives |
||
| void | BatchRemovePrimitives
(
TArrayView< FPrimitiveSceneDesc* > InPrimitives |
||
| void | BatchRemovePrimitives
(
TArrayView< UPrimitiveComponent* > InPrimitives |
||
| void | BatchUpdateDecals
(
TArray< FDeferredDecalUpdateParams >&& UpdateParams |
||
| void | DisableSkyLight
(
FSkyLightSceneProxy* Light |
||
| void | |||
| void | EndFrame
(
FRHICommandListImmediate& RHICmdList |
||
| void | Exports the scene. | ||
| void | |||
| void | GetComputeTaskWorkers
(
TArray< class IComputeTaskWorker* >& OutWorkers |
Gets the compute work scheduler objects associated with the scene. | |
| void | GetDirectionalWindParameters
(
FVector& OutDirection, |
Same as GetWindParameters, but ignores point wind sources. | |
| ERHIFeatureLevel::Type | |||
| uint32 | |||
| FFXSystemInterface * | GetFXSystem () |
Get the FX system associated with the scene. | |
| FGPUSkinCache * | Gets the GPU Skin Cache system associated with the scene. | ||
| void | GetLightIESAtlasSlot
(
const FLightSceneProxy* Proxy, |
Return the IES profile index corresponding to the local light proxy | |
| bool | GetPreviousLocalToWorld
(
const FPrimitiveSceneInfo* PrimitiveSceneInfo, |
Get the primitive previous local to world (used for motion blur). | |
| FPrimitiveSceneInfo * | GetPrimitiveSceneInfo
(
const FPersistentPrimitiveIndex& PersistentPrimitiveIndex |
||
| FPrimitiveSceneInfo * | GetPrimitiveSceneInfo
(
FPrimitiveComponentId PrimitiveId |
Finds the primitive with the associated component id. | |
| FPrimitiveSceneInfo * | GetPrimitiveSceneInfo
(
int32 PrimitiveIndex |
Finds the primitive with the associated index into the primitive array. | |
| TConstArrayView< FPrimitiveSceneProxy * > | |||
| void | GetPrimitiveUniformShaderParameters_RenderThread
(
const FPrimitiveSceneInfo* PrimitiveSceneInfo, |
Retrieves primitive uniform shader parameters that are internal to the renderer. | |
| FRayTracingDynamicGeometryCollection * | |||
| FRayTracingSkinnedGeometryUpdateQueue * | |||
| void | GetRectLightAtlasSlot
(
const FRectLightSceneProxy* Proxy, |
Return the rect. light atlas slot information corresponding to the rect light proxy | |
| void | GetReflectionCaptureData
(
UReflectionCaptureComponent* Component, |
Reads back reflection capture data from the GPU. | |
| void | GetRelevantLights
(
UPrimitiveComponent* Primitive, |
Retrieves the lights interacting with the passed in primitive and adds them to the out array. | |
| const FScene * | |||
| FScene * | Return the scene to be used for rendering. | ||
| void | GetRuntimeVirtualTextureHidePrimitiveMask
(
uint8& bHideMaskEditor, |
Get the bitmasks describing which virtual texture objects will hide the associated primitives. | |
| TConstArrayView< FPrimitiveComponentId > | Returns the FPrimitiveComponentId for all primitives in the scene | ||
| EShaderPlatform | |||
| EShadingPath | |||
| EShadingPath | GetShadingPath
(
ERHIFeatureLevel::Type InFeatureLevel |
||
| FSkyAtmosphereRenderSceneInfo * | Returns the scene's unique info if it exists | ||
| const FSkyAtmosphereRenderSceneInfo * | |||
| FRHIUniformBuffer * | GetSpeedTreeUniformBuffer
(
const FVertexFactory* VertexFactory |
Looks up the SpeedTree uniform buffer for the passed in vertex factory. | |
| FVolumetricCloudRenderSceneInfo * | Returns the scene's unique info if it exists | ||
| const FVolumetricCloudRenderSceneInfo * | |||
| void | GetWindParameters
(
const FVector& Position, |
Accesses wind parameters. XYZ will contain wind direction * Strength, W contains wind speed. | |
| void | GetWindParameters_GameThread
(
const FVector& Position, |
Accesses wind parameters safely for game thread applications | |
| const TArray< class FWindSourceSceneProxy * > & | Accesses the wind source list. Must be called in the rendering thread. | ||
| UWorld * | GetWorld () |
Get the optional UWorld that is associated with this scene | |
| bool | |||
| bool | HasAnyLights () |
||
| bool | |||
| bool | |||
| bool | |||
| bool | |||
| void | |||
| bool | InitializePixelInspector
(
FRenderTarget* BufferFinalColor, |
Initialize the pixel inspector buffers. | |
| void | InvalidateLumenSurfaceCache_GameThread
(
UPrimitiveComponent* Component |
Invalidates Lumen surface cache and forces it to be refreshed. | |
| void | Mark scene as needing to restart path tracer accumulation. | ||
| void | InvalidateRuntimeVirtualTexture
(
URuntimeVirtualTextureComponent* Component, |
Invalidates pages in a runtime virtual texture object. | |
| bool | |||
| void | OnLevelAddedToWorld
(
const FName& InLevelName, |
Notification that level was added to a world | |
| void | OnLevelRemovedFromWorld
(
const FName& InLevelName, |
||
| void | |||
| void | ProcessAndRenderIlluminanceMeter
(
FRDGBuilder& GraphBuilder, |
||
| void | RefreshNaniteRasterBins
(
FPrimitiveSceneInfo& PrimitiveSceneInfo |
||
| void | Release () |
Release this scene and remove it from the rendering thread | |
| void | ReleasePrimitive
(
FPrimitiveSceneDesc* Primitive |
||
| void | ReleasePrimitive
(
UPrimitiveComponent* Primitive |
Called when a primitive is being unregistered and will not be immediately re-registered. | |
| void | ReleaseReflectionCubemap
(
UReflectionCaptureComponent* CaptureComponent |
||
| void | |||
| void | RemoveDecal
(
UDecalComponent* Component |
Removes a decal component from the scene | |
| void | RemoveExponentialHeightFog
(
UExponentialHeightFogComponent* FogComponent |
Removes a exponential height fog component from the scene | |
| void | RemoveHairStrands
(
FHairStrandsInstance* Proxy |
Removes a hair strands proxy to the scene | |
| void | RemoveLight
(
ULightComponent* Light |
Removes a light component from the scene | |
| void | RemoveLocalFogVolume
(
FLocalFogVolumeSceneProxy* FogProxy |
Removes a local height fog component from the scene | |
| void | RemoveLumenSceneCard
(
ULumenSceneCardComponent* LumenSceneCardComponent |
||
| void | RemovePlanarReflection
(
UPlanarReflectionComponent* Component |
||
| void | RemovePrecomputedLightVolume
(
const FPrecomputedLightVolume* Volume |
||
| void | RemovePrecomputedVolumetricLightmap
(
const FPrecomputedVolumetricLightmap* Volume |
||
| void | RemovePrimitive
(
UPrimitiveComponent* Primitive |
Removes a primitive component from the scene | |
| void | RemovePrimitive
(
FPrimitiveSceneDesc* Primitive |
||
| void | RemoveReflectionCapture
(
UReflectionCaptureComponent* Component |
Removes a reflection capture from the scene. | |
| void | RemoveRuntimeVirtualTexture
(
URuntimeVirtualTextureComponent* Component |
Removes a runtime virtual texture object from the scene. | |
| void | RemoveSkyAtmosphere
(
FSkyAtmosphereSceneProxy* SkyAtmosphereSceneProxy |
Removes the unique volumetric cloud component to the scene | |
| void | RemoveSparseVolumeTextureViewer
(
FSparseVolumeTextureViewerSceneProxy* SVTV |
||
| void | RemoveSpeedTreeWind_RenderThread
(
FVertexFactory* VertexFactory, |
Removes a SpeedTree wind computation object to the scene. | |
| void | RemoveVolumetricCloud
(
FVolumetricCloudSceneProxy* VolumetricCloudSceneProxy |
Removes the unique volumetric cloud component to the scene | |
| void | RemoveWindSource
(
UWindDirectionalSourceComponent* WindComponent |
Removes a wind source component from the scene. | |
| bool | RequestGPUSceneUpdate
(
FPrimitiveSceneInfo& PrimitiveSceneInfo, |
||
| bool | RequestUniformBufferUpdate
(
FPrimitiveSceneInfo& PrimitiveSceneInfo |
||
| bool | Indicates if hit proxies should be processed by this scene | ||
| void | Reset the physics field scene proxy | ||
| void | ResetReflectionCaptures
(
bool bOnlyIfOOM |
Resets reflection capture data to allow it to be rebuilt from scratch. | |
| void | SetFXSystem
(
FFXSystemInterface* InFXSystem |
Sets the FX system associated with the scene. | |
| void | SetPhysicsField
(
FPhysicsFieldSceneProxy* PhysicsFieldSceneProxy |
Set the physics field scene proxy to the scene | |
| void | SetPrecomputedVisibility
(
const FPrecomputedVisibilityHandler* PrecomputedVisibilityHandler |
Sets the precomputed visibility handler for the scene, or NULL to clear the current one. | |
| void | SetPrecomputedVolumeDistanceField
(
const FPrecomputedVolumeDistanceField* PrecomputedVolumeDistanceField |
Sets the precomputed volume distance field for the scene, or NULL to clear the current one. | |
| void | SetSkyLight
(
FSkyLightSceneProxy* Light |
||
| void | Set the shader print/debug cvars to be able to show the fields | ||
| void | StartFrame () |
||
| void | StartUpdatePrimitiveTransform
(
int32 NumPrimitives |
||
| void | UpdateAllPrimitiveSceneInfos
(
FRHICommandListImmediate& RHICmdList |
||
| void | UpdateAllPrimitiveSceneInfos
(
FRDGBuilder& GraphBuilder, |
Updates all primitive scene info additions, remobals and translation changes | |
| void | UpdateCachedRayTracingState
(
FPrimitiveSceneProxy* SceneProxy |
||
| void | UpdateCachedRenderStates
(
FPrimitiveSceneProxy* SceneProxy |
Update render states that possibly cached inside renderer, like mesh draw commands. | |
| void | UpdateCustomPrimitiveData
(
FPrimitiveSceneDesc* Primitive, |
||
| void | UpdateCustomPrimitiveData
(
UPrimitiveComponent* Primitive |
Updates the custom primitive data of a primitive component which has already been added to the scene. | |
| void | UpdateDecalFadeInTime
(
UDecalComponent* Component |
||
| void | UpdateDecalFadeOutTime
(
UDecalComponent* Component |
||
| void | UpdateDecalTransform
(
UDecalComponent* Component |
Updates the transform of a decal which has already been added to the scene. | |
| void | |||
| void | UpdateInstanceCullDistance
(
UPrimitiveComponent* Primitive, |
||
| void | UpdateLightColorAndBrightness
(
ULightComponent* Light |
Updates the color and brightness of a light which has already been added to the scene. | |
| void | UpdateLightTransform
(
ULightComponent* Light |
Updates the transform of a light which has already been added to the scene. | |
| void | UpdateLumenSceneCardTransform
(
ULumenSceneCardComponent* LumenSceneCardComponent |
||
| void | UpdateParameterCollections
(
const TArray< class FMaterialParameterCollectionInstanceResource* >& InParameterCollections |
Updates the scene's list of parameter collection id's and their uniform buffers. | |
| void | UpdatePhysicsField
(
FRHICommandListImmediate& RHICmdList, |
||
| void | UpdatePhysicsField
(
FRDGBuilder& GraphBuilder, |
Reset the physics field scene proxy | |
| void | UpdatePlanarReflectionContents
(
UPlanarReflectionComponent* CaptureComponent, |
||
| void | UpdatePlanarReflectionTransform
(
UPlanarReflectionComponent* Component |
||
| void | UpdatePrimitiveAttachment
(
UPrimitiveComponent* Primitive |
Updates primitive attachment state. | |
| void | Updates distance field scene data (transforms, uv scale, self-shadow bias, etc.) but doesn't change allocation in the atlas | ||
| void | UpdatePrimitiveDrawDistance
(
UPrimitiveComponent* Primitive, |
||
| void | UpdatePrimitiveInstances
(
FInstancedStaticMeshSceneDesc* Primitive |
||
| void | UpdatePrimitiveInstances
(
UInstancedStaticMeshComponent* Primitive |
Updates all the instances that have been updated through the InstanceUpdateCmdBuffer on the UPrimitiveComponent. | |
| void | UpdatePrimitiveOcclusionBoundsSlack
(
UPrimitiveComponent* Primitive, |
||
| void | UpdatePrimitiveSelectedState_RenderThread
(
const FPrimitiveSceneInfo* PrimitiveSceneInfo, |
Updates the selected state values that might be cached inside the renderer | |
| void | UpdatePrimitiveTransform
(
FPrimitiveSceneDesc* Primitive |
||
| void | UpdatePrimitiveTransform
(
UPrimitiveComponent* Primitive |
Updates the transform of a primitive which has already been added to the scene. | |
| void | UpdatePrimitiveVelocityState_RenderThread
(
FPrimitiveSceneInfo* PrimitiveSceneInfo, |
Updates the velocity state values that might be cached inside the renderer | |
| void | UpdateReflectionCaptureTransform
(
UReflectionCaptureComponent* Component |
Updates a reflection capture's transform, and then re-captures the scene. | |
| void | UpdateSceneCaptureContents
(
USceneCaptureComponentCube* CaptureComponent |
||
| void | UpdateSceneCaptureContents
(
USceneCaptureComponent2D* CaptureComponent |
Updates the contents of the given scene capture by rendering the scene. | |
| void | UpdateSceneSettings
(
AWorldSettings* WorldSettings |
||
| void | UpdateSkyCaptureContents
(
const USkyLightComponent* CaptureComponent, |
Updates the contents of the given sky capture by rendering the scene. | |
| void | UpdateSpeedTreeWind
(
double CurrentTime |
Ticks the SpeedTree wind object and updates the uniform buffer. | |
| void | Updates all static draw lists. | ||
| void | UpdateWindSource
(
UWindDirectionalSourceComponent* WindComponent |
Update a wind source component from the scene. | |
| void | ValidateSkyLightRealTimeCapture
(
FRDGBuilder& GraphBuilder, |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FCustomRenderPassRendererInput | Contains settings used to construct scene view for custom render pass during the renderer construction. |