| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 | #ifndef FLAT_KIT_STYLIZED_INPUT_INCLUDED#define FLAT_KIT_STYLIZED_INPUT_INCLUDED#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceInput.hlsl"// NOTE: Do not ifdef the properties here as SRP batcher can not handle different layouts.#ifndef FLATKIT_TERRAIN#if _FORWARD_PLUS && UNITY_VERSION < 600000CBUFFER_START(UnityPerMaterialNoBatching)#elseCBUFFER_START(UnityPerMaterial)#endif#endif// See `SimpleLitInput.hlsl` and `LitInput.hlsl` for referencefloat4 _BaseMap_ST;float4 _DetailMap_ST;#ifndef FLATKIT_TERRAINhalf4 _BaseColor;half _Cutoff;half _Surface;#endifhalf4 _EmissionColor;half4 _UnityShadowColor;// --- _CELPRIMARYMODE_SINGLEhalf4 _ColorDim;// --- _CELPRIMARYMODE_SINGLE// --- DR_SPECULAR_ONhalf4 _FlatSpecularColor;float _FlatSpecularSize;float _FlatSpecularEdgeSmoothness;// --- DR_SPECULAR_ON// --- DR_RIM_ONhalf4 _FlatRimColor;float _FlatRimSize;float _FlatRimEdgeSmoothness;float _FlatRimLightAlign;// --- DR_RIM_ON// --- _CELPRIMARYMODE_STEPShalf4 _ColorDimSteps;sampler2D _CelStepTexture;// --- _CELPRIMARYMODE_STEPS// --- _CELPRIMARYMODE_CURVEhalf4 _ColorDimCurve;sampler2D _CelCurveTexture;// --- _CELPRIMARYMODE_CURVE// --- DR_CEL_EXTRA_ONhalf4 _ColorDimExtra;half _SelfShadingSizeExtra;half _ShadowEdgeSizeExtra;half _FlatnessExtra;// --- DR_CEL_EXTRA_ON// --- DR_GRADIENT_ONhalf4 _ColorGradient;half _GradientCenterX;half _GradientCenterY;half _GradientSize;half _GradientAngle;// --- DR_GRADIENT_ONhalf _TextureImpact;half _SelfShadingSize;half _ShadowEdgeSize;half _LightContribution;half _LightFalloffSize;half _Flatness;half _UnityShadowPower;half _UnityShadowSharpness;half _OverrideLightmapDir;half3 _LightmapDirection;half _DetailMapImpact;half4 _DetailMapColor;half4 _OutlineColor;half _OutlineWidth;half _OutlineScale;half _OutlineDepthOffset;half _CameraDistanceImpact;#ifndef FLATKIT_TERRAINCBUFFER_END#endif#ifdef UNITY_DOTS_INSTANCING_ENABLED    UNITY_DOTS_INSTANCING_START(MaterialPropertyMetadata)        UNITY_DOTS_INSTANCED_PROP(float4, _BaseColor)        UNITY_DOTS_INSTANCED_PROP(float , _Cutoff)        UNITY_DOTS_INSTANCED_PROP(float , _Surface)        UNITY_DOTS_INSTANCED_PROP(float4, _EmissionColor)        UNITY_DOTS_INSTANCED_PROP(float4 , _UnityShadowColor)        UNITY_DOTS_INSTANCED_PROP(float4, _ColorDim)        UNITY_DOTS_INSTANCED_PROP(float4, _FlatSpecularColor)        UNITY_DOTS_INSTANCED_PROP(float , _FlatSpecularSize)        UNITY_DOTS_INSTANCED_PROP(float , _FlatSpecularEdgeSmoothness)        UNITY_DOTS_INSTANCED_PROP(float4, _FlatRimColor)        UNITY_DOTS_INSTANCED_PROP(float , _FlatRimSize)        UNITY_DOTS_INSTANCED_PROP(float , _FlatRimEdgeSmoothness)        UNITY_DOTS_INSTANCED_PROP(float , _FlatRimLightAlign)        UNITY_DOTS_INSTANCED_PROP(float4, _ColorDimSteps)        UNITY_DOTS_INSTANCED_PROP(float4, _ColorDimCurve)        UNITY_DOTS_INSTANCED_PROP(float4, _ColorDimExtra)        UNITY_DOTS_INSTANCED_PROP(float , _SelfShadingSizeExtra)        UNITY_DOTS_INSTANCED_PROP(float , _ShadowEdgeSizeExtra)        UNITY_DOTS_INSTANCED_PROP(float , _FlatnessExtra)        UNITY_DOTS_INSTANCED_PROP(float4, _ColorGradient)        UNITY_DOTS_INSTANCED_PROP(float , _GradientCenterX)        UNITY_DOTS_INSTANCED_PROP(float , _GradientCenterY)        UNITY_DOTS_INSTANCED_PROP(float , _GradientSize)        UNITY_DOTS_INSTANCED_PROP(float , _GradientAngle)        UNITY_DOTS_INSTANCED_PROP(float , _TextureImpact)        UNITY_DOTS_INSTANCED_PROP(float , _SelfShadingSize)        UNITY_DOTS_INSTANCED_PROP(float , _ShadowEdgeSize)        UNITY_DOTS_INSTANCED_PROP(float , _LightContribution)        UNITY_DOTS_INSTANCED_PROP(float , _LightFalloffSize)        UNITY_DOTS_INSTANCED_PROP(float , _Flatness)        UNITY_DOTS_INSTANCED_PROP(float , _UnityShadowPower)        UNITY_DOTS_INSTANCED_PROP(float , _UnityShadowSharpness)        UNITY_DOTS_INSTANCED_PROP(float , _OverrideLightmapDir)        UNITY_DOTS_INSTANCED_PROP(float3, _LightmapDirection)        UNITY_DOTS_INSTANCED_PROP(float , _DetailMapImpact)        UNITY_DOTS_INSTANCED_PROP(float4, _DetailMapColor)        UNITY_DOTS_INSTANCED_PROP(float4, _OutlineColor)        UNITY_DOTS_INSTANCED_PROP(float , _OutlineWidth)        UNITY_DOTS_INSTANCED_PROP(float , _OutlineScale)        UNITY_DOTS_INSTANCED_PROP(float , _OutlineDepthOffset)        UNITY_DOTS_INSTANCED_PROP(float , _CameraDistanceImpact)    UNITY_DOTS_INSTANCING_END(MaterialPropertyMetadata)    #define _BaseColor          UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _BaseColor)    #define _Cutoff             UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _Cutoff)    #define _Surface            UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _Surface)    #define _EmissionColor      UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _EmissionColor)    #define _UnityShadowColor   UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _UnityShadowColor)    #define _ColorDim           UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _ColorDim)    #define _FlatSpecularColor  UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _FlatSpecularColor)    #define _FlatSpecularSize   UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _FlatSpecularSize)    #define _FlatSpecularEdgeSmoothness UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _FlatSpecularEdgeSmoothness)    #define _FlatRimColor       UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _FlatRimColor)    #define _FlatRimSize        UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _FlatRimSize)    #define _FlatRimEdgeSmoothness UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _FlatRimEdgeSmoothness)    #define _FlatRimLightAlign  UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _FlatRimLightAlign)    #define _ColorDimSteps      UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _ColorDimSteps)    #define _ColorDimCurve      UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _ColorDimCurve)    #define _ColorDimExtra      UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _ColorDimExtra)    #define _SelfShadingSizeExtra UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _SelfShadingSizeExtra)    #define _ShadowEdgeSizeExtra UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _ShadowEdgeSizeExtra)    #define _FlatnessExtra      UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _FlatnessExtra)    #define _ColorGradient      UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _ColorGradient)    #define _GradientCenterX    UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _GradientCenterX)    #define _GradientCenterY    UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _GradientCenterY)    #define _GradientSize       UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _GradientSize)    #define _GradientAngle      UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _GradientAngle)    #define _TextureImpact      UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _TextureImpact)    #define _SelfShadingSize    UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _SelfShadingSize)    #define _ShadowEdgeSize     UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _ShadowEdgeSize)    #define _LightContribution  UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _LightContribution)    #define _LightFalloffSize   UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _LightFalloffSize)    #define _Flatness           UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _Flatness)    #define _UnityShadowPower   UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _UnityShadowPower)    #define _UnityShadowSharpness UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _UnityShadowSharpness)    #define _OverrideLightmapDir UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _OverrideLightmapDir)    #define _LightmapDirection  UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float3 , _LightmapDirection)    #define _DetailMapImpact    UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _DetailMapImpact)    #define _DetailMapColor     UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _DetailMapColor)    #define _OutlineColor       UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _OutlineColor)    #define _OutlineWidth       UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _OutlineWidth)    #define _OutlineScale       UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _OutlineScale)    #define _OutlineDepthOffset UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _OutlineDepthOffset)    #define _CameraDistanceImpact UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float  , _CameraDistanceImpact)#endifinline void InitializeSimpleLitSurfaceData(float2 uv, out SurfaceData outSurfaceData){    outSurfaceData = (SurfaceData)0;    half4 albedo = SampleAlbedoAlpha(uv, TEXTURE2D_ARGS(_BaseMap, sampler_BaseMap));    outSurfaceData.alpha = albedo.a * _BaseColor.a;    AlphaDiscard(outSurfaceData.alpha, _Cutoff);    outSurfaceData.albedo = albedo.rgb;    #ifdef _ALPHAPREMULTIPLY_ON    outSurfaceData.albedo *= outSurfaceData.alpha;    #endif    outSurfaceData.metallic = 0.0; // unused    outSurfaceData.specular = 0.0; // unused    outSurfaceData.smoothness = 0.0; // unused    outSurfaceData.normalTS = SampleNormal(uv, TEXTURE2D_ARGS(_BumpMap, sampler_BumpMap));    outSurfaceData.occlusion = 1.0; // unused    outSurfaceData.emission = SampleEmission(uv, _EmissionColor.rgb, TEXTURE2D_ARGS(_EmissionMap, sampler_EmissionMap));}half4 SampleSpecularSmoothness(half2 uv, half alpha, half4 specColor, TEXTURE2D_PARAM(specMap, sampler_specMap)){    half4 specularSmoothness = half4(0.0h, 0.0h, 0.0h, 1.0h);    return specularSmoothness;}#endif  // FLAT_KIT_STYLIZED_INPUT_INCLUDED
 |