UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HairStrandsVoxelization.cpp File Reference

Classes

class  FVirtualVoxelInjectOpaqueCS
 
class  FVoxelAllocatePageIndexCS
 
class  FVoxelMarkValidPageIndex_PrepareCS
 
class  FVoxelAllocateVoxelPageCS
 
class  FVoxelAddNodeDescCS
 
class  FVoxelAddIndirectBufferCS
 
class  FVoxelIndPageClearCS
 
class  FVoxelAdaptiveFeedbackCS
 
class  FVoxelRasterComputeCS
 
struct  FInstanceData
 
class  FVirtualVoxelGenerateMipCS
 
class  FVirtualVoxelIndirectArgMipCS
 

Functions

 DECLARE_GPU_STAT (HairStrandsIndVoxelPageClear)
 
 DECLARE_GPU_STAT (HairStrandsVoxelize)
 
 DECLARE_GPU_STAT (HairStrandsDensityMipGen)
 
void GetVoxelPageResolution (uint32 &OutPageResolution, uint32 &OutPageResolutionLog2)
 
bool IsHairStrandsVoxelizationEnable (EShaderPlatform ShaderPlatform)
 Global enable/disable for hair voxelization.
 
bool IsHairStrandsForVoxelTransmittanceAndShadowEnable (EShaderPlatform ShaderPlatform)
 
bool IsHairStrandsGPUDrivenVoxelizationEnabled ()
 
 IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT (FVirtualVoxelParameters, "VirtualVoxel")
 
 IMPLEMENT_GLOBAL_SHADER (FVirtualVoxelInjectOpaqueCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "MainCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVoxelMarkValidPageIndex_PrepareCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "MarkValid_PrepareCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVoxelAllocatePageIndexCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "AllocatePageIndex", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVoxelAllocateVoxelPageCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "AllocateCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVoxelAddNodeDescCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "AddDescCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVoxelAddIndirectBufferCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "AddIndirectBufferCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVoxelIndPageClearCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "VoxelIndPageClearCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVoxelAdaptiveFeedbackCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "FeedbackCS", SF_Compute)
 
FIntVector CeilToInt (const FVector &V)
 
 IMPLEMENT_GLOBAL_SHADER (FVoxelRasterComputeCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "MainCS", SF_Compute)
 
bool IsHairStrandContinuousDecimationReorderingEnabled ()
 
 IMPLEMENT_GLOBAL_SHADER (FVirtualVoxelGenerateMipCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "MainCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVirtualVoxelIndirectArgMipCS, "/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf", "MainCS", SF_Compute)
 
void VoxelizeHairStrands (FRDGBuilder &GraphBuilder, const FScene *Scene, FViewInfo &View, FInstanceCullingManager &InstanceCullingManager, const FVector &PreViewStereoCorrection)
 

Function Documentation

◆ CeilToInt()

FIntVector CeilToInt ( const FVector V)
inline

◆ DECLARE_GPU_STAT() [1/3]

DECLARE_GPU_STAT ( HairStrandsDensityMipGen  )

◆ DECLARE_GPU_STAT() [2/3]

DECLARE_GPU_STAT ( HairStrandsIndVoxelPageClear  )

◆ DECLARE_GPU_STAT() [3/3]

DECLARE_GPU_STAT ( HairStrandsVoxelize  )

◆ GetVoxelPageResolution()

void GetVoxelPageResolution ( uint32 OutPageResolution,
uint32 OutPageResolutionLog2 
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/11]

IMPLEMENT_GLOBAL_SHADER ( FVirtualVoxelGenerateMipCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"MainCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/11]

IMPLEMENT_GLOBAL_SHADER ( FVirtualVoxelIndirectArgMipCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"MainCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/11]

IMPLEMENT_GLOBAL_SHADER ( FVirtualVoxelInjectOpaqueCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"MainCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/11]

IMPLEMENT_GLOBAL_SHADER ( FVoxelAdaptiveFeedbackCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"FeedbackCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/11]

IMPLEMENT_GLOBAL_SHADER ( FVoxelAddIndirectBufferCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"AddIndirectBufferCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [6/11]

IMPLEMENT_GLOBAL_SHADER ( FVoxelAddNodeDescCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"AddDescCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [7/11]

IMPLEMENT_GLOBAL_SHADER ( FVoxelAllocatePageIndexCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"AllocatePageIndex"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [8/11]

IMPLEMENT_GLOBAL_SHADER ( FVoxelAllocateVoxelPageCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"AllocateCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [9/11]

IMPLEMENT_GLOBAL_SHADER ( FVoxelIndPageClearCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"VoxelIndPageClearCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [10/11]

IMPLEMENT_GLOBAL_SHADER ( FVoxelMarkValidPageIndex_PrepareCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"MarkValid_PrepareCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [11/11]

IMPLEMENT_GLOBAL_SHADER ( FVoxelRasterComputeCS  ,
"/Engine/Private/HairStrands/HairStrandsVoxelRasterCompute.usf"  ,
"MainCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT()

IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT ( FVirtualVoxelParameters  ,
"VirtualVoxel"   
)

◆ IsHairStrandContinuousDecimationReorderingEnabled()

bool IsHairStrandContinuousDecimationReorderingEnabled ( )

◆ IsHairStrandsForVoxelTransmittanceAndShadowEnable()

bool IsHairStrandsForVoxelTransmittanceAndShadowEnable ( EShaderPlatform  ShaderPlatform)

◆ IsHairStrandsGPUDrivenVoxelizationEnabled()

bool IsHairStrandsGPUDrivenVoxelizationEnabled ( )

◆ IsHairStrandsVoxelizationEnable()

bool IsHairStrandsVoxelizationEnable ( EShaderPlatform  ShaderPlatform)

Global enable/disable for hair voxelization.

◆ VoxelizeHairStrands()

void VoxelizeHairStrands ( FRDGBuilder GraphBuilder,
const FScene Scene,
FViewInfo View,
FInstanceCullingManager InstanceCullingManager,
const FVector PreViewStereoCorrection 
)