UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HeterogeneousVolumesAmbientOcclusionPipeline.cpp File Reference
#include "HeterogeneousVolumes.h"
#include "HeterogeneousVolumeInterface.h"
#include "LightRendering.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 "VolumeLighting.h"
#include "VolumetricFog.h"
#include "BlueNoise.h"

Classes

class  FRenderAmbientOcclusionLooseBindings
 
class  FRenderExistenceMaskWithLiveShadingCS
 
class  FDilateExistenceMaskCS
 
class  FRenderAmbientOcclusionWithLiveShadingCS
 
class  FConvertTexture3DFixedPointToFloatCS
 

Namespaces

namespace  HeterogeneousVolumes
 

Functions

bool HeterogeneousVolumes::EnableAmbientOcclusion ()
 
float HeterogeneousVolumes::GetAmbientOcclusionDownsampleFactor ()
 
FIntPoint HeterogeneousVolumes::GetAmbientOcclusionRayCount ()
 
float HeterogeneousVolumes::GetAmbientOcclusionMaxTraceDistance ()
 
int32 HeterogeneousVolumes::GetAmbientOcclusionMaxStepCount ()
 
FIntVector HeterogeneousVolumes::GetAmbientOcclusionResolution (const IHeterogeneousVolumeInterface *, FLODValue LODValue)
 
 IMPLEMENT_TYPE_LAYOUT (FRenderAmbientOcclusionLooseBindings)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FRenderExistenceMaskWithLiveShadingCS, TEXT("/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesAmbientOcclusionPipeline.usf"), TEXT("RenderExistenceMaskWithLiveShadingCS"), SF_Compute)
 
void RenderExistenceMaskWithLiveShading (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FSceneTextures &SceneTextures, const IHeterogeneousVolumeInterface *HeterogeneousVolumeInterface, const FMaterialRenderProxy *DefaultMaterialRenderProxy, FPersistentPrimitiveIndex PersistentPrimitiveIndex, const FBoxSphereBounds LocalBoxSphereBounds, FIntVector ExistenceTextureResolution, FRDGTextureRef &ExistenceMaskTexture)
 
 IMPLEMENT_GLOBAL_SHADER (FDilateExistenceMaskCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesLiveShadingGlobalPipeline.usf", "DilateExistenceMaskCS", SF_Compute)
 
void DilateExistenceMask (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, FRDGTextureRef ExistenceTexture, FIntVector ExistenceTextureResolution, FRDGTextureRef &DilatedExistenceTexture)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FRenderAmbientOcclusionWithLiveShadingCS, TEXT("/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesAmbientOcclusionPipeline.usf"), TEXT("RenderAmbientOcclusionWithLiveShadingCS"), SF_Compute)
 
void RenderAmbientOcclusionWithLiveShadingAsFixedPoint (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FSceneTextures &SceneTextures, const IHeterogeneousVolumeInterface *HeterogeneousVolumeInterface, const FMaterialRenderProxy *DefaultMaterialRenderProxy, FPersistentPrimitiveIndex PersistentPrimitiveIndex, const FBoxSphereBounds LocalBoxSphereBounds, FRDGTextureRef ExistenceMaskTexture, FIntVector AmbientOcclusionTextureResolution, FRDGTextureRef &AmbientOcclusionUIntTexture)
 
 IMPLEMENT_GLOBAL_SHADER (FConvertTexture3DFixedPointToFloatCS, "/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesLiveShadingGlobalPipeline.usf", "ConvertTexture3DFixedPointToFloatCS", SF_Compute)
 
void ConvertFixedPointToFloatingPoint (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, FIntVector AmbientOcclusionTextureResolution, FRDGTextureRef AmbientOcclusionUIntTexture, FRDGTextureRef &AmbientOcclusionTexture)
 
void RenderAmbientOcclusionWithLiveShading (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FSceneTextures &SceneTextures, const IHeterogeneousVolumeInterface *HeterogeneousVolumeInterface, const FMaterialRenderProxy *DefaultMaterialRenderProxy, FPersistentPrimitiveIndex PersistentPrimitiveIndex, const FBoxSphereBounds LocalBoxSphereBounds, FRDGTextureRef &AmbientOcclusionTexture)
 

Function Documentation

◆ ConvertFixedPointToFloatingPoint()

void ConvertFixedPointToFloatingPoint ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
FIntVector  AmbientOcclusionTextureResolution,
FRDGTextureRef  AmbientOcclusionUIntTexture,
FRDGTextureRef AmbientOcclusionTexture 
)

◆ DilateExistenceMask()

void DilateExistenceMask ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
FRDGTextureRef  ExistenceTexture,
FIntVector  ExistenceTextureResolution,
FRDGTextureRef DilatedExistenceTexture 
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/2]

IMPLEMENT_GLOBAL_SHADER ( FConvertTexture3DFixedPointToFloatCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesLiveShadingGlobalPipeline.usf"  ,
"ConvertTexture3DFixedPointToFloatCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/2]

IMPLEMENT_GLOBAL_SHADER ( FDilateExistenceMaskCS  ,
"/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesLiveShadingGlobalPipeline.usf"  ,
"DilateExistenceMaskCS"  ,
SF_Compute   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [1/2]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FRenderAmbientOcclusionWithLiveShadingCS  ,
TEXT("/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesAmbientOcclusionPipeline.usf" ,
TEXT("RenderAmbientOcclusionWithLiveShadingCS")  ,
SF_Compute   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [2/2]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FRenderExistenceMaskWithLiveShadingCS  ,
TEXT("/Engine/Private/HeterogeneousVolumes/HeterogeneousVolumesAmbientOcclusionPipeline.usf" ,
TEXT("RenderExistenceMaskWithLiveShadingCS")  ,
SF_Compute   
)

◆ IMPLEMENT_TYPE_LAYOUT()

IMPLEMENT_TYPE_LAYOUT ( FRenderAmbientOcclusionLooseBindings  )

◆ RenderAmbientOcclusionWithLiveShading()

void RenderAmbientOcclusionWithLiveShading ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
const FSceneTextures SceneTextures,
const IHeterogeneousVolumeInterface HeterogeneousVolumeInterface,
const FMaterialRenderProxy DefaultMaterialRenderProxy,
FPersistentPrimitiveIndex  PersistentPrimitiveIndex,
const FBoxSphereBounds  LocalBoxSphereBounds,
FRDGTextureRef AmbientOcclusionTexture 
)

◆ RenderAmbientOcclusionWithLiveShadingAsFixedPoint()

void RenderAmbientOcclusionWithLiveShadingAsFixedPoint ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
const FSceneTextures SceneTextures,
const IHeterogeneousVolumeInterface HeterogeneousVolumeInterface,
const FMaterialRenderProxy DefaultMaterialRenderProxy,
FPersistentPrimitiveIndex  PersistentPrimitiveIndex,
const FBoxSphereBounds  LocalBoxSphereBounds,
FRDGTextureRef  ExistenceMaskTexture,
FIntVector  AmbientOcclusionTextureResolution,
FRDGTextureRef AmbientOcclusionUIntTexture 
)

◆ RenderExistenceMaskWithLiveShading()

void RenderExistenceMaskWithLiveShading ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
const FSceneTextures SceneTextures,
const IHeterogeneousVolumeInterface HeterogeneousVolumeInterface,
const FMaterialRenderProxy DefaultMaterialRenderProxy,
FPersistentPrimitiveIndex  PersistentPrimitiveIndex,
const FBoxSphereBounds  LocalBoxSphereBounds,
FIntVector  ExistenceTextureResolution,
FRDGTextureRef ExistenceMaskTexture 
)