IVSmoke 1.0
Loading...
Searching...
No Matches
FIVSmokeMultiVolumeRayMarchCS Class Reference

#include <IVSmokeRayMarchPipeline.h>

Inheritance diagram for FIVSmokeMultiVolumeRayMarchCS:
Inheritance graph
Collaboration diagram for FIVSmokeMultiVolumeRayMarchCS:
Collaboration graph

Public Member Functions

 DECLARE_GLOBAL_SHADER (FIVSmokeMultiVolumeRayMarchCS)
 
 SHADER_USE_PARAMETER_STRUCT (FIVSmokeMultiVolumeRayMarchCS, FGlobalShader)
 

Static Public Member Functions

static bool ShouldCompilePermutation (const FGlobalShaderPermutationParameters &Parameters)
 
static void ModifyCompilationEnvironment (const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
 

Static Public Attributes

static constexpr uint32 ThreadGroupSizeX = 8
 
static constexpr uint32 ThreadGroupSizeY = 8
 
static constexpr uint32 ThreadGroupSizeZ = 1
 
static constexpr const TCHAR * EventName =
 

Detailed Description

Multi-Volume Ray March compute shader with Occupancy optimization. Uses precomputed occupancy textures for efficient empty space skipping.

Key optimizations:

  • Slice-level early-out (skip 4 steps at once if empty)
  • Sparse volume iteration using firstbitlow + bit clear
  • Light occupancy for light march optimization

This is the main multi-volume ray march shader class. Uses Occupancy-based optimization (3-pass pipeline).

Definition at line 254 of file IVSmokeRayMarchPipeline.h.

Member Function Documentation

◆ ModifyCompilationEnvironment()

static void FIVSmokeMultiVolumeRayMarchCS::ModifyCompilationEnvironment ( const FGlobalShaderPermutationParameters &  Parameters,
FShaderCompilerEnvironment &  OutEnvironment 
)
inlinestatic

Definition at line 392 of file IVSmokeRayMarchPipeline.h.

◆ ShouldCompilePermutation()

static bool FIVSmokeMultiVolumeRayMarchCS::ShouldCompilePermutation ( const FGlobalShaderPermutationParameters &  Parameters)
inlinestatic

Definition at line 387 of file IVSmokeRayMarchPipeline.h.

Member Data Documentation

◆ EventName

constexpr const TCHAR* FIVSmokeMultiVolumeRayMarchCS::EventName =
staticconstexpr

Definition at line 260 of file IVSmokeRayMarchPipeline.h.

◆ ThreadGroupSizeX

constexpr uint32 FIVSmokeMultiVolumeRayMarchCS::ThreadGroupSizeX = 8
staticconstexpr

Definition at line 257 of file IVSmokeRayMarchPipeline.h.

◆ ThreadGroupSizeY

constexpr uint32 FIVSmokeMultiVolumeRayMarchCS::ThreadGroupSizeY = 8
staticconstexpr

Definition at line 258 of file IVSmokeRayMarchPipeline.h.

◆ ThreadGroupSizeZ

constexpr uint32 FIVSmokeMultiVolumeRayMarchCS::ThreadGroupSizeZ = 1
staticconstexpr

Definition at line 259 of file IVSmokeRayMarchPipeline.h.


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