|
IVSmoke 1.0
|
#include <IVSmokeCSMRenderer.h>

Public Member Functions | |
| void | Initialize (UWorld *World, int32 NumCascades, int32 Resolution, float MaxDistance) |
| void | Shutdown () |
| bool | IsInitialized () const |
| void | Update (const FVector &CameraPosition, const FVector &CameraForward, const FVector &LightDirection, uint32 FrameNumber) |
| int32 | GetNumCascades () const |
| const FIVSmokeCascadeData & | GetCascade (int32 Index) const |
| const TArray< FIVSmokeCascadeData > & | GetCascades () const |
| TArray< float > | GetSplitDistances () const |
| FTextureRHIRef | GetVSMTexture (int32 CascadeIndex) const |
| FTextureRHIRef | GetDepthTexture (int32 CascadeIndex) const |
| bool | HasValidShadowData () const |
| FVector | GetLightCameraPosition (int32 CascadeIndex) const |
| FVector | GetMainCameraPosition () const |
Cascaded Shadow Map renderer for volumetric smoke. Manages multiple shadow cascades with priority-based updates.
Features:
Definition at line 106 of file IVSmokeCSMRenderer.h.
| FIVSmokeCSMRenderer::FIVSmokeCSMRenderer | ( | ) |
Definition at line 15 of file IVSmokeCSMRenderer.cpp.
| FIVSmokeCSMRenderer::~FIVSmokeCSMRenderer | ( | ) |
Definition at line 19 of file IVSmokeCSMRenderer.cpp.
|
inline |
Get cascade data by index.
Definition at line 158 of file IVSmokeCSMRenderer.h.
|
inline |
Get all cascade data.
Definition at line 161 of file IVSmokeCSMRenderer.h.
| FTextureRHIRef FIVSmokeCSMRenderer::GetDepthTexture | ( | int32 | CascadeIndex | ) | const |
Get depth texture for a cascade.
Definition at line 566 of file IVSmokeCSMRenderer.cpp.
| FVector FIVSmokeCSMRenderer::GetLightCameraPosition | ( | int32 | CascadeIndex | ) | const |
Get light camera position for a cascade.
| CascadeIndex | Index of cascade. |
Definition at line 588 of file IVSmokeCSMRenderer.cpp.
|
inline |
Get main camera position.
Definition at line 184 of file IVSmokeCSMRenderer.h.
|
inline |
Get number of active cascades.
Definition at line 155 of file IVSmokeCSMRenderer.h.
| TArray< float > FIVSmokeCSMRenderer::GetSplitDistances | ( | ) | const |
Get cascade split distances (for shader).
Definition at line 542 of file IVSmokeCSMRenderer.cpp.
| FTextureRHIRef FIVSmokeCSMRenderer::GetVSMTexture | ( | int32 | CascadeIndex | ) | const |
Get VSM texture for a cascade (nullptr if VSM disabled).
Definition at line 555 of file IVSmokeCSMRenderer.cpp.
| bool FIVSmokeCSMRenderer::HasValidShadowData | ( | ) | const |
Check if any cascade has valid shadow data.
Definition at line 577 of file IVSmokeCSMRenderer.cpp.
| void FIVSmokeCSMRenderer::Initialize | ( | UWorld * | World, |
| int32 | NumCascades, | ||
| int32 | Resolution, | ||
| float | MaxDistance | ||
| ) |
Initialize CSM renderer with specified settings. Creates cascade render targets and capture components.
| World | World to create capture components in. |
| NumCascades | Number of shadow cascades (1-8). |
| Resolution | Shadow map resolution per cascade. |
| MaxDistance | Maximum shadow distance in world units. |
Definition at line 27 of file IVSmokeCSMRenderer.cpp.
|
inline |
Check if renderer is initialized.
Definition at line 130 of file IVSmokeCSMRenderer.h.
| void FIVSmokeCSMRenderer::Shutdown | ( | ) |
Release all resources.
Definition at line 99 of file IVSmokeCSMRenderer.cpp.
| void FIVSmokeCSMRenderer::Update | ( | const FVector & | CameraPosition, |
| const FVector & | CameraForward, | ||
| const FVector & | LightDirection, | ||
| uint32 | FrameNumber | ||
| ) |
Update shadow cascades for current frame. Calculates cascade splits, applies texel snapping, and triggers captures.
| CameraPosition | Current camera world position. |
| CameraForward | Camera forward direction. |
| LightDirection | Direction TOWARD the light source (opposite of light travel). |
| FrameNumber | Current frame number for priority update. |
Definition at line 136 of file IVSmokeCSMRenderer.cpp.