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

#include <ScenePrivate.h>

Public Member Functions

 FReflectionEnvironmentSceneData (ERHIFeatureLevel::Type InFeatureLevel)
 
void SetGameThreadTrackingData (int32 MaxAllocatedCubemaps, int32 CaptureSize, int32 DesiredCaptureSize)
 
bool DoesAllocatedDataNeedUpdate (int32 DesiredMaxCubemaps, int32 DesiredCaptureSize) const
 
void ResizeCubemapArrayGPU (uint32 InMaxCubemaps, int32 InCubemapSize)
 
void Reset (FScene *Scene)
 

Public Attributes

bool bRegisteredReflectionCapturesHasChanged
 
bool AllocatedReflectionCaptureStateHasChanged
 
TArray< FReflectionCaptureProxy * > RegisteredReflectionCaptures
 
TArray< FSphereRegisteredReflectionCapturePositionAndRadius
 
FReflectionEnvironmentCubemapArray CubemapArray
 
FReflectionCaptureCache AllocatedReflectionCaptureState
 
TBitArray CubemapArraySlotsUsed
 
TArray< FReflectionCaptureSortDataSortedCaptures
 
int32 NumBoxCaptures
 
int32 NumSphereCaptures
 
TUniformBufferRef< FReflectionCaptureShaderDataReflectionCaptureUniformBuffer
 
TUniformBufferRef< FMobileReflectionCaptureShaderDataMobileReflectionCaptureUniformBuffer
 
TSparseArray< UReflectionCaptureComponent * > AllocatedReflectionCapturesGameThread
 
int32 MaxAllocatedReflectionCubemapsGameThread
 
int32 ReflectionCaptureSizeGameThread
 
int32 DesiredReflectionCaptureSizeGameThread
 

Detailed Description

Scene state used to manage the reflection environment feature.

Constructor & Destructor Documentation

◆ FReflectionEnvironmentSceneData()

FReflectionEnvironmentSceneData::FReflectionEnvironmentSceneData ( ERHIFeatureLevel::Type  InFeatureLevel)
inline

Member Function Documentation

◆ DoesAllocatedDataNeedUpdate()

bool FReflectionEnvironmentSceneData::DoesAllocatedDataNeedUpdate ( int32  DesiredMaxCubemaps,
int32  DesiredCaptureSize 
) const

Do the resources on the GPU match our desired state? If not, reallocation will be necessary.

◆ Reset()

void FReflectionEnvironmentSceneData::Reset ( FScene Scene)

Resets the structure to empty, useful if you want to shrink the allocation.

◆ ResizeCubemapArrayGPU()

void FReflectionEnvironmentSceneData::ResizeCubemapArrayGPU ( uint32  InMaxCubemaps,
int32  InCubemapSize 
)

◆ SetGameThreadTrackingData()

void FReflectionEnvironmentSceneData::SetGameThreadTrackingData ( int32  MaxAllocatedCubemaps,
int32  CaptureSize,
int32  DesiredCaptureSize 
)

Set Data necessary to determine if GPU resources will need future updates

Member Data Documentation

◆ AllocatedReflectionCapturesGameThread

TSparseArray<UReflectionCaptureComponent*> FReflectionEnvironmentSceneData::AllocatedReflectionCapturesGameThread

Game thread list of reflection components that have been allocated in the cubemap array. These are not necessarily all visible or being rendered, but their scene state is stored in the cubemap array.

◆ AllocatedReflectionCaptureState

FReflectionCaptureCache FReflectionEnvironmentSceneData::AllocatedReflectionCaptureState

Rendering thread map from component to scene state. This allows storage of RT state that needs to persist through a component re-register.

◆ AllocatedReflectionCaptureStateHasChanged

bool FReflectionEnvironmentSceneData::AllocatedReflectionCaptureStateHasChanged

True if AllocatedReflectionCaptureState has changed. Allows to update cached single capture id.

◆ bRegisteredReflectionCapturesHasChanged

bool FReflectionEnvironmentSceneData::bRegisteredReflectionCapturesHasChanged

Set to true for one frame whenever RegisteredReflectionCaptures or the transforms of any registered reflection proxy has changed, Which allows one frame to update cached proxy associations.

◆ CubemapArray

FReflectionEnvironmentCubemapArray FReflectionEnvironmentSceneData::CubemapArray

Cubemap array resource which contains the captured scene for each reflection capture. This is indexed by the value of AllocatedReflectionCaptureState.CaptureIndex.

◆ CubemapArraySlotsUsed

TBitArray FReflectionEnvironmentSceneData::CubemapArraySlotsUsed

Rendering bitfield to track cubemap slots used. Needs to kept in sync with AllocatedReflectionCaptureState

◆ DesiredReflectionCaptureSizeGameThread

int32 FReflectionEnvironmentSceneData::DesiredReflectionCaptureSizeGameThread

◆ MaxAllocatedReflectionCubemapsGameThread

int32 FReflectionEnvironmentSceneData::MaxAllocatedReflectionCubemapsGameThread

Game thread tracking of what size this scene has allocated for the cubemap array.

◆ MobileReflectionCaptureUniformBuffer

TUniformBufferRef<FMobileReflectionCaptureShaderData> FReflectionEnvironmentSceneData::MobileReflectionCaptureUniformBuffer

◆ NumBoxCaptures

int32 FReflectionEnvironmentSceneData::NumBoxCaptures

◆ NumSphereCaptures

int32 FReflectionEnvironmentSceneData::NumSphereCaptures

◆ ReflectionCaptureSizeGameThread

int32 FReflectionEnvironmentSceneData::ReflectionCaptureSizeGameThread

Game thread tracking of what size cubemaps are in the cubemap array.

◆ ReflectionCaptureUniformBuffer

TUniformBufferRef<FReflectionCaptureShaderData> FReflectionEnvironmentSceneData::ReflectionCaptureUniformBuffer

◆ RegisteredReflectionCapturePositionAndRadius

TArray<FSphere> FReflectionEnvironmentSceneData::RegisteredReflectionCapturePositionAndRadius

◆ RegisteredReflectionCaptures

TArray<FReflectionCaptureProxy*> FReflectionEnvironmentSceneData::RegisteredReflectionCaptures

The rendering thread's list of visible reflection captures in the scene.

◆ SortedCaptures

TArray<FReflectionCaptureSortData> FReflectionEnvironmentSceneData::SortedCaptures

Sorted scene reflection captures for upload to the GPU.


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