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

#include <MeshRenderDecomposition.h>

Classes

struct  FGroup
 

Public Member Functions

 FMeshRenderDecomposition (FMeshRenderDecomposition &&)=default
 
FMeshRenderDecompositionoperator= (FMeshRenderDecomposition &&)=default
 
 FMeshRenderDecomposition ()=default
 
 FMeshRenderDecomposition (const FMeshRenderDecomposition &)=delete
 
FMeshRenderDecompositionoperator= (const FMeshRenderDecomposition &)=delete
 
void Initialize (int32 Count)
 
int32 AppendGroup ()
 
int32 Num () const
 
bool IsGroup (int32 Index) const
 
FGroupGetGroup (int32 Index)
 
const FGroupGetGroup (int32 Index) const
 
int32 GetGroupForTriangle (int32 TriangleID) const
 
GEOMETRYFRAMEWORK_API void BuildAssociations (const FDynamicMesh3 *Mesh)
 

Static Public Member Functions

static GEOMETRYFRAMEWORK_API void BuildMaterialDecomposition (const FDynamicMesh3 *Mesh, const FComponentMaterialSet *MaterialSet, FMeshRenderDecomposition &Decomp)
 
static GEOMETRYFRAMEWORK_API void BuildChunkedDecomposition (const FDynamicMesh3 *Mesh, const FComponentMaterialSet *MaterialSet, FMeshRenderDecomposition &Decomp, int32 MaxChunkSize=1<< 14)
 

Public Attributes

TArray< TUniquePtr< FGroup > > Groups
 
TArray< int32TriangleToGroupMap
 

Detailed Description

FMeshRenderDecomposition represents a decomposition of a mesh into "chunks" of triangles, with associated materials. This is passed to the rendering components to split a mesh into multiple RenderBuffers, for more efficient updating.

Constructor & Destructor Documentation

◆ FMeshRenderDecomposition() [1/3]

FMeshRenderDecomposition::FMeshRenderDecomposition ( FMeshRenderDecomposition &&  )
default

◆ FMeshRenderDecomposition() [2/3]

FMeshRenderDecomposition::FMeshRenderDecomposition ( )
default

◆ FMeshRenderDecomposition() [3/3]

FMeshRenderDecomposition::FMeshRenderDecomposition ( const FMeshRenderDecomposition )
delete

Member Function Documentation

◆ AppendGroup()

int32 FMeshRenderDecomposition::AppendGroup ( )
inline

◆ BuildAssociations()

void FMeshRenderDecomposition::BuildAssociations ( const FDynamicMesh3 Mesh)

Construct mappings between mesh and groups (eg TriangleToGroupMap)

◆ BuildChunkedDecomposition()

void FMeshRenderDecomposition::BuildChunkedDecomposition ( const FDynamicMesh3 Mesh,
const FComponentMaterialSet MaterialSet,
FMeshRenderDecomposition Decomp,
int32  MaxChunkSize = 1 << 14 
)
static

Build per-material decomposition, and then split each of those into chunks of at most MaxChunkSize (actual chunk sizes will be highly variable and some may be very small...)

◆ BuildMaterialDecomposition()

void FMeshRenderDecomposition::BuildMaterialDecomposition ( const FDynamicMesh3 Mesh,
const FComponentMaterialSet MaterialSet,
FMeshRenderDecomposition Decomp 
)
static

Build decomposition with one group for each MaterialID of mesh

◆ GetGroup() [1/2]

FGroup & FMeshRenderDecomposition::GetGroup ( int32  Index)
inline

◆ GetGroup() [2/2]

const FGroup & FMeshRenderDecomposition::GetGroup ( int32  Index) const
inline

◆ GetGroupForTriangle()

int32 FMeshRenderDecomposition::GetGroupForTriangle ( int32  TriangleID) const
inline

◆ Initialize()

void FMeshRenderDecomposition::Initialize ( int32  Count)
inline

◆ IsGroup()

bool FMeshRenderDecomposition::IsGroup ( int32  Index) const
inline

◆ Num()

int32 FMeshRenderDecomposition::Num ( ) const
inline

◆ operator=() [1/2]

FMeshRenderDecomposition & FMeshRenderDecomposition::operator= ( const FMeshRenderDecomposition )
delete

◆ operator=() [2/2]

FMeshRenderDecomposition & FMeshRenderDecomposition::operator= ( FMeshRenderDecomposition &&  )
default

Member Data Documentation

◆ Groups

TArray<TUniquePtr<FGroup> > FMeshRenderDecomposition::Groups

◆ TriangleToGroupMap

TArray<int32> FMeshRenderDecomposition::TriangleToGroupMap

Mapping from TriangleID to Groups array index. Initialized by BuildAssociations()


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