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

Public Member Functions

 FParticleTileAllocator ()
 
void Init (bool bAllowTileResizing, uint32 TileCount, uint32 InMaxTileCount)
 
bool Resize ()
 
uint32 Allocate ()
 
void Free (int32 TileIndex)
 
int32 GetFreeTileCount () const
 
int32 GetResizeFactor () const
 
int32 GetAllocatedTileCount () const
 
bool SupportResizingTiles () const
 

Public Attributes

bool bDirtyAlloc
 

Detailed Description

Stack allocator for managing tile lifetime.

Constructor & Destructor Documentation

◆ FParticleTileAllocator()

FParticleTileAllocator::FParticleTileAllocator ( )
inline

Default constructor.

Member Function Documentation

◆ Allocate()

uint32 FParticleTileAllocator::Allocate ( )
inline

Allocate a tile.

Returns
the index of the allocated tile, INDEX_NONE if no tiles are available.

◆ Free()

void FParticleTileAllocator::Free ( int32  TileIndex)
inline

Frees a tile so it may be allocated by another emitter.

Parameters
TileIndex- The index of the tile to free.

◆ GetAllocatedTileCount()

int32 FParticleTileAllocator::GetAllocatedTileCount ( ) const
inline

Returns the max allocated tiles.

◆ GetFreeTileCount()

int32 FParticleTileAllocator::GetFreeTileCount ( ) const
inline

Returns the number of free tiles.

◆ GetResizeFactor()

int32 FParticleTileAllocator::GetResizeFactor ( ) const
inline

Returns the resize factor of the gpu sim textures.

◆ Init()

void FParticleTileAllocator::Init ( bool  bAllowTileResizing,
uint32  TileCount,
uint32  InMaxTileCount 
)
inline

Init the tile allocator

Check if the tile can be resized at runtime.

◆ Resize()

bool FParticleTileAllocator::Resize ( )
inline

Resize the tile allocator to support more tiles.

Each time we resize, the associated textures width and height are multiplied by 2. This means that each time we increase the tile allocator, the tile count will grow by a 4 ^ (resizecount) factor. Ex: Initial textures is driven by GParticleSimulationDynTextureSizeXY, and contains one tile. The first resize will contain 4 tiles, the second resize will have 16 tiles, and so on. The tile allocated from a resize are allocated following a Morton Z curve pattern.

◆ SupportResizingTiles()

bool FParticleTileAllocator::SupportResizingTiles ( ) const
inline

Access function to know if the tile allocator supports resizing tiles.

Member Data Documentation

◆ bDirtyAlloc

bool FParticleTileAllocator::bDirtyAlloc

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