123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- #ifndef INPUT_LUXLWRP_BASE_INCLUDED
- #define INPUT_LUXLWRP_BASE_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 Tree Creator Lighting.hlsl"
- #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
- #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl"
- // Material Inputs
- CBUFFER_START(UnityPerMaterial)
- half4 _Color;
- half _Smoothness;
- half _Metallic;
- half4 _SpecColor;
- half _Cutoff;
- float4 _MainTex_ST;
- // needed by meta pass
- float4 _BaseMap_ST;
-
- float4 _BumpMap_ST;
- half4 _TranslucencyColor;
- half _TranslucencyViewDependency;
- half _ShadowStrength;
- #if defined (DUMMYSHADER)
- half _Shininess;
- #endif
- CBUFFER_END
- // These can't be per material...
- UNITY_INSTANCING_BUFFER_START(Props)
- UNITY_DEFINE_INSTANCED_PROP(half, _SquashAmount)
- UNITY_DEFINE_INSTANCED_PROP(half4, _TreeInstanceColor)
- UNITY_DEFINE_INSTANCED_PROP(half4, _TreeInstanceScale)
- UNITY_DEFINE_INSTANCED_PROP(half4, _SquashPlaneNormal)
- UNITY_DEFINE_INSTANCED_PROP(half4, _Wind)
- UNITY_INSTANCING_BUFFER_END(Props)
-
- TEXTURE2D (_MainTex); SAMPLER(sampler_MainTex);
- TEXTURE2D (_BumpSpecMap ); SAMPLER(sampler_BumpSpecMap);
- TEXTURE2D (_TranslucencyMap); SAMPLER(sampler_TranslucencyMap);
- #if defined (DUMMYSHADER)
- //TEXTURE2D (_BumpMap); SAMPLER(sampler_BumpMap); // already defined
- TEXTURE2D (_GlossMap); SAMPLER(sampler_GlossMap);
- // TEXTURE2D (_TranslucencyMap); SAMPLER(sampler_TranslucencyMap); // already defined
- #endif
- // Additional textures
- // Global Inputs
- // Structs
- struct VertexInput
- {
- float3 positionOS : POSITION;
- float3 normalOS : NORMAL;
- float4 tangentOS : TANGENT;
- float2 texcoord : TEXCOORD0;
- float2 texcoord1 : TEXCOORD1;
- half4 color : COLOR;
- UNITY_VERTEX_INPUT_INSTANCE_ID
- };
-
- struct VertexOutput
- {
- float4 positionCS : SV_POSITION;
- #if defined(_MASKMAP)
- float4 uv : TEXCOORD0;
- #else
- float2 uv : TEXCOORD0;
- #endif
- #if !defined(UNITY_PASS_SHADOWCASTER) && !defined(DEPTHONLYPASS)
- DECLARE_LIGHTMAP_OR_SH(lightmapUV, vertexSH, 1);
- #if defined(REQUIRES_WORLD_SPACE_POS_INTERPOLATOR)
- float3 positionWS : TEXCOORD2;
- #endif
-
- half4 normalWS : TEXCOORD3;
- half4 tangentWS : TEXCOORD4;
- half4 bitangentWS : TEXCOORD5;
- half4 fogFactorAndVertexLight : TEXCOORD6;
-
- #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
- float4 shadowCoord : TEXCOORD7;
- #endif
- #endif
- #if defined(BILLBOARD_FACE_CAMERA_POS) && defined(_ENABLEDITHERING)
- float4 screenPos : TEXCOORD8;
- #endif
- half4 color : COLOR;
- UNITY_VERTEX_INPUT_INSTANCE_ID
- UNITY_VERTEX_OUTPUT_STEREO
- };
- struct SurfaceDescription
- {
- half3 albedo;
- half alpha;
- half3 normalTS;
- half3 specular;
- half gloss;
- half occlusion;
- half translucency;
- };
- #endif
|