#ifndef INPUT_BASETOPDOWN_INCLUDED #define INPUT_BASETOPDOWN_INCLUDED #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" // defines a bunch of helper functions (like lerpwhiteto) #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/CommonMaterial.hlsl" // defines SurfaceData, textures and the functions Alpha, SampleAlbedoAlpha, SampleNormal, SampleEmission #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceInput.hlsl" // defines e.g. "DECLARE_LIGHTMAP_OR_SH" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" #include "../Includes/Lux URP Simple Fuzz Lighting.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl" CBUFFER_START(UnityPerMaterial) float4 _BaseMap_ST; half4 _BaseColor; half4 _SpecColor; half _BumpScale; half _GlossMapScale; half _GlossMapScaleDyn; half4 _EmissionColor; half _Occlusion; half _BumpScaleDyn; half _NormalFactor; half _NormalLimit; half _TopDownTiling; float3 _TerrainPosition; half _LowerNormalMinStrength; half _LowerNormalInfluence; half _HeightBlendSharpness; // Simple Fuzz half _FuzzStrength; half _FuzzAmbient; half _FuzzWrap; half _FuzzPower; half _FuzzBias; half _Cutoff; //HDRP 10.1. DepthNormal pass CBUFFER_END struct VertexInput { float4 positionOS : POSITION; float3 normalOS : NORMAL; float4 tangentOS : TANGENT; float2 texcoord : TEXCOORD0; float2 lightmapUV : TEXCOORD1; UNITY_VERTEX_INPUT_INSTANCE_ID }; struct VertexOutput { float4 positionCS : SV_POSITION; //#ifdef _ADDITIONAL_LIGHTS float3 positionWS : TEXCOORD0; //#endif #if !defined(UNITY_PASS_SHADOWCASTER) && !defined(DEPTHONLYPASS) && !defined(DEPTHNORMALONLYPASS) float4 uv : TEXCOORD1; #if !defined(CUSTOMMETAPASS) DECLARE_LIGHTMAP_OR_SH(lightmapUV, vertexSH, 2); float3 normalWS : TEXCOORD3; #ifdef _NORMALMAP float4 tangentWS : TEXCOORD4; // xyz: tangent, w: tangent sign #endif float3 viewDirWS : TEXCOORD5; float4 fogFactorAndVertexLight : TEXCOORD6; // x: fogFactor, yzw: vertex light #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) float4 shadowCoord : TEXCOORD7; #endif #endif #endif UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; struct SurfaceDescription { half3 albedo; half alpha; half3 normalTS; half3 emission; half metallic; half3 specular; half smoothness; half occlusion; half fuzzMask; }; #endif