UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HairStrandsUtils.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 HairStrandsUtils.h: Hair strands utils.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "RendererInterface.h"
12#include "SceneTypes.h"
13#include "HairStrandsData.h"
14
15class FViewInfo;
16
18 const FIntPoint& Resolution,
19 const float FOV,
20 const uint32 SampleCount,
22 const float OrthoWidth = 0.0f);
23
25
31 const class FLightSceneProxy& LightProxy,
32 const ELightComponentType LightType,
34
36{
37 bool R = true;
38 bool TT = true;
39 bool TRT = true;
40 bool GlobalScattering = true;
41 bool LocalScattering = true;
42 bool TTModel = false;
43};
46
48
50
52
54
57
65
67
72 float VelocityScale);
73
75 bool bIsOrtho,
76 bool bIsGPUDriven);
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EHairStrandsCompositionType
Definition HairStrandsUtils.h:59
void ComputeTranslatedWorldToLightClip(const FVector &TranslatedWorldOffset, FMatrix &OutTranslatedWorldToClipTransform, FMinHairRadiusAtDepth1 &OutMinStrandRadiusAtDepth1, const FBoxSphereBounds &PrimitivesBounds, const class FLightSceneProxy &LightProxy, const ELightComponentType LightType, const FIntPoint &ShadowResolution)
uint32 ToBitfield(const FHairComponent &Component)
Definition HairStrandsUtils.cpp:101
uint32 GetVendorOptimalGroupSize1D()
Definition HairStrandsUtils.cpp:328
FVector4f PackHairRenderInfo(float PrimaryRadiusAtDepth1, float StableRadiusAtDepth1, float VelocityRadiusAtDepth1, float VelocityScale)
Definition HairStrandsUtils.cpp:350
uint32 PackHairRenderInfoBits(bool bIsOrtho, bool bIsGPUDriven)
Definition HairStrandsUtils.cpp:364
float GetHairDualScatteringRoughnessOverride()
Definition HairStrandsUtils.cpp:55
float SampleCountToSubPixelSize(uint32 SamplePerPixelCount)
Definition HairStrandsUtils.cpp:77
FMinHairRadiusAtDepth1 ComputeMinStrandRadiusAtDepth1(const FIntPoint &Resolution, const float FOV, const uint32 SampleCount, const float OverrideStrandHairRasterizationScale, const float OrthoWidth=0.0f)
Definition HairStrandsUtils.cpp:123
FHairComponent GetHairComponents()
Definition HairStrandsUtils.cpp:89
FIntPoint GetVendorOptimalGroupSize2D()
Definition HairStrandsUtils.cpp:339
bool IsHairStrandsViewRectOptimEnable()
Definition HairStrandsUtils.cpp:310
FIntRect ComputeVisibleHairStrandsMacroGroupsRect(const FViewInfo &View, const FIntRect &ViewRect, const FHairStrandsMacroGroupDatas &Datas)
Definition HairStrandsUtils.cpp:280
FIntRect ComputeProjectedScreenRect(const FBox &B, const FViewInfo &View)
Definition HairStrandsUtils.cpp:225
EHairStrandsCompositionType GetHairStrandsComposition()
Definition HairStrandsUtils.cpp:60
ELightComponentType
Definition SceneTypes.h:96
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition LightSceneProxy.h:43
float FOV
Definition SceneView.h:1519
Definition SceneRendering.h:1132
Definition HairStrandsUtils.h:36
bool LocalScattering
Definition HairStrandsUtils.h:41
bool TRT
Definition HairStrandsUtils.h:39
bool GlobalScattering
Definition HairStrandsUtils.h:40
bool TT
Definition HairStrandsUtils.h:38
bool TTModel
Definition HairStrandsUtils.h:42
bool R
Definition HairStrandsUtils.h:37
Definition HairStrandsData.h:232
Definition BoxSphereBounds.h:25
Definition IntPoint.h:25