![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include "SceneTextureReductions.h"#include "DataDrivenShaderPlatformInfo.h"#include "ScenePrivate.h"#include "RenderGraph.h"#include "PixelShaderUtils.h"#include "SceneTextureParameters.h"#include "PostProcess/PostProcessing.h"#include "Froxel/Froxel.h"Classes | |
| class | FHZBBuildPS |
| class | FHZBBuildCS |
| void BuildHZB | ( | FRDGBuilder & | GraphBuilder, |
| FRDGTextureRef | SceneDepth, | ||
| FRDGTextureRef | VisBufferTexture, | ||
| const FIntRect | ViewRect, | ||
| ERHIFeatureLevel::Type | FeatureLevel, | ||
| EShaderPlatform | ShaderPlatform, | ||
| const TCHAR * | ClosestHZBName, | ||
| FRDGTextureRef * | OutClosestHZBTexture, | ||
| const TCHAR * | FurthestHZBName, | ||
| FRDGTextureRef * | OutFurthestHZBTexture, | ||
| EPixelFormat | Format, | ||
| const FBuildHZBAsyncComputeParams * | AsyncComputeParams, | ||
| const Froxel::FViewData * | OutFroxelViewData, | ||
| FExtraParameters | ExtraParameters | ||
| ) |
Closest and furthest HZB are intentionally in separate render target, because majority of the case you only one or the other. Keeping them separate avoid doubling the size in cache for this cases, to avoid performance regression.
| void BuildHZBFurthest | ( | FRDGBuilder & | GraphBuilder, |
| FRDGTextureRef | SceneDepth, | ||
| FRDGTextureRef | VisBufferTexture, | ||
| const FIntRect | ViewRect, | ||
| ERHIFeatureLevel::Type | FeatureLevel, | ||
| EShaderPlatform | ShaderPlatform, | ||
| const TCHAR * | FurthestHZBName, | ||
| FRDGTextureRef * | OutFurthestHZBTexture, | ||
| EPixelFormat | Format, | ||
| const FBuildHZBAsyncComputeParams * | AsyncComputeParams, | ||
| FExtraParameters | ExtraParameters | ||
| ) |
| IMPLEMENT_GLOBAL_SHADER | ( | FHZBBuildCS | , |
| "/Engine/Private/HZB.usf" | , | ||
| "HZBBuildCS" | , | ||
| SF_Compute | |||
| ) |
| IMPLEMENT_GLOBAL_SHADER | ( | FHZBBuildPS | , |
| "/Engine/Private/HZB.usf" | , | ||
| "HZBBuildPS" | , | ||
| SF_Pixel | |||
| ) |