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

#include <ScenePrivate.h>

Public Member Functions

 FDistanceFieldSceneData (FDistanceFieldSceneData &&)
 
 FDistanceFieldSceneData (EShaderPlatform ShaderPlatform)
 
 ~FDistanceFieldSceneData ()
 
void AddPrimitive (FPrimitiveSceneInfo *InPrimitive)
 
void UpdatePrimitive (FPrimitiveSceneInfo *InPrimitive)
 
void RemovePrimitive (FPrimitiveSceneInfo *InPrimitive)
 
void Release ()
 
void VerifyIntegrity ()
 
void ListMeshDistanceFields (bool bDumpAssetStats) const
 
void UpdateDistanceFieldObjectBuffers (FRDGBuilder &GraphBuilder, FRDGExternalAccessQueue &ExternalAccessQueue, FScene *Scene, TArray< FDistanceFieldAssetMipId > &DistanceFieldAssetAdds, TArray< FSetElementId > &DistanceFieldAssetRemoves)
 
void UpdateDistanceFieldAtlas (FRDGBuilder &GraphBuilder, FRDGExternalAccessQueue &ExternalAccessQueue, const FSceneRenderUpdateInputs &SceneUpdateInputs, TArray< FDistanceFieldAssetMipId > &DistanceFieldAssetAdds, TArray< FSetElementId > &DistanceFieldAssetRemoves)
 
bool HasPendingUploads () const
 
bool HasPendingOperations () const
 
bool HasPendingHeightFieldOperations () const
 
bool HasPendingRemovePrimitive (const FPrimitiveSceneInfo *Primitive) const
 
bool HasPendingStreaming () const
 
bool CanUse16BitObjectIndices () const
 
const FDistanceFieldObjectBuffersGetCurrentObjectBuffers () const
 
const FDistanceFieldObjectBuffersGetHeightFieldObjectBuffers () const
 

Public Attributes

int32 NumObjectsInBuffer
 
FDistanceFieldObjectBuffersObjectBuffers
 
FDistanceFieldObjectBuffersHeightFieldObjectBuffers
 
FRDGScatterUploadBuffer UploadHeightFieldDataBuffer
 
FRDGScatterUploadBuffer UploadHeightFieldBoundsBuffer
 
FRDGScatterUploadBuffer UploadDistanceFieldDataBuffer
 
FRDGScatterUploadBuffer UploadDistanceFieldBoundsBuffer
 
TArray< int32IndicesToUpdateInObjectBuffers
 
TSet< int32IndicesToUpdateInObjectBuffersSet
 
TSparseSet< FDistanceFieldAssetState, TFDistanceFieldAssetStateFuncsAssetStateArray
 
TRefCountPtr< FRDGPooledBufferAssetDataBuffer
 
FRDGScatterUploadBuffer AssetDataUploadBuffer
 
TArray< FRHIGPUBufferReadback * > StreamingRequestReadbackBuffers
 
uint32 MaxStreamingReadbackBuffers = 4
 
uint32 ReadbackBuffersWriteIndex = 0
 
uint32 ReadbackBuffersNumPending = 0
 
FGrowOnlySpanAllocator IndirectionTableAllocator
 
TRefCountPtr< FRDGPooledBufferIndirectionTable
 
FRDGAsyncScatterUploadBuffer IndirectionTableUploadBuffer
 
TRefCountPtr< IPooledRenderTargetIndirectionAtlas
 
FTextureLayout3d IndirectionAtlasLayout
 
FReadBuffer IndirectionUploadIndicesBuffer
 
FReadBuffer IndirectionUploadDataBuffer
 
FDistanceFieldBlockAllocator DistanceFieldAtlasBlockAllocator
 
TRefCountPtr< IPooledRenderTargetDistanceFieldBrickVolumeTexture
 
FIntVector BrickTextureDimensionsInBricks
 
FReadBuffer BrickUploadCoordinatesBuffer
 
FReadBuffer BrickUploadDataBuffer
 
TArray< FDistanceFieldReadRequestReadRequests
 
TArray< FPrimitiveAndInstancePrimitiveInstanceMapping
 
TArray< FPrimitiveSceneInfo * > HeightfieldPrimitives
 
TSet< FPrimitiveSceneInfo * > PendingAddOperations
 
TSet< FPrimitiveSceneInfo * > PendingUpdateOperations
 
TArray< FPrimitiveRemoveInfoPendingRemoveOperations
 
TArray< FBoxPrimitiveModifiedBounds [GDF_Num]
 
TSet< FPrimitiveSceneInfo * > PendingHeightFieldAddOps
 
TArray< FHeightFieldPrimitiveRemoveInfoPendingHeightFieldRemoveOps
 
int32 HeightFieldAtlasGeneration
 
int32 HFVisibilityAtlasGenerattion
 
bool bTrackAllPrimitives
 
bool bCanUse16BitObjectIndices
 

Friends

class FDistanceFieldStreamingUpdateTask
 

Detailed Description

Scene data used to manage distance field object buffers on the GPU.

Constructor & Destructor Documentation

◆ FDistanceFieldSceneData() [1/2]

FDistanceFieldSceneData::FDistanceFieldSceneData ( FDistanceFieldSceneData &&  )
default

◆ FDistanceFieldSceneData() [2/2]

FDistanceFieldSceneData::FDistanceFieldSceneData ( EShaderPlatform  ShaderPlatform)

◆ ~FDistanceFieldSceneData()

FDistanceFieldSceneData::~FDistanceFieldSceneData ( )

Member Function Documentation

◆ AddPrimitive()

void FDistanceFieldSceneData::AddPrimitive ( FPrimitiveSceneInfo InPrimitive)

◆ CanUse16BitObjectIndices()

bool FDistanceFieldSceneData::CanUse16BitObjectIndices ( ) const
inline

◆ GetCurrentObjectBuffers()

const FDistanceFieldObjectBuffers * FDistanceFieldSceneData::GetCurrentObjectBuffers ( ) const
inline

◆ GetHeightFieldObjectBuffers()

const FDistanceFieldObjectBuffers * FDistanceFieldSceneData::GetHeightFieldObjectBuffers ( ) const
inline

◆ HasPendingHeightFieldOperations()

bool FDistanceFieldSceneData::HasPendingHeightFieldOperations ( ) const
inline

◆ HasPendingOperations()

bool FDistanceFieldSceneData::HasPendingOperations ( ) const
inline

◆ HasPendingRemovePrimitive()

bool FDistanceFieldSceneData::HasPendingRemovePrimitive ( const FPrimitiveSceneInfo Primitive) const
inline

◆ HasPendingStreaming()

bool FDistanceFieldSceneData::HasPendingStreaming ( ) const
inline

◆ HasPendingUploads()

bool FDistanceFieldSceneData::HasPendingUploads ( ) const
inline

◆ ListMeshDistanceFields()

void FDistanceFieldSceneData::ListMeshDistanceFields ( bool  bDumpAssetStats) const

◆ Release()

void FDistanceFieldSceneData::Release ( )

◆ RemovePrimitive()

void FDistanceFieldSceneData::RemovePrimitive ( FPrimitiveSceneInfo InPrimitive)

◆ UpdateDistanceFieldAtlas()

void FDistanceFieldSceneData::UpdateDistanceFieldAtlas ( FRDGBuilder GraphBuilder,
FRDGExternalAccessQueue ExternalAccessQueue,
const FSceneRenderUpdateInputs SceneUpdateInputs,
TArray< FDistanceFieldAssetMipId > &  DistanceFieldAssetAdds,
TArray< FSetElementId > &  DistanceFieldAssetRemoves 
)

◆ UpdateDistanceFieldObjectBuffers()

void FDistanceFieldSceneData::UpdateDistanceFieldObjectBuffers ( FRDGBuilder GraphBuilder,
FRDGExternalAccessQueue ExternalAccessQueue,
FScene Scene,
TArray< FDistanceFieldAssetMipId > &  DistanceFieldAssetAdds,
TArray< FSetElementId > &  DistanceFieldAssetRemoves 
)

◆ UpdatePrimitive()

void FDistanceFieldSceneData::UpdatePrimitive ( FPrimitiveSceneInfo InPrimitive)

◆ VerifyIntegrity()

void FDistanceFieldSceneData::VerifyIntegrity ( )

Friends And Related Symbol Documentation

◆ FDistanceFieldStreamingUpdateTask

friend class FDistanceFieldStreamingUpdateTask
friend

Member Data Documentation

◆ AssetDataBuffer

TRefCountPtr<FRDGPooledBuffer> FDistanceFieldSceneData::AssetDataBuffer

◆ AssetDataUploadBuffer

FRDGScatterUploadBuffer FDistanceFieldSceneData::AssetDataUploadBuffer

◆ AssetStateArray

TSparseSet<FDistanceFieldAssetState, TFDistanceFieldAssetStateFuncs> FDistanceFieldSceneData::AssetStateArray

◆ bCanUse16BitObjectIndices

bool FDistanceFieldSceneData::bCanUse16BitObjectIndices

◆ BrickTextureDimensionsInBricks

FIntVector FDistanceFieldSceneData::BrickTextureDimensionsInBricks

◆ BrickUploadCoordinatesBuffer

FReadBuffer FDistanceFieldSceneData::BrickUploadCoordinatesBuffer

◆ BrickUploadDataBuffer

FReadBuffer FDistanceFieldSceneData::BrickUploadDataBuffer

◆ bTrackAllPrimitives

bool FDistanceFieldSceneData::bTrackAllPrimitives

◆ DistanceFieldAtlasBlockAllocator

FDistanceFieldBlockAllocator FDistanceFieldSceneData::DistanceFieldAtlasBlockAllocator

◆ DistanceFieldBrickVolumeTexture

TRefCountPtr<IPooledRenderTarget> FDistanceFieldSceneData::DistanceFieldBrickVolumeTexture

◆ HeightFieldAtlasGeneration

int32 FDistanceFieldSceneData::HeightFieldAtlasGeneration

◆ HeightFieldObjectBuffers

FDistanceFieldObjectBuffers* FDistanceFieldSceneData::HeightFieldObjectBuffers

◆ HeightfieldPrimitives

TArray<FPrimitiveSceneInfo*> FDistanceFieldSceneData::HeightfieldPrimitives

◆ HFVisibilityAtlasGenerattion

int32 FDistanceFieldSceneData::HFVisibilityAtlasGenerattion

◆ IndicesToUpdateInObjectBuffers

TArray<int32> FDistanceFieldSceneData::IndicesToUpdateInObjectBuffers

◆ IndicesToUpdateInObjectBuffersSet

TSet<int32> FDistanceFieldSceneData::IndicesToUpdateInObjectBuffersSet

◆ IndirectionAtlas

TRefCountPtr<IPooledRenderTarget> FDistanceFieldSceneData::IndirectionAtlas

◆ IndirectionAtlasLayout

FTextureLayout3d FDistanceFieldSceneData::IndirectionAtlasLayout

◆ IndirectionTable

TRefCountPtr<FRDGPooledBuffer> FDistanceFieldSceneData::IndirectionTable

◆ IndirectionTableAllocator

FGrowOnlySpanAllocator FDistanceFieldSceneData::IndirectionTableAllocator

◆ IndirectionTableUploadBuffer

FRDGAsyncScatterUploadBuffer FDistanceFieldSceneData::IndirectionTableUploadBuffer

◆ IndirectionUploadDataBuffer

FReadBuffer FDistanceFieldSceneData::IndirectionUploadDataBuffer

◆ IndirectionUploadIndicesBuffer

FReadBuffer FDistanceFieldSceneData::IndirectionUploadIndicesBuffer

◆ MaxStreamingReadbackBuffers

uint32 FDistanceFieldSceneData::MaxStreamingReadbackBuffers = 4

◆ NumObjectsInBuffer

int32 FDistanceFieldSceneData::NumObjectsInBuffer

◆ ObjectBuffers

FDistanceFieldObjectBuffers* FDistanceFieldSceneData::ObjectBuffers

◆ PendingAddOperations

TSet<FPrimitiveSceneInfo*> FDistanceFieldSceneData::PendingAddOperations

Pending operations on the object buffers to be processed next frame.

◆ PendingHeightFieldAddOps

TSet<FPrimitiveSceneInfo*> FDistanceFieldSceneData::PendingHeightFieldAddOps

◆ PendingHeightFieldRemoveOps

TArray<FHeightFieldPrimitiveRemoveInfo> FDistanceFieldSceneData::PendingHeightFieldRemoveOps

◆ PendingRemoveOperations

TArray<FPrimitiveRemoveInfo> FDistanceFieldSceneData::PendingRemoveOperations

◆ PendingUpdateOperations

TSet<FPrimitiveSceneInfo*> FDistanceFieldSceneData::PendingUpdateOperations

◆ PrimitiveInstanceMapping

TArray<FPrimitiveAndInstance> FDistanceFieldSceneData::PrimitiveInstanceMapping

Stores the primitive and instance index of every entry in the object buffer.

◆ PrimitiveModifiedBounds

TArray<FBox> FDistanceFieldSceneData::PrimitiveModifiedBounds[GDF_Num]

◆ ReadbackBuffersNumPending

uint32 FDistanceFieldSceneData::ReadbackBuffersNumPending = 0

◆ ReadbackBuffersWriteIndex

uint32 FDistanceFieldSceneData::ReadbackBuffersWriteIndex = 0

◆ ReadRequests

TArray<FDistanceFieldReadRequest> FDistanceFieldSceneData::ReadRequests

◆ StreamingRequestReadbackBuffers

TArray<FRHIGPUBufferReadback*> FDistanceFieldSceneData::StreamingRequestReadbackBuffers

◆ UploadDistanceFieldBoundsBuffer

FRDGScatterUploadBuffer FDistanceFieldSceneData::UploadDistanceFieldBoundsBuffer

◆ UploadDistanceFieldDataBuffer

FRDGScatterUploadBuffer FDistanceFieldSceneData::UploadDistanceFieldDataBuffer

◆ UploadHeightFieldBoundsBuffer

FRDGScatterUploadBuffer FDistanceFieldSceneData::UploadHeightFieldBoundsBuffer

◆ UploadHeightFieldDataBuffer

FRDGScatterUploadBuffer FDistanceFieldSceneData::UploadHeightFieldDataBuffer

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