IVSmoke 1.0
Loading...
Searching...
No Matches
FPerWorldData Struct Reference

#include <IVSmokeRenderer.h>

Collaboration diagram for FPerWorldData:
Collaboration graph

Public Member Functions

 FPerWorldData (const FPerWorldData &)=delete
 
FPerWorldDataoperator= (const FPerWorldData &)=delete
 
 FPerWorldData (FPerWorldData &&)=delete
 
FPerWorldDataoperator= (FPerWorldData &&)=delete
 
void Reset ()
 
void CleanupCSM ()
 

Public Attributes

FIVSmokePackedRenderData CachedRenderData
 
FIVSmokePackedRenderData GameThreadCachedRenderData
 
TUniquePtr< FIVSmokeCSMRendererCSMRenderer
 
TUniquePtr< FIVSmokeVSMProcessorVSMProcessor
 
uint32 LastCSMUpdateFrameNumber = 0
 
uint32 LastVSMProcessFrameNumber = 0
 
bool bServerTimeSynced = false
 
float ServerTimeOffset = 0.f
 
uint32 LastPreparedFrameNumber = 0
 

Detailed Description

Per-World rendering data and resources. Each UWorld (Editor, PIE, Standalone) has its own instance.

This enables simultaneous rendering of multiple worlds without data conflicts. Owned by FIVSmokeRenderer::WorldDataMap.

LIFECYCLE:

  • Created on first render request for a World (lazy initialization)
  • Destroyed when World ends (via OnWorldBeginTearDown delegate)

THREAD SAFETY:

  • Access must be protected by FIVSmokeRenderer::WorldDataMutex

Definition at line 197 of file IVSmokeRenderer.h.

Constructor & Destructor Documentation

◆ ~FPerWorldData()

FPerWorldData::~FPerWorldData ( )

Definition at line 104 of file IVSmokeRenderer.cpp.

Member Function Documentation

◆ CleanupCSM()

void FPerWorldData::CleanupCSM ( )

Cleanup CSM resources. Must be called before destruction. Defined in cpp file.

Definition at line 110 of file IVSmokeRenderer.cpp.

◆ Reset()

void FPerWorldData::Reset ( )
inline

Reset all data to initial state. Does NOT cleanup CSM (call CleanupCSM separately).

Definition at line 236 of file IVSmokeRenderer.h.

Member Data Documentation

◆ bServerTimeSynced

bool FPerWorldData::bServerTimeSynced = false

True if server time offset has been initialized for this World.

Definition at line 227 of file IVSmokeRenderer.h.

◆ CachedRenderData

FIVSmokePackedRenderData FPerWorldData::CachedRenderData

Cached render data for Render Thread. Set via SetCachedRenderData from ENQUEUE_RENDER_COMMAND.

Definition at line 209 of file IVSmokeRenderer.h.

◆ CSMRenderer

TUniquePtr<FIVSmokeCSMRenderer> FPerWorldData::CSMRenderer

CSM renderer for external shadowing (per-world).

Definition at line 215 of file IVSmokeRenderer.h.

◆ GameThreadCachedRenderData

FIVSmokePackedRenderData FPerWorldData::GameThreadCachedRenderData

Cached render data for Game Thread. Used for frame deduplication when multiple ViewFamilies exist.

Definition at line 212 of file IVSmokeRenderer.h.

◆ LastCSMUpdateFrameNumber

uint32 FPerWorldData::LastCSMUpdateFrameNumber = 0

Frame number when CSM was last updated (prevents multiple updates per frame).

Definition at line 221 of file IVSmokeRenderer.h.

◆ LastPreparedFrameNumber

uint32 FPerWorldData::LastPreparedFrameNumber = 0

Frame number when PrepareRenderData was last called (prevents duplicate calls per frame).

Definition at line 233 of file IVSmokeRenderer.h.

◆ LastVSMProcessFrameNumber

uint32 FPerWorldData::LastVSMProcessFrameNumber = 0

Frame number when VSM was last processed (prevents duplicate processing per view).

Definition at line 224 of file IVSmokeRenderer.h.

◆ ServerTimeOffset

float FPerWorldData::ServerTimeOffset = 0.f

Server time offset for animation sync. (ServerTime = LocalTime + Offset)

Definition at line 230 of file IVSmokeRenderer.h.

◆ VSMProcessor

TUniquePtr<FIVSmokeVSMProcessor> FPerWorldData::VSMProcessor

VSM processor for variance shadow mapping (per-world).

Definition at line 218 of file IVSmokeRenderer.h.


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