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
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
|