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

#include <InstanceCullingMergedContext.h>

+ Inheritance diagram for FInstanceCullingMergedContext:

Classes

struct  FBatchItem
 
struct  FContextBatchInfoPacked
 

Public Member Functions

 FInstanceCullingMergedContext (EShaderPlatform InShaderPlatform, bool bInMustAddAllContexts=false, int32 InNumBins=2)
 
void MergeBatches ()
 
void AddBatch (FRDGBuilder &GraphBuilder, FInstanceCullingContext *Context, FInstanceCullingDrawParams *InstanceCullingDrawParams)
 

Public Attributes

TArray< FBatchItem, SceneRenderingAllocatorBatches
 
TArray< FBatchItem, SceneRenderingAllocatorAsyncBatches
 
TArray< int32, SceneRenderingAllocatorViewIds
 
TArray< FRHIDrawIndexedIndirectParameters, SceneRenderingAllocatorIndirectArgs
 
TArray< FUintVector2, SceneRenderingAllocatorDrawCommandDescs
 
TArray< FInstanceCullingContext::FPayloadData, SceneRenderingAllocatorPayloadData
 
TArray< uint32, SceneRenderingAllocatorInstanceIdOffsets
 
TArray< FInstanceCullingContext::FCompactionData, SceneRenderingAllocatorDrawCommandCompactionData
 
TArray< uint32, SceneRenderingAllocatorCompactionBlockDataIndices
 
TArray< TInstanceCullingLoadBalancer< SceneRenderingAllocator >, SceneRenderingAllocatorLoadBalancers
 
TArray< TArray< uint32, SceneRenderingAllocator >, SceneRenderingAllocatorBatchInds
 
TArray< FContextBatchInfoPacked, SceneRenderingAllocatorBatchInfos
 
EShaderPlatform ShaderPlatform = SP_NumPlatforms
 
bool bMustAddAllContexts = false
 
uint32 InstanceIdBufferElements = 0U
 
TArray< int32, TInlineAllocator< 5 > > TotalBatches
 
TArray< int32, TInlineAllocator< 5 > > TotalItems
 
int32 TotalIndirectArgs = 0
 
int32 TotalPayloads = 0
 
int32 TotalViewIds = 0
 
int32 TotalInstances = 0
 
int32 TotalCompactionDrawCommands = 0
 
int32 TotalCompactionBlocks = 0
 
int32 TotalCompactionInstances = 0
 
int32 NumCullingViews = 0
 

Static Public Attributes

static constexpr uint32 FirstGenericBinIndex = 1
 

Constructor & Destructor Documentation

◆ FInstanceCullingMergedContext()

FInstanceCullingMergedContext::FInstanceCullingMergedContext ( EShaderPlatform  InShaderPlatform,
bool  bInMustAddAllContexts = false,
int32  InNumBins = 2 
)

Member Function Documentation

◆ AddBatch()

void FInstanceCullingMergedContext::AddBatch ( FRDGBuilder GraphBuilder,
FInstanceCullingContext Context,
FInstanceCullingDrawParams InstanceCullingDrawParams 
)

◆ MergeBatches()

void FInstanceCullingMergedContext::MergeBatches ( )

Member Data Documentation

◆ AsyncBatches

TArray<FBatchItem, SceneRenderingAllocator> FInstanceCullingMergedContext::AsyncBatches

Async (and thus added as to the above as late as possible) Batches of GPU instance culling input data.

◆ Batches

TArray<FBatchItem, SceneRenderingAllocator> FInstanceCullingMergedContext::Batches

Batches of GPU instance culling input data.

◆ BatchInds

TArray<TArray<uint32, SceneRenderingAllocator>, SceneRenderingAllocator> FInstanceCullingMergedContext::BatchInds

◆ BatchInfos

TArray<FContextBatchInfoPacked, SceneRenderingAllocator> FInstanceCullingMergedContext::BatchInfos

◆ bMustAddAllContexts

bool FInstanceCullingMergedContext::bMustAddAllContexts = false

◆ CompactionBlockDataIndices

TArray<uint32, SceneRenderingAllocator> FInstanceCullingMergedContext::CompactionBlockDataIndices

◆ DrawCommandCompactionData

TArray<FInstanceCullingContext::FCompactionData, SceneRenderingAllocator> FInstanceCullingMergedContext::DrawCommandCompactionData

◆ DrawCommandDescs

TArray<FUintVector2, SceneRenderingAllocator> FInstanceCullingMergedContext::DrawCommandDescs

◆ FirstGenericBinIndex

constexpr uint32 FInstanceCullingMergedContext::FirstGenericBinIndex = 1
staticconstexpr

Bin 0 is used for UnCulled batches, Culled ones go in bins >= 1.

◆ IndirectArgs

TArray<FRHIDrawIndexedIndirectParameters, SceneRenderingAllocator> FInstanceCullingMergedContext::IndirectArgs

◆ InstanceIdBufferElements

uint32 FInstanceCullingMergedContext::InstanceIdBufferElements = 0U

◆ InstanceIdOffsets

TArray<uint32, SceneRenderingAllocator> FInstanceCullingMergedContext::InstanceIdOffsets

◆ LoadBalancers

◆ NumCullingViews

int32 FInstanceCullingMergedContext::NumCullingViews = 0

◆ PayloadData

TArray<FInstanceCullingContext::FPayloadData, SceneRenderingAllocator> FInstanceCullingMergedContext::PayloadData

◆ ShaderPlatform

EShaderPlatform FInstanceCullingMergedContext::ShaderPlatform = SP_NumPlatforms

◆ TotalBatches

TArray<int32, TInlineAllocator<5> > FInstanceCullingMergedContext::TotalBatches

◆ TotalCompactionBlocks

int32 FInstanceCullingMergedContext::TotalCompactionBlocks = 0

◆ TotalCompactionDrawCommands

int32 FInstanceCullingMergedContext::TotalCompactionDrawCommands = 0

◆ TotalCompactionInstances

int32 FInstanceCullingMergedContext::TotalCompactionInstances = 0

◆ TotalIndirectArgs

int32 FInstanceCullingMergedContext::TotalIndirectArgs = 0

◆ TotalInstances

int32 FInstanceCullingMergedContext::TotalInstances = 0

◆ TotalItems

TArray<int32, TInlineAllocator<5> > FInstanceCullingMergedContext::TotalItems

◆ TotalPayloads

int32 FInstanceCullingMergedContext::TotalPayloads = 0

◆ TotalViewIds

int32 FInstanceCullingMergedContext::TotalViewIds = 0

◆ ViewIds

TArray<int32, SceneRenderingAllocator> FInstanceCullingMergedContext::ViewIds

Merged data, derived in MergeBatches(), follows.


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