45 lines
1.4 KiB
C++
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); |