24 lines
817 B
HLSL
24 lines
817 B
HLSL
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
// Convert a FHairSample into a FGufferData
|
|
FGBufferData HairSampleToGBufferData(in FHairSample In, in float InDualScatteringRoughnessOverride=0)
|
|
{
|
|
FGBufferData Out = (FGBufferData)0;
|
|
Out.ShadingModelID = SHADINGMODELID_HAIR;
|
|
Out.WorldNormal = In.Tangent;
|
|
Out.BaseColor = In.BaseColor;
|
|
Out.Roughness = In.Roughness;
|
|
Out.Specular = In.Specular;
|
|
Out.Metallic = 0; // Scattering;
|
|
Out.Depth = ConvertFromDeviceZ(In.Depth);
|
|
Out.GBufferAO = 1;
|
|
Out.CustomData = float4(InDualScatteringRoughnessOverride, 0, In.Backlit, 0);
|
|
Out.IndirectIrradiance = 1000000;
|
|
Out.DiffuseColor = 0;
|
|
Out.SpecularColor = 0;
|
|
Out.PrecomputedShadowFactors = 1;
|
|
Out.PerObjectGBufferData = HasHairFlags(In.Flags, HAIR_FLAGS_CAST_CONTACT_SHADOW) ? 1u : 0u;
|
|
return Out;
|
|
} |