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

Functions

 DECLARE_MEMORY_STAT (TEXT("Volumetric Lightmap"), STAT_VolumetricLightmapBuildData, STATGROUP_MapBuildData)
 
void ConvertBGRA8ToRGBA8ForLayer (FVolumetricLightmapDataLayer &Layer)
 
FArchiveoperator<< (FArchive &Ar, FVolumetricLightmapDataLayer &Layer)
 
FArchiveoperator<< (FArchive &Ar, FPrecomputedVolumetricLightmapData &Volume)
 
FArchiveoperator<< (FArchive &Ar, FPrecomputedVolumetricLightmapData *&Volume)
 
FIntVector ComputeBrickLayoutPosition (int32 BrickLayoutAllocation, FIntVector BrickLayoutDimensions)
 
FVector ComputeIndirectionCoordinate (FVector LookupPosition, const FBox &VolumeBounds, FIntVector IndirectionTextureDimensions)
 
void SampleIndirectionTexture (FVector IndirectionDataSourceCoordinate, FIntVector IndirectionTextureDimensions, const uint8 *IndirectionTextureData, FIntVector &OutIndirectionBrickOffset, int32 &OutIndirectionBrickSize)
 
void SampleIndirectionTextureWithSubLevel (FVector IndirectionDataSourceCoordinate, FIntVector IndirectionTextureDimensions, const uint8 *IndirectionTextureData, const TArray< uint8 > &CPUSubLevelIndirectionTable, FIntVector &OutIndirectionBrickOffset, int32 &OutIndirectionBrickSize, int32 &OutSubLevelIndex)
 
FVector ComputeBrickTextureCoordinate (FVector IndirectionDataSourceCoordinate, FIntVector IndirectionBrickOffset, int32 IndirectionBrickSize, int32 BrickSize)
 
 IMPLEMENT_GLOBAL_SHADER (FRemoveSubLevelBricksCS, "/Engine/Private/VolumetricLightmapStreaming.usf", "RemoveSubLevelBricksCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCopyResidentBricksCS, "/Engine/Private/VolumetricLightmapStreaming.usf", "CopyResidentBricksCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCopyResidentBrickSHCoefficientsCS, "/Engine/Private/VolumetricLightmapStreaming.usf", "CopyResidentBrickSHCoefficientsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FPatchIndirectionTextureCS, "/Engine/Private/VolumetricLightmapStreaming.usf", "PatchIndirectionTextureCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FMoveWholeIndirectionTextureCS, "/Engine/Private/VolumetricLightmapStreaming.usf", "MoveWholeIndirectionTextureCS", SF_Compute)
 
template<class VolumetricLightmapBrickDataType >
void CopyDataIntoAtlas (FRHICommandList &RHICmdList, ERHIFeatureLevel::Type FeatureLevel, int32 SrcOffset, int32 DestOffset, int32 NumBricks, const VolumetricLightmapBrickDataType &SrcData, FVolumetricLightmapBrickTextureSet DestTextureSet)
 

Variables

TGlobalResource< FVolumetricLightmapBrickAtlasGVolumetricLightmapBrickAtlas
 

Function Documentation

◆ ComputeBrickLayoutPosition()

FIntVector ComputeBrickLayoutPosition ( int32  BrickLayoutAllocation,
FIntVector  BrickLayoutDimensions 
)
inline

◆ ComputeBrickTextureCoordinate()

FVector ComputeBrickTextureCoordinate ( FVector  IndirectionDataSourceCoordinate,
FIntVector  IndirectionBrickOffset,
int32  IndirectionBrickSize,
int32  BrickSize 
)

◆ ComputeIndirectionCoordinate()

FVector ComputeIndirectionCoordinate ( FVector  LookupPosition,
const FBox VolumeBounds,
FIntVector  IndirectionTextureDimensions 
)

◆ ConvertBGRA8ToRGBA8ForLayer()

void ConvertBGRA8ToRGBA8ForLayer ( FVolumetricLightmapDataLayer Layer)
inline

◆ CopyDataIntoAtlas()

void CopyDataIntoAtlas ( FRHICommandList RHICmdList,
ERHIFeatureLevel::Type  FeatureLevel,
int32  SrcOffset,
int32  DestOffset,
int32  NumBricks,
const VolumetricLightmapBrickDataType SrcData,
FVolumetricLightmapBrickTextureSet  DestTextureSet 
)

◆ DECLARE_MEMORY_STAT()

DECLARE_MEMORY_STAT ( TEXT("Volumetric Lightmap" ,
STAT_VolumetricLightmapBuildData  ,
STATGROUP_MapBuildData   
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/5]

IMPLEMENT_GLOBAL_SHADER ( FCopyResidentBricksCS  ,
"/Engine/Private/VolumetricLightmapStreaming.usf"  ,
"CopyResidentBricksCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/5]

IMPLEMENT_GLOBAL_SHADER ( FCopyResidentBrickSHCoefficientsCS  ,
"/Engine/Private/VolumetricLightmapStreaming.usf"  ,
"CopyResidentBrickSHCoefficientsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/5]

IMPLEMENT_GLOBAL_SHADER ( FMoveWholeIndirectionTextureCS  ,
"/Engine/Private/VolumetricLightmapStreaming.usf"  ,
"MoveWholeIndirectionTextureCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/5]

IMPLEMENT_GLOBAL_SHADER ( FPatchIndirectionTextureCS  ,
"/Engine/Private/VolumetricLightmapStreaming.usf"  ,
"PatchIndirectionTextureCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/5]

IMPLEMENT_GLOBAL_SHADER ( FRemoveSubLevelBricksCS  ,
"/Engine/Private/VolumetricLightmapStreaming.usf"  ,
"RemoveSubLevelBricksCS"  ,
SF_Compute   
)

◆ operator<<() [1/3]

FArchive & operator<< ( FArchive Ar,
FPrecomputedVolumetricLightmapData Volume 
)

◆ operator<<() [2/3]

FArchive & operator<< ( FArchive Ar,
FPrecomputedVolumetricLightmapData *&  Volume 
)

◆ operator<<() [3/3]

FArchive & operator<< ( FArchive Ar,
FVolumetricLightmapDataLayer Layer 
)

◆ SampleIndirectionTexture()

void SampleIndirectionTexture ( FVector  IndirectionDataSourceCoordinate,
FIntVector  IndirectionTextureDimensions,
const uint8 IndirectionTextureData,
FIntVector OutIndirectionBrickOffset,
int32 OutIndirectionBrickSize 
)

◆ SampleIndirectionTextureWithSubLevel()

void SampleIndirectionTextureWithSubLevel ( FVector  IndirectionDataSourceCoordinate,
FIntVector  IndirectionTextureDimensions,
const uint8 IndirectionTextureData,
const TArray< uint8 > &  CPUSubLevelIndirectionTable,
FIntVector OutIndirectionBrickOffset,
int32 OutIndirectionBrickSize,
int32 OutSubLevelIndex 
)

Variable Documentation

◆ GVolumetricLightmapBrickAtlas

TGlobalResource<FVolumetricLightmapBrickAtlas> GVolumetricLightmapBrickAtlas