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

#include <IVSmokeRenderer.h>

Collaboration diagram for FIVSmokePackedRenderData:
Collaboration graph

Public Member Functions

void Reset ()
 

Public Attributes

TArray< float > PackedVoxelBirthTimes
 
TArray< float > PackedVoxelDeathTimes
 
TArray< FIVSmokeVolumeGPUDataVolumeDataArray
 
FIntVector VoxelResolution = FIntVector::ZeroValue
 
FIntVector HoleResolution = FIntVector::ZeroValue
 
int32 VolumeCount = 0
 
int32 MaxSteps = 128
 
float GlobalAbsorption = 0.1f
 
float SmokeSize = 128.0f
 
float SmokeDensityFalloff = 0.2f
 
FVector WindDirection = FVector(0.01f, 0.02f, 0.1f)
 
float VolumeRangeOffset = 0.1f
 
float VolumeEdgeNoiseFadeOffset = 0.04f
 
float VolumeEdgeFadeSharpness = 3.5f
 
bool bEnableScattering = true
 
float ScatterScale = 0.5f
 
float ScatteringAnisotropy = 0.5f
 
FVector LightDirection = FVector(0.2f, 0.1f, 0.9f)
 
FLinearColor LightColor = FLinearColor::White
 
float LightIntensity = 1.0f
 
bool bEnableSelfShadowing = true
 
int32 LightMarchingSteps = 6
 
float LightMarchingDistance = 0.0f
 
float LightMarchingExpFactor = 2.0f
 
float ShadowAmbient = 0.2f
 
int32 NumCascades = 0
 
TArray< FMatrix > CSMViewProjectionMatrices
 
TArray< float > CSMSplitDistances
 
TArray< FVector > CSMLightCameraPositions
 
TArray< FVector > CSMLightCameraForwards
 
float CascadeBlendRange = 0.1f
 
float ShadowDepthBias = 1.0f
 
float ExternalShadowAmbient = 0.3f
 
bool bEnableVSM = true
 
float VSMMinVariance = 0.0001f
 
float VSMLightBleedingReduction = 0.2f
 
FVector CSMMainCameraPosition = FVector::ZeroVector
 
bool bIsValid = false
 
float GameTime = 0.0f
 
int UpSampleFilterType = 2
 
float SharpenStrength = 0.0f
 
float BlurStrength = 0.4f
 
TArray< FTextureRHIRef > HoleTextures
 
TArray< FIntVector > HoleTextureSizes
 
TArray< FTextureRHIRef > CSMDepthTextures
 
TArray< FTextureRHIRef > CSMVSMTextures
 
UMaterialInterface * SmokeVisualMaterial = nullptr
 

Detailed Description

Packed render data for all smoke volumes. Created on Game Thread, consumed on Render Thread. Contains all data needed for rendering without accessing Volume actors.

THREAD SAFETY:

  • Created on Game Thread in PrepareRenderData()
  • Transferred to Render Thread via ENQUEUE_RENDER_COMMAND
  • Consumed on Render Thread in Render() and RunPrePassPipeline()

DATA SAFETY WARNING: Some fields are REFERENCE-BASED and tied to UObject lifetime. See comments below for dangerous vs safe fields.

Definition at line 62 of file IVSmokeRenderer.h.

Member Function Documentation

◆ Reset()

void FIVSmokePackedRenderData::Reset ( )
inline

Reset to invalid state

Definition at line 157 of file IVSmokeRenderer.h.

Member Data Documentation

◆ bEnableScattering

bool FIVSmokePackedRenderData::bEnableScattering = true

Scattering parameters

Definition at line 93 of file IVSmokeRenderer.h.

◆ bEnableSelfShadowing

bool FIVSmokePackedRenderData::bEnableSelfShadowing = true

Self-shadowing parameters

Definition at line 101 of file IVSmokeRenderer.h.

◆ bEnableVSM

bool FIVSmokePackedRenderData::bEnableVSM = true

VSM parameters

Definition at line 119 of file IVSmokeRenderer.h.

◆ bIsValid

bool FIVSmokePackedRenderData::bIsValid = false

Validity flag

Definition at line 127 of file IVSmokeRenderer.h.

◆ BlurStrength

float FIVSmokePackedRenderData::BlurStrength = 0.4f

Definition at line 135 of file IVSmokeRenderer.h.

◆ CascadeBlendRange

float FIVSmokePackedRenderData::CascadeBlendRange = 0.1f

Definition at line 114 of file IVSmokeRenderer.h.

◆ CSMDepthTextures

TArray<FTextureRHIRef> FIVSmokePackedRenderData::CSMDepthTextures

CSM Texture references - owned by FIVSmokeCSMRenderer (per-world)

Definition at line 148 of file IVSmokeRenderer.h.

◆ CSMLightCameraForwards

TArray<FVector> FIVSmokePackedRenderData::CSMLightCameraForwards

Definition at line 113 of file IVSmokeRenderer.h.

◆ CSMLightCameraPositions

TArray<FVector> FIVSmokePackedRenderData::CSMLightCameraPositions

Definition at line 112 of file IVSmokeRenderer.h.

◆ CSMMainCameraPosition

FVector FIVSmokePackedRenderData::CSMMainCameraPosition = FVector::ZeroVector

Main camera position for CSM (must match what CSMRenderer used)

Definition at line 124 of file IVSmokeRenderer.h.

◆ CSMSplitDistances

TArray<float> FIVSmokePackedRenderData::CSMSplitDistances

Definition at line 111 of file IVSmokeRenderer.h.

◆ CSMViewProjectionMatrices

TArray<FMatrix> FIVSmokePackedRenderData::CSMViewProjectionMatrices

Definition at line 110 of file IVSmokeRenderer.h.

◆ CSMVSMTextures

TArray<FTextureRHIRef> FIVSmokePackedRenderData::CSMVSMTextures

Definition at line 149 of file IVSmokeRenderer.h.

◆ ExternalShadowAmbient

float FIVSmokePackedRenderData::ExternalShadowAmbient = 0.3f

Definition at line 116 of file IVSmokeRenderer.h.

◆ GameTime

float FIVSmokePackedRenderData::GameTime = 0.0f

Game World Time

Definition at line 130 of file IVSmokeRenderer.h.

◆ GlobalAbsorption

float FIVSmokePackedRenderData::GlobalAbsorption = 0.1f

Definition at line 84 of file IVSmokeRenderer.h.

◆ HoleResolution

FIntVector FIVSmokePackedRenderData::HoleResolution = FIntVector::ZeroValue

Definition at line 79 of file IVSmokeRenderer.h.

◆ HoleTextures

TArray<FTextureRHIRef> FIVSmokePackedRenderData::HoleTextures

Hole Texture references - owned by UIVSmokeHoleGeneratorComponent

Definition at line 144 of file IVSmokeRenderer.h.

◆ HoleTextureSizes

TArray<FIntVector> FIVSmokePackedRenderData::HoleTextureSizes

Definition at line 145 of file IVSmokeRenderer.h.

◆ LightColor

FLinearColor FIVSmokePackedRenderData::LightColor = FLinearColor::White

Definition at line 97 of file IVSmokeRenderer.h.

◆ LightDirection

FVector FIVSmokePackedRenderData::LightDirection = FVector(0.2f, 0.1f, 0.9f)

Definition at line 96 of file IVSmokeRenderer.h.

◆ LightIntensity

float FIVSmokePackedRenderData::LightIntensity = 1.0f

Definition at line 98 of file IVSmokeRenderer.h.

◆ LightMarchingDistance

float FIVSmokePackedRenderData::LightMarchingDistance = 0.0f

Definition at line 103 of file IVSmokeRenderer.h.

◆ LightMarchingExpFactor

float FIVSmokePackedRenderData::LightMarchingExpFactor = 2.0f

Definition at line 104 of file IVSmokeRenderer.h.

◆ LightMarchingSteps

int32 FIVSmokePackedRenderData::LightMarchingSteps = 6

Definition at line 102 of file IVSmokeRenderer.h.

◆ MaxSteps

int32 FIVSmokePackedRenderData::MaxSteps = 128

Preset parameters (copied from default preset)

Definition at line 83 of file IVSmokeRenderer.h.

◆ NumCascades

int32 FIVSmokePackedRenderData::NumCascades = 0

External shadowing parameters (CSM - Cascaded Shadow Maps) Note: CSM is always used when external shadowing is enabled

Definition at line 109 of file IVSmokeRenderer.h.

◆ PackedVoxelBirthTimes

TArray<float> FIVSmokePackedRenderData::PackedVoxelBirthTimes

Packed voxel birth times for all volumes (flattened by VoxelBufferOffset).

Definition at line 69 of file IVSmokeRenderer.h.

◆ PackedVoxelDeathTimes

TArray<float> FIVSmokePackedRenderData::PackedVoxelDeathTimes

Packed voxel death times for all volumes (flattened by VoxelBufferOffset).

Definition at line 72 of file IVSmokeRenderer.h.

◆ ScatteringAnisotropy

float FIVSmokePackedRenderData::ScatteringAnisotropy = 0.5f

Definition at line 95 of file IVSmokeRenderer.h.

◆ ScatterScale

float FIVSmokePackedRenderData::ScatterScale = 0.5f

Definition at line 94 of file IVSmokeRenderer.h.

◆ ShadowAmbient

float FIVSmokePackedRenderData::ShadowAmbient = 0.2f

Definition at line 105 of file IVSmokeRenderer.h.

◆ ShadowDepthBias

float FIVSmokePackedRenderData::ShadowDepthBias = 1.0f

Definition at line 115 of file IVSmokeRenderer.h.

◆ SharpenStrength

float FIVSmokePackedRenderData::SharpenStrength = 0.0f

Definition at line 134 of file IVSmokeRenderer.h.

◆ SmokeDensityFalloff

float FIVSmokePackedRenderData::SmokeDensityFalloff = 0.2f

Definition at line 86 of file IVSmokeRenderer.h.

◆ SmokeSize

float FIVSmokePackedRenderData::SmokeSize = 128.0f

Definition at line 85 of file IVSmokeRenderer.h.

◆ SmokeVisualMaterial

UMaterialInterface* FIVSmokePackedRenderData::SmokeVisualMaterial = nullptr

Material reference - owned by UIVSmokeVisualMaterialPreset asset

Definition at line 152 of file IVSmokeRenderer.h.

◆ UpSampleFilterType

int FIVSmokePackedRenderData::UpSampleFilterType = 2

Rendering Info (safe - copied values)

Definition at line 133 of file IVSmokeRenderer.h.

◆ VolumeCount

int32 FIVSmokePackedRenderData::VolumeCount = 0

Definition at line 80 of file IVSmokeRenderer.h.

◆ VolumeDataArray

TArray<FIVSmokeVolumeGPUData> FIVSmokePackedRenderData::VolumeDataArray

Per-volume GPU metadata

Definition at line 75 of file IVSmokeRenderer.h.

◆ VolumeEdgeFadeSharpness

float FIVSmokePackedRenderData::VolumeEdgeFadeSharpness = 3.5f

Definition at line 90 of file IVSmokeRenderer.h.

◆ VolumeEdgeNoiseFadeOffset

float FIVSmokePackedRenderData::VolumeEdgeNoiseFadeOffset = 0.04f

Definition at line 89 of file IVSmokeRenderer.h.

◆ VolumeRangeOffset

float FIVSmokePackedRenderData::VolumeRangeOffset = 0.1f

Definition at line 88 of file IVSmokeRenderer.h.

◆ VoxelResolution

FIntVector FIVSmokePackedRenderData::VoxelResolution = FIntVector::ZeroValue

Common resolution info

Definition at line 78 of file IVSmokeRenderer.h.

◆ VSMLightBleedingReduction

float FIVSmokePackedRenderData::VSMLightBleedingReduction = 0.2f

Definition at line 121 of file IVSmokeRenderer.h.

◆ VSMMinVariance

float FIVSmokePackedRenderData::VSMMinVariance = 0.0001f

Definition at line 120 of file IVSmokeRenderer.h.

◆ WindDirection

FVector FIVSmokePackedRenderData::WindDirection = FVector(0.01f, 0.02f, 0.1f)

Definition at line 87 of file IVSmokeRenderer.h.


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