Files
UnrealEngine/Engine/Source/Runtime/Renderer/Private/HairStrands/HairStrandsForwardRaster.h
2025-05-18 13:04:45 +08:00

45 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
/*=============================================================================
HairVisibilityRendering.h: Hair strands visibility buffer implementation.
=============================================================================*/
#pragma once
#include "CoreMinimal.h"
#include "RendererInterface.h"
#include "RenderGraphResources.h"
#include "HairStrandsData.h"
class FViewInfo;
class FInstanceCullingManager;
struct FRasterForwardCullingOutput
{
FIntPoint Resolution;
uint32 RasterizedInstanceCount = 0;
FRDGTextureRef NodeIndex = nullptr;
FRDGBufferRef NodeCoord = nullptr;
FRDGBufferRef NodeVis = nullptr;
FRDGBufferRef PointCount = nullptr;
FRDGBufferRef Points = nullptr;
FRDGBufferSRVRef PointsSRV = nullptr;
};
FRasterForwardCullingOutput AddHairStrandsForwardCullingPass(
FRDGBuilder& GraphBuilder,
const FViewInfo& ViewInfo,
const FHairStrandsMacroGroupDatas& MacroGroupDatas,
const FIntPoint& InResolution,
const FRDGTextureRef SceneDepthTexture,
bool bSupportCulling,
bool bForceRegister);
void AddHairStrandsForwardRasterPass(
FRDGBuilder& GraphBuilder,
const FViewInfo& ViewInfo,
const FIntPoint& InResolution,
const FHairStrandsVisibilityData& InData,
const FRDGTextureRef SceneDepthTexture,
const FRDGTextureRef SceneColorTexture,
const FRDGTextureRef SceneVelocityColorTexture);