You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

365 lines
15 KiB

//
// This file was automatically generated. Please don't edit by hand. Execute Editor command [ Edit > Rendering > Generate Shader Includes ] instead
//
#ifndef HAIR_CS_HLSL
#define HAIR_CS_HLSL
//
// UnityEngine.Rendering.HighDefinition.Hair+MaterialFeatureFlags: static fields
//
#define MATERIALFEATUREFLAGS_HAIR_KAJIYA_KAY (1)
#define MATERIALFEATUREFLAGS_HAIR_MARSCHNER (2)
#define MATERIALFEATUREFLAGS_HAIR_MARSCHNER_CINEMATIC (4)
//
// UnityEngine.Rendering.HighDefinition.Hair+BSDFData: static fields
//
#define DEBUGVIEW_HAIR_BSDFDATA_MATERIAL_FEATURES (1450)
#define DEBUGVIEW_HAIR_BSDFDATA_AMBIENT_OCCLUSION (1451)
#define DEBUGVIEW_HAIR_BSDFDATA_SPECULAR_OCCLUSION (1452)
#define DEBUGVIEW_HAIR_BSDFDATA_DIFFUSE_COLOR (1453)
#define DEBUGVIEW_HAIR_BSDFDATA_FRESNEL0 (1454)
#define DEBUGVIEW_HAIR_BSDFDATA_SPECULAR_TINT (1455)
#define DEBUGVIEW_HAIR_BSDFDATA_NORMAL_WS (1456)
#define DEBUGVIEW_HAIR_BSDFDATA_NORMAL_VIEW_SPACE (1457)
#define DEBUGVIEW_HAIR_BSDFDATA_GEOMETRIC_NORMAL (1458)
#define DEBUGVIEW_HAIR_BSDFDATA_GEOMETRIC_NORMAL_VIEW_SPACE (1459)
#define DEBUGVIEW_HAIR_BSDFDATA_PERCEPTUAL_ROUGHNESS (1460)
#define DEBUGVIEW_HAIR_BSDFDATA_TRANSMITTANCE (1461)
#define DEBUGVIEW_HAIR_BSDFDATA_RIM_TRANSMISSION_INTENSITY (1462)
#define DEBUGVIEW_HAIR_BSDFDATA_HAIR_STRAND_DIRECTION_WS (1463)
#define DEBUGVIEW_HAIR_BSDFDATA_ANISOTROPY (1464)
#define DEBUGVIEW_HAIR_BSDFDATA_TANGENT_WS (1465)
#define DEBUGVIEW_HAIR_BSDFDATA_BITANGENT_WS (1466)
#define DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_T (1467)
#define DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_B (1468)
#define DEBUGVIEW_HAIR_BSDFDATA_H (1469)
#define DEBUGVIEW_HAIR_BSDFDATA_SECONDARY_PERCEPTUAL_ROUGHNESS (1470)
#define DEBUGVIEW_HAIR_BSDFDATA_SECONDARY_SPECULAR_TINT (1471)
#define DEBUGVIEW_HAIR_BSDFDATA_SPECULAR_EXPONENT (1472)
#define DEBUGVIEW_HAIR_BSDFDATA_SECONDARY_SPECULAR_EXPONENT (1473)
#define DEBUGVIEW_HAIR_BSDFDATA_SPECULAR_SHIFT (1474)
#define DEBUGVIEW_HAIR_BSDFDATA_SECONDARY_SPECULAR_SHIFT (1475)
#define DEBUGVIEW_HAIR_BSDFDATA_ABSORPTION (1476)
#define DEBUGVIEW_HAIR_BSDFDATA_LIGHT_PATH_LENGTH (1477)
#define DEBUGVIEW_HAIR_BSDFDATA_CUTICLE_ANGLE (1478)
#define DEBUGVIEW_HAIR_BSDFDATA_CUTICLE_ANGLE_R (1479)
#define DEBUGVIEW_HAIR_BSDFDATA_CUTICLE_ANGLE_TT (1480)
#define DEBUGVIEW_HAIR_BSDFDATA_CUTICLE_ANGLE_TRT (1481)
#define DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_R (1482)
#define DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_TT (1483)
#define DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_TRT (1484)
#define DEBUGVIEW_HAIR_BSDFDATA_PERCEPTUAL_ROUGHNESS_RADIAL (1485)
#define DEBUGVIEW_HAIR_BSDFDATA_DISTRIBUTION_NORMALIZATION_FACTOR (1486)
#define DEBUGVIEW_HAIR_BSDFDATA_STRAND_COUNT_PROBE (1487)
#define DEBUGVIEW_HAIR_BSDFDATA_VISIBILITY (1488)
//
// UnityEngine.Rendering.HighDefinition.Hair+SurfaceData: static fields
//
#define DEBUGVIEW_HAIR_SURFACEDATA_MATERIAL_FEATURES (1400)
#define DEBUGVIEW_HAIR_SURFACEDATA_AMBIENT_OCCLUSION (1401)
#define DEBUGVIEW_HAIR_SURFACEDATA_DIFFUSE (1402)
#define DEBUGVIEW_HAIR_SURFACEDATA_SPECULAR_OCCLUSION (1403)
#define DEBUGVIEW_HAIR_SURFACEDATA_NORMAL (1404)
#define DEBUGVIEW_HAIR_SURFACEDATA_NORMAL_VIEW_SPACE (1405)
#define DEBUGVIEW_HAIR_SURFACEDATA_GEOMETRIC_NORMAL (1406)
#define DEBUGVIEW_HAIR_SURFACEDATA_GEOMETRIC_NORMAL_VIEW_SPACE (1407)
#define DEBUGVIEW_HAIR_SURFACEDATA_SMOOTHNESS (1408)
#define DEBUGVIEW_HAIR_SURFACEDATA_TRANSMITTANCE (1409)
#define DEBUGVIEW_HAIR_SURFACEDATA_RIM_TRANSMISSION_INTENSITY (1410)
#define DEBUGVIEW_HAIR_SURFACEDATA_HAIR_STRAND_DIRECTION (1411)
#define DEBUGVIEW_HAIR_SURFACEDATA_SECONDARY_SMOOTHNESS (1412)
#define DEBUGVIEW_HAIR_SURFACEDATA_SPECULAR_TINT (1413)
#define DEBUGVIEW_HAIR_SURFACEDATA_SECONDARY_SPECULAR_TINT (1414)
#define DEBUGVIEW_HAIR_SURFACEDATA_SPECULAR_SHIFT (1415)
#define DEBUGVIEW_HAIR_SURFACEDATA_SECONDARY_SPECULAR_SHIFT (1416)
#define DEBUGVIEW_HAIR_SURFACEDATA_ABSORPTION_COEFFICIENT (1417)
#define DEBUGVIEW_HAIR_SURFACEDATA_EUMELANIN (1418)
#define DEBUGVIEW_HAIR_SURFACEDATA_PHEOMELANIN (1419)
#define DEBUGVIEW_HAIR_SURFACEDATA_AZIMUTHAL_ROUGHNESS (1420)
#define DEBUGVIEW_HAIR_SURFACEDATA_CUTICLE_ANGLE (1421)
#define DEBUGVIEW_HAIR_SURFACEDATA_STRAND_COUNT_PROBE (1422)
// Generated from UnityEngine.Rendering.HighDefinition.Hair+BSDFData
// PackingRules = Exact
struct BSDFData
{
uint materialFeatures;
float ambientOcclusion;
float specularOcclusion;
float3 diffuseColor;
float3 fresnel0;
float3 specularTint;
float3 normalWS;
float3 geomNormalWS;
float perceptualRoughness;
float3 transmittance;
float rimTransmissionIntensity;
float3 hairStrandDirectionWS;
float anisotropy;
float3 tangentWS;
float3 bitangentWS;
float roughnessT;
float roughnessB;
float h;
float secondaryPerceptualRoughness;
float3 secondarySpecularTint;
float specularExponent;
float secondarySpecularExponent;
float specularShift;
float secondarySpecularShift;
float3 absorption;
float lightPathLength;
float cuticleAngle;
float cuticleAngleR;
float cuticleAngleTT;
float cuticleAngleTRT;
float roughnessR;
float roughnessTT;
float roughnessTRT;
float perceptualRoughnessRadial;
float3 distributionNormalizationFactor;
float4 strandCountProbe;
float visibility;
};
// Generated from UnityEngine.Rendering.HighDefinition.Hair+SurfaceData
// PackingRules = Exact
struct SurfaceData
{
uint materialFeatures;
float ambientOcclusion;
float3 diffuseColor;
float specularOcclusion;
float3 normalWS;
float3 geomNormalWS;
float perceptualSmoothness;
float3 transmittance;
float rimTransmissionIntensity;
float3 hairStrandDirectionWS;
float secondaryPerceptualSmoothness;
float3 specularTint;
float3 secondarySpecularTint;
float specularShift;
float secondarySpecularShift;
float3 absorption;
float eumelanin;
float pheomelanin;
float perceptualRadialSmoothness;
float cuticleAngle;
float4 strandCountProbe;
};
//
// Debug functions
//
void GetGeneratedBSDFDataDebug(uint paramId, BSDFData bsdfdata, inout float3 result, inout bool needLinearToSRGB)
{
switch (paramId)
{
case DEBUGVIEW_HAIR_BSDFDATA_MATERIAL_FEATURES:
result = GetIndexColor(bsdfdata.materialFeatures);
break;
case DEBUGVIEW_HAIR_BSDFDATA_AMBIENT_OCCLUSION:
result = bsdfdata.ambientOcclusion.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_SPECULAR_OCCLUSION:
result = bsdfdata.specularOcclusion.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_DIFFUSE_COLOR:
result = bsdfdata.diffuseColor;
needLinearToSRGB = true;
break;
case DEBUGVIEW_HAIR_BSDFDATA_FRESNEL0:
result = bsdfdata.fresnel0;
break;
case DEBUGVIEW_HAIR_BSDFDATA_SPECULAR_TINT:
result = bsdfdata.specularTint;
break;
case DEBUGVIEW_HAIR_BSDFDATA_NORMAL_WS:
result = IsNormalized(bsdfdata.normalWS)? bsdfdata.normalWS * 0.5 + 0.5 : float3(1.0, 0.0, 0.0);
break;
case DEBUGVIEW_HAIR_BSDFDATA_NORMAL_VIEW_SPACE:
result = IsNormalized(bsdfdata.normalWS)? bsdfdata.normalWS * 0.5 + 0.5 : float3(1.0, 0.0, 0.0);
break;
case DEBUGVIEW_HAIR_BSDFDATA_GEOMETRIC_NORMAL:
result = IsNormalized(bsdfdata.geomNormalWS)? bsdfdata.geomNormalWS * 0.5 + 0.5 : float3(1.0, 0.0, 0.0);
break;
case DEBUGVIEW_HAIR_BSDFDATA_GEOMETRIC_NORMAL_VIEW_SPACE:
result = IsNormalized(bsdfdata.geomNormalWS)? bsdfdata.geomNormalWS * 0.5 + 0.5 : float3(1.0, 0.0, 0.0);
break;
case DEBUGVIEW_HAIR_BSDFDATA_PERCEPTUAL_ROUGHNESS:
result = bsdfdata.perceptualRoughness.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_TRANSMITTANCE:
result = bsdfdata.transmittance;
break;
case DEBUGVIEW_HAIR_BSDFDATA_RIM_TRANSMISSION_INTENSITY:
result = bsdfdata.rimTransmissionIntensity.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_HAIR_STRAND_DIRECTION_WS:
result = bsdfdata.hairStrandDirectionWS * 0.5 + 0.5;
break;
case DEBUGVIEW_HAIR_BSDFDATA_ANISOTROPY:
result = bsdfdata.anisotropy.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_TANGENT_WS:
result = bsdfdata.tangentWS;
break;
case DEBUGVIEW_HAIR_BSDFDATA_BITANGENT_WS:
result = bsdfdata.bitangentWS;
break;
case DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_T:
result = bsdfdata.roughnessT.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_B:
result = bsdfdata.roughnessB.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_H:
result = bsdfdata.h.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_SECONDARY_PERCEPTUAL_ROUGHNESS:
result = bsdfdata.secondaryPerceptualRoughness.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_SECONDARY_SPECULAR_TINT:
result = bsdfdata.secondarySpecularTint;
break;
case DEBUGVIEW_HAIR_BSDFDATA_SPECULAR_EXPONENT:
result = bsdfdata.specularExponent.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_SECONDARY_SPECULAR_EXPONENT:
result = bsdfdata.secondarySpecularExponent.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_SPECULAR_SHIFT:
result = bsdfdata.specularShift.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_SECONDARY_SPECULAR_SHIFT:
result = bsdfdata.secondarySpecularShift.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_ABSORPTION:
result = bsdfdata.absorption;
break;
case DEBUGVIEW_HAIR_BSDFDATA_LIGHT_PATH_LENGTH:
result = bsdfdata.lightPathLength.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_CUTICLE_ANGLE:
result = bsdfdata.cuticleAngle.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_CUTICLE_ANGLE_R:
result = bsdfdata.cuticleAngleR.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_CUTICLE_ANGLE_TT:
result = bsdfdata.cuticleAngleTT.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_CUTICLE_ANGLE_TRT:
result = bsdfdata.cuticleAngleTRT.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_R:
result = bsdfdata.roughnessR.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_TT:
result = bsdfdata.roughnessTT.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_ROUGHNESS_TRT:
result = bsdfdata.roughnessTRT.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_PERCEPTUAL_ROUGHNESS_RADIAL:
result = bsdfdata.perceptualRoughnessRadial.xxx;
break;
case DEBUGVIEW_HAIR_BSDFDATA_DISTRIBUTION_NORMALIZATION_FACTOR:
result = bsdfdata.distributionNormalizationFactor;
break;
case DEBUGVIEW_HAIR_BSDFDATA_STRAND_COUNT_PROBE:
result = bsdfdata.strandCountProbe.xyz;
break;
case DEBUGVIEW_HAIR_BSDFDATA_VISIBILITY:
result = bsdfdata.visibility.xxx;
break;
}
}
//
// Debug functions
//
void GetGeneratedSurfaceDataDebug(uint paramId, SurfaceData surfacedata, inout float3 result, inout bool needLinearToSRGB)
{
switch (paramId)
{
case DEBUGVIEW_HAIR_SURFACEDATA_MATERIAL_FEATURES:
result = GetIndexColor(surfacedata.materialFeatures);
break;
case DEBUGVIEW_HAIR_SURFACEDATA_AMBIENT_OCCLUSION:
result = surfacedata.ambientOcclusion.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_DIFFUSE:
result = surfacedata.diffuseColor;
needLinearToSRGB = true;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_SPECULAR_OCCLUSION:
result = surfacedata.specularOcclusion.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_NORMAL:
result = IsNormalized(surfacedata.normalWS)? surfacedata.normalWS * 0.5 + 0.5 : float3(1.0, 0.0, 0.0);
break;
case DEBUGVIEW_HAIR_SURFACEDATA_NORMAL_VIEW_SPACE:
result = IsNormalized(surfacedata.normalWS)? surfacedata.normalWS * 0.5 + 0.5 : float3(1.0, 0.0, 0.0);
break;
case DEBUGVIEW_HAIR_SURFACEDATA_GEOMETRIC_NORMAL:
result = IsNormalized(surfacedata.geomNormalWS)? surfacedata.geomNormalWS * 0.5 + 0.5 : float3(1.0, 0.0, 0.0);
break;
case DEBUGVIEW_HAIR_SURFACEDATA_GEOMETRIC_NORMAL_VIEW_SPACE:
result = IsNormalized(surfacedata.geomNormalWS)? surfacedata.geomNormalWS * 0.5 + 0.5 : float3(1.0, 0.0, 0.0);
break;
case DEBUGVIEW_HAIR_SURFACEDATA_SMOOTHNESS:
result = surfacedata.perceptualSmoothness.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_TRANSMITTANCE:
result = surfacedata.transmittance;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_RIM_TRANSMISSION_INTENSITY:
result = surfacedata.rimTransmissionIntensity.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_HAIR_STRAND_DIRECTION:
result = surfacedata.hairStrandDirectionWS * 0.5 + 0.5;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_SECONDARY_SMOOTHNESS:
result = surfacedata.secondaryPerceptualSmoothness.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_SPECULAR_TINT:
result = surfacedata.specularTint;
needLinearToSRGB = true;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_SECONDARY_SPECULAR_TINT:
result = surfacedata.secondarySpecularTint;
needLinearToSRGB = true;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_SPECULAR_SHIFT:
result = surfacedata.specularShift.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_SECONDARY_SPECULAR_SHIFT:
result = surfacedata.secondarySpecularShift.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_ABSORPTION_COEFFICIENT:
result = surfacedata.absorption;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_EUMELANIN:
result = surfacedata.eumelanin.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_PHEOMELANIN:
result = surfacedata.pheomelanin.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_AZIMUTHAL_ROUGHNESS:
result = surfacedata.perceptualRadialSmoothness.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_CUTICLE_ANGLE:
result = surfacedata.cuticleAngle.xxx;
break;
case DEBUGVIEW_HAIR_SURFACEDATA_STRAND_COUNT_PROBE:
result = surfacedata.strandCountProbe.xyz;
break;
}
}
#endif