UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HeterogeneousVolumesVoxelGridPipeline.cpp File Reference
#include "HeterogeneousVolumes.h"
#include "HeterogeneousVolumeInterface.h"
#include "LocalVertexFactory.h"
#include "MeshPassUtils.h"
#include "PixelShaderUtils.h"
#include "RayTracingDefinitions.h"
#include "RayTracingInstance.h"
#include "RayTracingInstanceBufferUtil.h"
#include "RendererPrivate.h"
#include "ScenePrivate.h"
#include "PrimitiveDrawingUtils.h"
#include "BlueNoise.h"
#include "VolumeLighting.h"
#include "VolumetricFog.h"

Classes

struct  FRasterTileData
 
class  FMarkTopLevelGridVoxelsForFrustumGrid
 
class  FRasterizeBottomLevelFrustumGridCS
 
class  FTopLevelGridCalculateVoxelSize
 
class  FAllocateBottomLevelGrid
 
class  FGenerateRasterTiles
 
class  FSetRasterizeBottomLevelGridIndirectArgs
 
class  FRasterizeBottomLevelOrthoGridCS
 
class  FTopLevelCreateBitmaskCS
 
class  FBuildMajorantVoxelGridCS
 
class  FDownsampleMajorantVoxelGridCS
 
class  FCopyMaxIntoMajorantVoxelGridCS
 
struct  FRenderDebugData
 
class  FRenderTransmittanceWithVoxelGridCS
 
struct  FVolumetricShadowMapDebugData
 
class  FRenderVolumetricShadowMapForLightWithVoxelGridCS
 
class  FCompressVolumetricShadowMapCS
 
class  FCombineVolumetricShadowMapsCS
 
class  FConvertBeerLawShadowMapToVolumetricShadowMapCS
 
class  FConvertVolumetricShadowMapToBeerLawShadowMapCS
 
class  FVisualizeCascadesCS
 

Namespaces

namespace  HeterogeneousVolumes
 

Functions

 IMPLEMENT_UNIFORM_BUFFER_STRUCT (FOrthoVoxelGridUniformBufferParameters, "OrthoGridUniformBuffer")
 
 IMPLEMENT_UNIFORM_BUFFER_STRUCT (FFrustumVoxelGridUniformBufferParameters, "FrustumGridUniformBuffer")
 
 IMPLEMENT_UNIFORM_BUFFER_STRUCT (FAdaptiveVolumetricShadowMapUniformBufferParameters, "AVSM")
 
 IMPLEMENT_UNIFORM_BUFFER_STRUCT (FBeerShadowMapUniformBufferParameters, "BeerShadowMap")
 
bool HeterogeneousVolumes::EnableFrustumVoxelGrid ()
 
float HeterogeneousVolumes::GetShadingRateForFrustumGrid ()
 
float HeterogeneousVolumes::GetNearPlaneDistanceForFrustumGrid ()
 
float HeterogeneousVolumes::GetFarPlaneDistanceForFrustumGrid ()
 
int32 HeterogeneousVolumes::GetDepthSliceCountForFrustumGrid ()
 
int32 HeterogeneousVolumes::GetMaxBottomLevelMemoryInMegabytesForFrustumGrid ()
 
bool HeterogeneousVolumes::EnableOrthoVoxelGrid ()
 
float HeterogeneousVolumes::GetShadingRateForOrthoGrid ()
 
int32 HeterogeneousVolumes::GetMaxBottomLevelMemoryInMegabytesForOrthoGrid ()
 
bool HeterogeneousVolumes::EnableFarPlaneAutoTransition ()
 
float HeterogeneousVolumes::GetMinimumVoxelSizeInFrustum ()
 
float HeterogeneousVolumes::GetMinimumVoxelSizeOutsideFrustum ()
 
int32 HeterogeneousVolumes::GetMarchingMode ()
 
bool HeterogeneousVolumes::EnableVoxelHashing ()
 
uint32 HeterogeneousVolumes::GetVoxelHashingMemoryInMegabytes ()
 
bool HeterogeneousVolumes::EnableHomogeneousAggregation ()
 
float HeterogeneousVolumes::GetHomogeneousAggregationThreshold ()
 
bool HeterogeneousVolumes::EnableIndirectionGrid ()
 
bool HeterogeneousVolumes::EnableJitter ()
 
int32 HeterogeneousVolumes::GetBottomLevelGridResolution ()
 
int32 HeterogeneousVolumes::GetIndirectionGridResolution ()
 
bool HeterogeneousVolumes::EnableLinearInterpolation ()
 
bool HeterogeneousVolumes::EnableTopLevelBitmask ()
 
bool HeterogeneousVolumes::EnableMajorantGrid ()
 
float HeterogeneousVolumes::CalcTanHalfFOV (float FOVInDegrees)
 
FIntPoint HeterogeneousVolumes::GetShadowMapResolution ()
 
float HeterogeneousVolumes::GetStepSizeForShadows ()
 
uint32 HeterogeneousVolumes::GetShadowMaxSampleCount ()
 
float HeterogeneousVolumes::GetShadowAbsoluteErrorThreshold ()
 
float HeterogeneousVolumes::GetShadowRelativeErrorThreshold ()
 
bool HeterogeneousVolumes::UseAVSMCompression ()
 
float HeterogeneousVolumes::GetCameraDownsampleFactor ()
 
float HeterogeneousVolumes::GetShadingRateForShadows ()
 
float HeterogeneousVolumes::GetOutOfFrustumShadingRateForShadows ()
 
bool HeterogeneousVolumes::EnableJitterForShadows ()
 
bool HeterogeneousVolumes::SupportsShadowForLightType (uint32 LightType)
 
bool HeterogeneousVolumes::SupportsCascadeShadowsForDirectionalLight ()
 
ECascadeShadowMode HeterogeneousVolumes::GetCascadeShadowMode ()
 
int32 HeterogeneousVolumes::GetCascadeShadowsQuantizationUnit ()
 
bool HeterogeneousVolumes::IsDynamicShadow (const FVisibleLightInfo *VisibleLightInfo)
 
const FProjectedShadowInfoHeterogeneousVolumes::GetProjectedShadowInfo (const FVisibleLightInfo *VisibleLightInfo, int32 ShadowIndex)
 
uint32 GetTypeHash (const FVolumetricMeshBatch &MeshBatch)
 
 IMPLEMENT_GLOBAL_SHADER (FMarkTopLevelGridVoxelsForFrustumGrid, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesFrustumVoxelGrid.usf", "MarkTopLevelGridVoxelsForFrustumGridCS", SF_Compute)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FRasterizeBottomLevelFrustumGridCS, TEXT("/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesMaterialBakingPipeline.usf"), TEXT("RasterizeBottomLevelFrustumGridCS"), SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FTopLevelGridCalculateVoxelSize, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf", "TopLevelGridCalculateVoxelSize", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FAllocateBottomLevelGrid, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf", "AllocateBottomLevelGrid", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FGenerateRasterTiles, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf", "GenerateRasterTiles", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FSetRasterizeBottomLevelGridIndirectArgs, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf", "SetRasterizeBottomLevelGridIndirectArgs", SF_Compute)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FRasterizeBottomLevelOrthoGridCS, TEXT("/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesMaterialBakingPipeline.usf"), TEXT("RasterizeBottomLevelOrthoGridCS"), SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FTopLevelCreateBitmaskCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf", "TopLevelCreateBitmaskCS", SF_Compute)
 
void CreateTopLevelBitmask (FRDGBuilder &GraphBuilder, TArray< FViewInfo > &Views, FIntVector TopLevelGridResolution, FRDGBufferRef TopLevelGridBuffer, FRDGBufferRef &TopLevelGridBitmaskBuffer)
 
 IMPLEMENT_GLOBAL_SHADER (FBuildMajorantVoxelGridCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf", "BuildMajorantVoxelGridCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FDownsampleMajorantVoxelGridCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf", "DownsampleMajorantVoxelGridCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCopyMaxIntoMajorantVoxelGridCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf", "CopyMaximumIntoMajorantVoxelGridCS", SF_Compute)
 
void BuildMajorantVoxelGrid (FRDGBuilder &GraphBuilder, const FScene *Scene, const FIntVector &TopLevelGridResolution, FRDGBufferRef TopLevelGridBuffer, FRDGBufferRef IndirectionGridBuffer, FRDGBufferRef ExtinctionGridBuffer, FRDGBufferRef &MajorantVoxelGridBuffer)
 
 IMPLEMENT_GLOBAL_SHADER (FRenderTransmittanceWithVoxelGridCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridRendering.usf", "RenderTransmittanceWithVoxelGridCS", SF_Compute)
 
void CalcViewBoundsAndMinimumVoxelSize (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FVoxelGridBuildOptions &BuildOptions, FBoxSphereBounds::Builder &TopLevelGridBoundsBuilder, float &MinimumVoxelSize)
 
void CalcGlobalBoundsAndMinimumVoxelSize (FRDGBuilder &GraphBuilder, const TArray< FViewInfo > &Views, const TSet< FVolumetricMeshBatch > &HeterogeneousVolumesMeshBatches, const FVoxelGridBuildOptions &BuildOptions, FBoxSphereBounds::Builder &TopLevelGridBoundsBuilder, float &GlobalMinimumVoxelSize)
 
void ExtractFrustumVoxelGridUniformBuffer (FRDGBuilder &GraphBuilder, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer, FAdaptiveFrustumGridParameterCache &AdaptiveFrustumGridParameterCache)
 
void RegisterExternalFrustumVoxelGridUniformBuffer (FRDGBuilder &GraphBuilder, const FAdaptiveFrustumGridParameterCache &AdaptiveFrustumGridParameterCache, TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer)
 
TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParametersCreateEmptyFrustumVoxelGridUniformBuffer (FRDGBuilder &GraphBuilder)
 
void ClipNearFarDistances (const FViewInfo &View, const FBoxSphereBounds &TopLevelGridBounds, float &NearPlaneDistance, float &FarPlaneDistance)
 
void CalculateTopLevelGridResolution (FBoxSphereBounds TopLevelGridBounds, float GlobalMinimumVoxelSize, FIntVector &TopLevelGridResolution)
 
void CalculateVoxelSize (FRDGBuilder &GraphBuilder, const FScene *Scene, TArray< FViewInfo > &Views, const TSet< FVolumetricMeshBatch > &HeterogeneousVolumesMeshBatches, const FVoxelGridBuildOptions &BuildOptions, FBoxSphereBounds TopLevelGridBounds, FIntVector TopLevelGridResolution, FRDGBufferRef &TopLevelGridBuffer)
 
void MarkTopLevelGrid (FRDGBuilder &GraphBuilder, const FScene *Scene, FBoxSphereBounds TopLevelGridBounds, FIntVector TopLevelGridResolution, FRDGBufferRef &TopLevelGridBuffer, FRDGBufferRef &IndirectionGridBuffer)
 
void GenerateRasterTiles (FRDGBuilder &GraphBuilder, const FScene *Scene, bool bEnableIndirectionGrid, FIntVector TopLevelGridResolution, FRDGBufferRef TopLevelGridBuffer, FRDGBufferRef &RasterTileBuffer, FRDGBufferRef &RasterTileAllocatorBuffer)
 
void CalculateTopLevelGridResolutionForFrustumGrid (const FViewInfo &View, float MinimumVoxelSize, float NearPlaneDistance, float &FarPlaneDistance, FIntVector &TopLevelGridResolution)
 
void MarkTopLevelGridVoxelsForFrustumGrid (FRDGBuilder &GraphBuilder, const FViewInfo &View, FIntVector TopLevelGridResolution, float NearPlaneDistance, float FarPlaneDistance, const FMatrix &ViewToWorld, FRDGBufferRef &TopLevelGridBuffer)
 
void RasterizeVolumesIntoFrustumVoxelGrid (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FVoxelGridBuildOptions &BuildOptions, FMatrix &ViewToWorld, float NearPlaneDistance, float FarPlaneDistance, FRDGBufferRef RasterTileBuffer, FRDGBufferRef RasterTileAllocatorBuffer, FBoxSphereBounds TopLevelGridBounds, FIntVector TopLevelGridResolution, FRDGBufferRef &TopLevelGridBuffer, FRDGBufferRef &ExtinctionGridBuffer, FRDGBufferRef &EmissionGridBuffer, FRDGBufferRef &ScatteringGridBuffer)
 
void BuildFrustumVoxelGrid (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FVoxelGridBuildOptions &BuildOptions, TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer)
 
void ExtractOrthoVoxelGridUniformBuffer (FRDGBuilder &GraphBuilder, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, FAdaptiveOrthoGridParameterCache &AdaptiveOrthoGridParameterCache)
 
void RegisterExternalOrthoVoxelGridUniformBuffer (FRDGBuilder &GraphBuilder, const FAdaptiveOrthoGridParameterCache &AdaptiveOrthoGridParameterCache, TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer)
 
TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParametersCreateEmptyOrthoVoxelGridUniformBuffer (FRDGBuilder &GraphBuilder)
 
TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParametersHeterogeneousVolumes::GetOrthoVoxelGridUniformBuffer (FRDGBuilder &GraphBuilder, FSceneViewState *ViewState)
 
TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParametersHeterogeneousVolumes::GetFrustumVoxelGridUniformBuffer (FRDGBuilder &GraphBuilder, FSceneViewState *ViewState)
 
void RasterizeVolumesIntoOrthoVoxelGrid (FRDGBuilder &GraphBuilder, const FScene *Scene, const TArray< FViewInfo > &Views, const TSet< FVolumetricMeshBatch > &HeterogeneousVolumesMeshBatches, const FVoxelGridBuildOptions BuildOptions, FRDGBufferRef RasterTileBuffer, FRDGBufferRef RasterTileAllocatorBuffer, FBoxSphereBounds TopLevelGridBounds, FIntVector TopLevelGridResolution, FRDGBufferRef &TopLevelGridBuffer, FRDGBufferRef &IndirectionGridBuffer, FRDGBufferRef &ExtinctionGridBuffer, FRDGBufferRef &EmissionGridBuffer, FRDGBufferRef &ScatteringGridBuffer)
 
bool ShouldAddToVoxelGrid (const FPrimitiveSceneProxy *Proxy, const FViewInfo &View, const FVoxelGridBuildOptions &BuildOptions)
 
void CollectHeterogeneousVolumeMeshBatches (FRDGBuilder &GraphBuilder, const FVoxelGridBuildOptions &BuildOptions, const FScene *Scene, const TArray< FViewInfo > &Views, const TArray< FVisibleLightInfo, SceneRenderingAllocator > VisibleLightInfos, TSet< FVolumetricMeshBatch > &HeterogeneousVolumesMeshBatches)
 
void BuildOrthoVoxelGrid (FRDGBuilder &GraphBuilder, const FScene *Scene, TArray< FViewInfo > &Views, const TArray< FVisibleLightInfo, SceneRenderingAllocator > &VisibleLightInfos, const FVoxelGridBuildOptions &BuildOptions, TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer)
 
void RenderTransmittanceWithVoxelGrid (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer, FRDGTextureRef &HeterogeneousVolumeRadiance)
 
 IMPLEMENT_GLOBAL_SHADER (FRenderVolumetricShadowMapForLightWithVoxelGridCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf", "RenderVolumetricShadowMapForLightWithVoxelGridCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCompressVolumetricShadowMapCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf", "CompressVolumetricShadowMapCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCombineVolumetricShadowMapsCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf", "CombineVolumetricShadowMapsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FConvertBeerLawShadowMapToVolumetricShadowMapCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf", "ConvertBeerLawShadowMapToVolumetricShadowMapCS", SF_Compute)
 
void ConvertBeerLawShadowMapToVolumetricShadowMap (FRDGBuilder &GraphBuilder, FViewInfo &View, FIntPoint ShadowMapResolution, FRDGTextureRef BeerShadowMapTexture, FRDGBufferRef &VolumetricShadowIndirectionBuffer, FRDGBufferRef &VolumetricShadowTransmittanceBuffer)
 
 IMPLEMENT_GLOBAL_SHADER (FConvertVolumetricShadowMapToBeerLawShadowMapCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf", "ConvertVolumetricShadowMapToBeerLawShadowMapCS", SF_Compute)
 
void ConvertVolumetricShadowMapToBeerLawShadowMap (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FViewInfo &View, const FString &ShadowMapName, FIntPoint ShadowMapResolution, FIntVector GroupCount, FRDGBufferRef VolumetricShadowLinkedListBuffer, FRDGTextureRef &BeerShadowMapTexture)
 
void CreateAdaptiveVolumetricShadowMapUniformBufferParameters (FRDGBuilder &GraphBuilder, const FVector3f *TranslatedWorldOrigin, const FVector4f *TranslatedWorldPlane, const FMatrix44f *TranslatedWorldToShadow, const FVector4f *SplitDepths, FIntPoint VolumetricShadowMapResolution, float VolumetricShadowMapDownsampleFactor, int32 NumShadowMatrices, uint32 VolumetricShadowMapMaxSampleCount, bool bIsDirectionalLight, FRDGBufferRef VolumetricShadowMapLinkedListBuffer, FRDGBufferRef VolumetricShadowMapIndirectionBuffer, FRDGBufferRef VolumetricShadowMapSampleBuffer, FAdaptiveVolumetricShadowMapUniformBufferParameters *&Parameters)
 
void CreateAdaptiveVolumetricShadowMapUniformBuffer (FRDGBuilder &GraphBuilder, const FVector3f *TranslatedWorldOrigin, const FVector4f *TranslatedWorldPlane, const FMatrix44f *TranslatedWorldToShadow, const FVector4f *SplitDepths, FIntPoint VolumetricShadowMapResolution, float VolumetricShadowMapDownsampleFactor, int32 NumShadowMatrices, uint32 VolumetricShadowMapMaxSampleCount, bool bIsDirectionalLight, FRDGBufferRef VolumetricShadowMapLinkedListBuffer, FRDGBufferRef VolumetricShadowMapIndirectionBuffer, FRDGBufferRef VolumetricShadowMapSampleBuffer, TRDGUniformBufferRef< FAdaptiveVolumetricShadowMapUniformBufferParameters > &AdaptiveVolumetricShadowMapUniformBuffer)
 
void CreateBeerShadowMapUniformBufferParameters (FRDGBuilder &GraphBuilder, const FVector3f *TranslatedWorldOrigin, const FVector4f *TranslatedWorldPlane, const FMatrix44f *TranslatedWorldToShadow, const FVector4f *SplitDepths, FIntPoint VolumetricShadowMapResolution, float VolumetricShadowMapDownsampleFactor, int32 NumShadowMatrices, uint32 VolumetricShadowMapMaxSampleCount, bool bIsDirectionalLight, FRDGTextureRef BeerShadowMapTexture, FBeerShadowMapUniformBufferParameters *&Parameters)
 
void CreateBeerShadowMapUniformBuffer (FRDGBuilder &GraphBuilder, const FVector3f *TranslatedWorldOrigin, const FVector4f *TranslatedWorldPlane, const FMatrix44f *TranslatedWorldToShadow, const FVector4f *SplitDepths, FIntPoint VolumetricShadowMapResolution, float VolumetricShadowMapDownsampleFactor, int32 NumShadowMatrices, uint32 VolumetricShadowMapMaxSampleCount, bool bIsDirectionalLight, FRDGTextureRef BeerShadowMapTexture, TRDGUniformBufferRef< FBeerShadowMapUniformBufferParameters > &BeerShadowMapUniformBuffer)
 
TRDGUniformBufferRef< FAdaptiveVolumetricShadowMapUniformBufferParametersHeterogeneousVolumes::CreateEmptyAdaptiveVolumetricShadowMapUniformBuffer (FRDGBuilder &GraphBuilder)
 
void HeterogeneousVolumes::DestroyAdaptiveVolumetricShadowMapUniformBuffer (TRDGUniformBufferRef< FAdaptiveVolumetricShadowMapUniformBufferParameters > &AdaptiveVolumetricShadowMapUniformBuffer)
 
TRDGUniformBufferRef< FAdaptiveVolumetricShadowMapUniformBufferParametersHeterogeneousVolumes::GetAdaptiveVolumetricShadowMapUniformBuffer (FRDGBuilder &GraphBuilder, FSceneViewState *ViewState, const FLightSceneInfo *LightSceneInfo)
 
TRDGUniformBufferRef< FAdaptiveVolumetricShadowMapUniformBufferParametersHeterogeneousVolumes::GetAdaptiveVolumetricCameraMapUniformBuffer (FRDGBuilder &GraphBuilder, FSceneViewState *ViewState)
 
FAdaptiveVolumetricShadowMapUniformBufferParameters HeterogeneousVolumes::GetAdaptiveVolumetricCameraMapParameters (FRDGBuilder &GraphBuilder, FSceneViewState *ViewState)
 
TRDGUniformBufferRef< FBeerShadowMapUniformBufferParametersHeterogeneousVolumes::CreateEmptyBeerShadowMapUniformBuffer (FRDGBuilder &GraphBuilder)
 
void HeterogeneousVolumes::DestroyBeerShadowMapUniformBuffer (TRDGUniformBufferRef< FBeerShadowMapUniformBufferParameters > &BeerShadowMapUniformBuffer)
 
TRDGUniformBufferRef< FBeerShadowMapUniformBufferParametersHeterogeneousVolumes::GetBeerShadowMapUniformBuffer (FRDGBuilder &GraphBuilder, FSceneViewState *ViewState, const FLightSceneInfo *LightSceneInfo)
 
void CompressVolumetricShadowMap (FRDGBuilder &GraphBuilder, FViewInfo &View, FIntVector GroupCount, FIntPoint ShadowMapResolution, uint32 MaxSampleCount, FRDGBufferRef VolumetricShadowLinkedListBuffer, FRDGBufferRef &VolumetricShadowIndirectionBuffer, FRDGBufferRef &VolumetricShadowTransmittanceBuffer)
 
void CombineVolumetricShadowMap (FRDGBuilder &GraphBuilder, FViewInfo &View, FIntVector GroupCount, uint32 LightType, FIntPoint ShadowMapResolution, uint32 MaxSampleCount, FRDGBufferRef VolumetricShadowLinkedListBuffer0, FRDGBufferRef VolumetricShadowLinkedListBuffer1, FRDGBufferRef &VolumetricShadowLinkedListBuffer)
 
void RenderVolumetricShadowMapForLightWithVoxelGrid (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, bool bApplyEmissionAndTransmittance, bool bApplyDirectLighting, bool bApplyShadowTransmittance, uint32 LightType, const FLightSceneInfo *LightSceneInfo, const FVisibleLightInfo *VisibleLightInfo, const FVirtualShadowMapArray &VirtualShadowMapArray, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer, bool &bIsDirectionalLight, FVector3f *TranslatedWorldOrigin, FVector4f *TranslatedWorldPlane, FMatrix44f *TranslatedWorldToShadow, FIntVector &GroupCount, int32 &NumShadowMatrices, FIntPoint &ShadowMapResolution, uint32 &MaxSampleCount, FRDGTextureRef &BeerShadowMapTexture, FRDGBufferRef &VolumetricShadowLinkedListBuffer)
 
void RenderVolumetricShadowMapForCameraWithVoxelGrid (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer, FVector3f &TranslatedWorldOrigin, FMatrix44f &TranslatedWorldToShadow, FIntVector &GroupCount, FIntPoint &ShadowMapResolution, uint32 &MaxSampleCount, FRDGTextureRef &BeerShadowMapTexture, FRDGBufferRef &VolumetricShadowLinkedListBuffer)
 
void RenderAdaptiveVolumetricShadowMapWithVoxelGrid (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, TArray< FVisibleLightInfo, SceneRenderingAllocator > &VisibleLightInfos, const FVirtualShadowMapArray &VirtualShadowMapArray, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer)
 
void RenderAdaptiveVolumetricCameraMapWithVoxelGrid (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer)
 
 IMPLEMENT_GLOBAL_SHADER (FVisualizeCascadesCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVisualizeCascades.usf", "VisualizeCascadesCS", SF_Compute)
 
void VisualizeCascades (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const FScene *Scene, const FViewInfo &View, const FLightSceneInfo *LightSceneInfo, FRDGTextureRef &VisualizationTexture)
 

Function Documentation

◆ BuildFrustumVoxelGrid()

void BuildFrustumVoxelGrid ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
const FVoxelGridBuildOptions BuildOptions,
TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &  FrustumGridUniformBuffer 
)

◆ BuildMajorantVoxelGrid()

void BuildMajorantVoxelGrid ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FIntVector TopLevelGridResolution,
FRDGBufferRef  TopLevelGridBuffer,
FRDGBufferRef  IndirectionGridBuffer,
FRDGBufferRef  ExtinctionGridBuffer,
FRDGBufferRef MajorantVoxelGridBuffer 
)

◆ BuildOrthoVoxelGrid()

void BuildOrthoVoxelGrid ( FRDGBuilder GraphBuilder,
const FScene Scene,
TArray< FViewInfo > &  Views,
const TArray< FVisibleLightInfo, SceneRenderingAllocator > &  VisibleLightInfos,
const FVoxelGridBuildOptions BuildOptions,
TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &  OrthoGridUniformBuffer 
)

◆ CalcGlobalBoundsAndMinimumVoxelSize()

void CalcGlobalBoundsAndMinimumVoxelSize ( FRDGBuilder GraphBuilder,
const TArray< FViewInfo > &  Views,
const TSet< FVolumetricMeshBatch > &  HeterogeneousVolumesMeshBatches,
const FVoxelGridBuildOptions BuildOptions,
FBoxSphereBounds::Builder TopLevelGridBoundsBuilder,
float GlobalMinimumVoxelSize 
)

◆ CalculateTopLevelGridResolution()

void CalculateTopLevelGridResolution ( FBoxSphereBounds  TopLevelGridBounds,
float  GlobalMinimumVoxelSize,
FIntVector TopLevelGridResolution 
)

◆ CalculateTopLevelGridResolutionForFrustumGrid()

void CalculateTopLevelGridResolutionForFrustumGrid ( const FViewInfo View,
float  MinimumVoxelSize,
float  NearPlaneDistance,
float FarPlaneDistance,
FIntVector TopLevelGridResolution 
)

◆ CalculateVoxelSize()

void CalculateVoxelSize ( FRDGBuilder GraphBuilder,
const FScene Scene,
TArray< FViewInfo > &  Views,
const TSet< FVolumetricMeshBatch > &  HeterogeneousVolumesMeshBatches,
const FVoxelGridBuildOptions BuildOptions,
FBoxSphereBounds  TopLevelGridBounds,
FIntVector  TopLevelGridResolution,
FRDGBufferRef TopLevelGridBuffer 
)

◆ CalcViewBoundsAndMinimumVoxelSize()

void CalcViewBoundsAndMinimumVoxelSize ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FVoxelGridBuildOptions BuildOptions,
FBoxSphereBounds::Builder TopLevelGridBoundsBuilder,
float MinimumVoxelSize 
)

◆ ClipNearFarDistances()

void ClipNearFarDistances ( const FViewInfo View,
const FBoxSphereBounds TopLevelGridBounds,
float NearPlaneDistance,
float FarPlaneDistance 
)

◆ CollectHeterogeneousVolumeMeshBatches()

void CollectHeterogeneousVolumeMeshBatches ( FRDGBuilder GraphBuilder,
const FVoxelGridBuildOptions BuildOptions,
const FScene Scene,
const TArray< FViewInfo > &  Views,
const TArray< FVisibleLightInfo, SceneRenderingAllocator VisibleLightInfos,
TSet< FVolumetricMeshBatch > &  HeterogeneousVolumesMeshBatches 
)

◆ CombineVolumetricShadowMap()

void CombineVolumetricShadowMap ( FRDGBuilder GraphBuilder,
FViewInfo View,
FIntVector  GroupCount,
uint32  LightType,
FIntPoint  ShadowMapResolution,
uint32  MaxSampleCount,
FRDGBufferRef  VolumetricShadowLinkedListBuffer0,
FRDGBufferRef  VolumetricShadowLinkedListBuffer1,
FRDGBufferRef VolumetricShadowLinkedListBuffer 
)

◆ CompressVolumetricShadowMap()

void CompressVolumetricShadowMap ( FRDGBuilder GraphBuilder,
FViewInfo View,
FIntVector  GroupCount,
FIntPoint  ShadowMapResolution,
uint32  MaxSampleCount,
FRDGBufferRef  VolumetricShadowLinkedListBuffer,
FRDGBufferRef VolumetricShadowIndirectionBuffer,
FRDGBufferRef VolumetricShadowTransmittanceBuffer 
)

◆ ConvertBeerLawShadowMapToVolumetricShadowMap()

void ConvertBeerLawShadowMapToVolumetricShadowMap ( FRDGBuilder GraphBuilder,
FViewInfo View,
FIntPoint  ShadowMapResolution,
FRDGTextureRef  BeerShadowMapTexture,
FRDGBufferRef VolumetricShadowIndirectionBuffer,
FRDGBufferRef VolumetricShadowTransmittanceBuffer 
)

◆ ConvertVolumetricShadowMapToBeerLawShadowMap()

void ConvertVolumetricShadowMapToBeerLawShadowMap ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures,
FViewInfo View,
const FString &  ShadowMapName,
FIntPoint  ShadowMapResolution,
FIntVector  GroupCount,
FRDGBufferRef  VolumetricShadowLinkedListBuffer,
FRDGTextureRef BeerShadowMapTexture 
)

◆ CreateAdaptiveVolumetricShadowMapUniformBuffer()

void CreateAdaptiveVolumetricShadowMapUniformBuffer ( FRDGBuilder GraphBuilder,
const FVector3f TranslatedWorldOrigin,
const FVector4f TranslatedWorldPlane,
const FMatrix44f TranslatedWorldToShadow,
const FVector4f SplitDepths,
FIntPoint  VolumetricShadowMapResolution,
float  VolumetricShadowMapDownsampleFactor,
int32  NumShadowMatrices,
uint32  VolumetricShadowMapMaxSampleCount,
bool  bIsDirectionalLight,
FRDGBufferRef  VolumetricShadowMapLinkedListBuffer,
FRDGBufferRef  VolumetricShadowMapIndirectionBuffer,
FRDGBufferRef  VolumetricShadowMapSampleBuffer,
TRDGUniformBufferRef< FAdaptiveVolumetricShadowMapUniformBufferParameters > &  AdaptiveVolumetricShadowMapUniformBuffer 
)

◆ CreateAdaptiveVolumetricShadowMapUniformBufferParameters()

void CreateAdaptiveVolumetricShadowMapUniformBufferParameters ( FRDGBuilder GraphBuilder,
const FVector3f TranslatedWorldOrigin,
const FVector4f TranslatedWorldPlane,
const FMatrix44f TranslatedWorldToShadow,
const FVector4f SplitDepths,
FIntPoint  VolumetricShadowMapResolution,
float  VolumetricShadowMapDownsampleFactor,
int32  NumShadowMatrices,
uint32  VolumetricShadowMapMaxSampleCount,
bool  bIsDirectionalLight,
FRDGBufferRef  VolumetricShadowMapLinkedListBuffer,
FRDGBufferRef  VolumetricShadowMapIndirectionBuffer,
FRDGBufferRef  VolumetricShadowMapSampleBuffer,
FAdaptiveVolumetricShadowMapUniformBufferParameters *&  Parameters 
)

◆ CreateBeerShadowMapUniformBuffer()

void CreateBeerShadowMapUniformBuffer ( FRDGBuilder GraphBuilder,
const FVector3f TranslatedWorldOrigin,
const FVector4f TranslatedWorldPlane,
const FMatrix44f TranslatedWorldToShadow,
const FVector4f SplitDepths,
FIntPoint  VolumetricShadowMapResolution,
float  VolumetricShadowMapDownsampleFactor,
int32  NumShadowMatrices,
uint32  VolumetricShadowMapMaxSampleCount,
bool  bIsDirectionalLight,
FRDGTextureRef  BeerShadowMapTexture,
TRDGUniformBufferRef< FBeerShadowMapUniformBufferParameters > &  BeerShadowMapUniformBuffer 
)

◆ CreateBeerShadowMapUniformBufferParameters()

void CreateBeerShadowMapUniformBufferParameters ( FRDGBuilder GraphBuilder,
const FVector3f TranslatedWorldOrigin,
const FVector4f TranslatedWorldPlane,
const FMatrix44f TranslatedWorldToShadow,
const FVector4f SplitDepths,
FIntPoint  VolumetricShadowMapResolution,
float  VolumetricShadowMapDownsampleFactor,
int32  NumShadowMatrices,
uint32  VolumetricShadowMapMaxSampleCount,
bool  bIsDirectionalLight,
FRDGTextureRef  BeerShadowMapTexture,
FBeerShadowMapUniformBufferParameters *&  Parameters 
)

◆ CreateEmptyFrustumVoxelGridUniformBuffer()

TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > CreateEmptyFrustumVoxelGridUniformBuffer ( FRDGBuilder GraphBuilder)

◆ CreateEmptyOrthoVoxelGridUniformBuffer()

TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > CreateEmptyOrthoVoxelGridUniformBuffer ( FRDGBuilder GraphBuilder)

◆ CreateTopLevelBitmask()

void CreateTopLevelBitmask ( FRDGBuilder GraphBuilder,
TArray< FViewInfo > &  Views,
FIntVector  TopLevelGridResolution,
FRDGBufferRef  TopLevelGridBuffer,
FRDGBufferRef TopLevelGridBitmaskBuffer 
)

◆ ExtractFrustumVoxelGridUniformBuffer()

void ExtractFrustumVoxelGridUniformBuffer ( FRDGBuilder GraphBuilder,
const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &  FrustumGridUniformBuffer,
FAdaptiveFrustumGridParameterCache AdaptiveFrustumGridParameterCache 
)

◆ ExtractOrthoVoxelGridUniformBuffer()

void ExtractOrthoVoxelGridUniformBuffer ( FRDGBuilder GraphBuilder,
const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &  OrthoGridUniformBuffer,
FAdaptiveOrthoGridParameterCache AdaptiveOrthoGridParameterCache 
)

◆ GenerateRasterTiles()

void GenerateRasterTiles ( FRDGBuilder GraphBuilder,
const FScene Scene,
bool  bEnableIndirectionGrid,
FIntVector  TopLevelGridResolution,
FRDGBufferRef  TopLevelGridBuffer,
FRDGBufferRef RasterTileBuffer,
FRDGBufferRef RasterTileAllocatorBuffer 
)

◆ GetTypeHash()

uint32 GetTypeHash ( const FVolumetricMeshBatch MeshBatch)

◆ IMPLEMENT_GLOBAL_SHADER() [1/16]

IMPLEMENT_GLOBAL_SHADER ( FAllocateBottomLevelGrid  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf"  ,
"AllocateBottomLevelGrid"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/16]

IMPLEMENT_GLOBAL_SHADER ( FBuildMajorantVoxelGridCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf"  ,
"BuildMajorantVoxelGridCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/16]

IMPLEMENT_GLOBAL_SHADER ( FCombineVolumetricShadowMapsCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf"  ,
"CombineVolumetricShadowMapsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/16]

IMPLEMENT_GLOBAL_SHADER ( FCompressVolumetricShadowMapCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf"  ,
"CompressVolumetricShadowMapCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/16]

IMPLEMENT_GLOBAL_SHADER ( FConvertBeerLawShadowMapToVolumetricShadowMapCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf"  ,
"ConvertBeerLawShadowMapToVolumetricShadowMapCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [6/16]

IMPLEMENT_GLOBAL_SHADER ( FConvertVolumetricShadowMapToBeerLawShadowMapCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf"  ,
"ConvertVolumetricShadowMapToBeerLawShadowMapCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [7/16]

IMPLEMENT_GLOBAL_SHADER ( FCopyMaxIntoMajorantVoxelGridCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf"  ,
"CopyMaximumIntoMajorantVoxelGridCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [8/16]

IMPLEMENT_GLOBAL_SHADER ( FDownsampleMajorantVoxelGridCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf"  ,
"DownsampleMajorantVoxelGridCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [9/16]

IMPLEMENT_GLOBAL_SHADER ( FGenerateRasterTiles  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf"  ,
"GenerateRasterTiles"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [10/16]

IMPLEMENT_GLOBAL_SHADER ( FMarkTopLevelGridVoxelsForFrustumGrid  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesFrustumVoxelGrid.usf"  ,
"MarkTopLevelGridVoxelsForFrustumGridCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [11/16]

IMPLEMENT_GLOBAL_SHADER ( FRenderTransmittanceWithVoxelGridCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridRendering.usf"  ,
"RenderTransmittanceWithVoxelGridCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [12/16]

IMPLEMENT_GLOBAL_SHADER ( FRenderVolumetricShadowMapForLightWithVoxelGridCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridShadows.usf"  ,
"RenderVolumetricShadowMapForLightWithVoxelGridCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [13/16]

IMPLEMENT_GLOBAL_SHADER ( FSetRasterizeBottomLevelGridIndirectArgs  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf"  ,
"SetRasterizeBottomLevelGridIndirectArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [14/16]

IMPLEMENT_GLOBAL_SHADER ( FTopLevelCreateBitmaskCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf"  ,
"TopLevelCreateBitmaskCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [15/16]

IMPLEMENT_GLOBAL_SHADER ( FTopLevelGridCalculateVoxelSize  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVoxelGridPipeline.usf"  ,
"TopLevelGridCalculateVoxelSize"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [16/16]

IMPLEMENT_GLOBAL_SHADER ( FVisualizeCascadesCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesVisualizeCascades.usf"  ,
"VisualizeCascadesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [1/2]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FRasterizeBottomLevelFrustumGridCS  ,
TEXT("/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesMaterialBakingPipeline.usf" ,
TEXT("RasterizeBottomLevelFrustumGridCS")  ,
SF_Compute   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [2/2]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FRasterizeBottomLevelOrthoGridCS  ,
TEXT("/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesMaterialBakingPipeline.usf" ,
TEXT("RasterizeBottomLevelOrthoGridCS")  ,
SF_Compute   
)

◆ IMPLEMENT_UNIFORM_BUFFER_STRUCT() [1/4]

IMPLEMENT_UNIFORM_BUFFER_STRUCT ( FAdaptiveVolumetricShadowMapUniformBufferParameters  ,
"AVSM"   
)

◆ IMPLEMENT_UNIFORM_BUFFER_STRUCT() [2/4]

IMPLEMENT_UNIFORM_BUFFER_STRUCT ( FBeerShadowMapUniformBufferParameters  ,
"BeerShadowMap"   
)

◆ IMPLEMENT_UNIFORM_BUFFER_STRUCT() [3/4]

IMPLEMENT_UNIFORM_BUFFER_STRUCT ( FFrustumVoxelGridUniformBufferParameters  ,
"FrustumGridUniformBuffer"   
)

◆ IMPLEMENT_UNIFORM_BUFFER_STRUCT() [4/4]

IMPLEMENT_UNIFORM_BUFFER_STRUCT ( FOrthoVoxelGridUniformBufferParameters  ,
"OrthoGridUniformBuffer"   
)

◆ MarkTopLevelGrid()

void MarkTopLevelGrid ( FRDGBuilder GraphBuilder,
const FScene Scene,
FBoxSphereBounds  TopLevelGridBounds,
FIntVector  TopLevelGridResolution,
FRDGBufferRef TopLevelGridBuffer,
FRDGBufferRef IndirectionGridBuffer 
)

◆ MarkTopLevelGridVoxelsForFrustumGrid()

void MarkTopLevelGridVoxelsForFrustumGrid ( FRDGBuilder GraphBuilder,
const FViewInfo View,
FIntVector  TopLevelGridResolution,
float  NearPlaneDistance,
float  FarPlaneDistance,
const FMatrix ViewToWorld,
FRDGBufferRef TopLevelGridBuffer 
)

◆ RasterizeVolumesIntoFrustumVoxelGrid()

void RasterizeVolumesIntoFrustumVoxelGrid ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
const FVoxelGridBuildOptions BuildOptions,
FMatrix ViewToWorld,
float  NearPlaneDistance,
float  FarPlaneDistance,
FRDGBufferRef  RasterTileBuffer,
FRDGBufferRef  RasterTileAllocatorBuffer,
FBoxSphereBounds  TopLevelGridBounds,
FIntVector  TopLevelGridResolution,
FRDGBufferRef TopLevelGridBuffer,
FRDGBufferRef ExtinctionGridBuffer,
FRDGBufferRef EmissionGridBuffer,
FRDGBufferRef ScatteringGridBuffer 
)

◆ RasterizeVolumesIntoOrthoVoxelGrid()

void RasterizeVolumesIntoOrthoVoxelGrid ( FRDGBuilder GraphBuilder,
const FScene Scene,
const TArray< FViewInfo > &  Views,
const TSet< FVolumetricMeshBatch > &  HeterogeneousVolumesMeshBatches,
const FVoxelGridBuildOptions  BuildOptions,
FRDGBufferRef  RasterTileBuffer,
FRDGBufferRef  RasterTileAllocatorBuffer,
FBoxSphereBounds  TopLevelGridBounds,
FIntVector  TopLevelGridResolution,
FRDGBufferRef TopLevelGridBuffer,
FRDGBufferRef IndirectionGridBuffer,
FRDGBufferRef ExtinctionGridBuffer,
FRDGBufferRef EmissionGridBuffer,
FRDGBufferRef ScatteringGridBuffer 
)

◆ RegisterExternalFrustumVoxelGridUniformBuffer()

void RegisterExternalFrustumVoxelGridUniformBuffer ( FRDGBuilder GraphBuilder,
const FAdaptiveFrustumGridParameterCache AdaptiveFrustumGridParameterCache,
TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &  FrustumGridUniformBuffer 
)

◆ RegisterExternalOrthoVoxelGridUniformBuffer()

void RegisterExternalOrthoVoxelGridUniformBuffer ( FRDGBuilder GraphBuilder,
const FAdaptiveOrthoGridParameterCache AdaptiveOrthoGridParameterCache,
TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &  OrthoGridUniformBuffer 
)

◆ RenderAdaptiveVolumetricCameraMapWithVoxelGrid()

void RenderAdaptiveVolumetricCameraMapWithVoxelGrid ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures,
FScene Scene,
FViewInfo View,
const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &  OrthoGridUniformBuffer,
const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &  FrustumGridUniformBuffer 
)

◆ RenderAdaptiveVolumetricShadowMapWithVoxelGrid()

void RenderAdaptiveVolumetricShadowMapWithVoxelGrid ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures,
FScene Scene,
FViewInfo View,
TArray< FVisibleLightInfo, SceneRenderingAllocator > &  VisibleLightInfos,
const FVirtualShadowMapArray VirtualShadowMapArray,
const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &  OrthoGridUniformBuffer,
const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &  FrustumGridUniformBuffer 
)

◆ RenderTransmittanceWithVoxelGrid()

void RenderTransmittanceWithVoxelGrid ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures,
FScene Scene,
FViewInfo View,
const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &  OrthoGridUniformBuffer,
const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &  FrustumGridUniformBuffer,
FRDGTextureRef HeterogeneousVolumeRadiance 
)

◆ RenderVolumetricShadowMapForCameraWithVoxelGrid()

void RenderVolumetricShadowMapForCameraWithVoxelGrid ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures,
FScene Scene,
FViewInfo View,
const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &  OrthoGridUniformBuffer,
const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &  FrustumGridUniformBuffer,
FVector3f TranslatedWorldOrigin,
FMatrix44f TranslatedWorldToShadow,
FIntVector GroupCount,
FIntPoint ShadowMapResolution,
uint32 MaxSampleCount,
FRDGTextureRef BeerShadowMapTexture,
FRDGBufferRef VolumetricShadowLinkedListBuffer 
)

◆ RenderVolumetricShadowMapForLightWithVoxelGrid()

void RenderVolumetricShadowMapForLightWithVoxelGrid ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures,
FScene Scene,
FViewInfo View,
bool  bApplyEmissionAndTransmittance,
bool  bApplyDirectLighting,
bool  bApplyShadowTransmittance,
uint32  LightType,
const FLightSceneInfo LightSceneInfo,
const FVisibleLightInfo VisibleLightInfo,
const FVirtualShadowMapArray VirtualShadowMapArray,
const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &  OrthoGridUniformBuffer,
const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &  FrustumGridUniformBuffer,
bool bIsDirectionalLight,
FVector3f TranslatedWorldOrigin,
FVector4f TranslatedWorldPlane,
FMatrix44f TranslatedWorldToShadow,
FIntVector GroupCount,
int32 NumShadowMatrices,
FIntPoint ShadowMapResolution,
uint32 MaxSampleCount,
FRDGTextureRef BeerShadowMapTexture,
FRDGBufferRef VolumetricShadowLinkedListBuffer 
)

◆ ShouldAddToVoxelGrid()

bool ShouldAddToVoxelGrid ( const FPrimitiveSceneProxy Proxy,
const FViewInfo View,
const FVoxelGridBuildOptions BuildOptions 
)

◆ VisualizeCascades()

void VisualizeCascades ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures,
const FScene Scene,
const FViewInfo View,
const FLightSceneInfo LightSceneInfo,
FRDGTextureRef VisualizationTexture 
)