Rasagar/Library/PackageCache/com.unity.render-pipelines.universal/Shaders/Nature/SpeedTree8Input.hlsl
2024-08-26 23:07:20 +03:00

73 lines
2.0 KiB
HLSL

#ifndef UNIVERSAL_SPEEDTREE8_INPUT_INCLUDED
#define UNIVERSAL_SPEEDTREE8_INPUT_INCLUDED
#ifdef EFFECT_BUMP
#define _NORMALMAP
#endif
#define _ALPHATEST_ON
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceInput.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#if defined(ENABLE_WIND) && !defined(_WINDQUALITY_NONE)
#define SPEEDTREE_Y_UP
#define SPEEDTREE_8_WIND 1
#include "SpeedTreeWind.cginc"
float _WindEnabled;
UNITY_INSTANCING_BUFFER_START(STWind)
UNITY_DEFINE_INSTANCED_PROP(float, _GlobalWindTime)
UNITY_INSTANCING_BUFFER_END(STWind)
#endif
half4 _Color;
int _TwoSided;
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
float4 _MainTex_TexelSize;
#ifdef EFFECT_EXTRA_TEX
sampler2D _ExtraTex;
#else
half _Glossiness;
half _Metallic;
#endif
#ifdef EFFECT_HUE_VARIATION
half4 _HueVariationColor;
#endif
#ifdef EFFECT_BILLBOARD
half _BillboardShadowFade;
#endif
#ifdef EFFECT_SUBSURFACE
sampler2D _SubsurfaceTex;
half4 _SubsurfaceColor;
half _SubsurfaceIndirect;
#endif
// Shadow Casting Light geometric parameters. These variables are used when applying the shadow Normal Bias and are set by UnityEngine.Rendering.Universal.ShadowUtils.SetupShadowCasterConstantBuffer in com.unity.render-pipelines.universal/Runtime/ShadowUtils.cs
// For Directional lights, _LightDirection is used when applying shadow Normal Bias.
// For Spot lights and Point lights, _LightPosition is used to compute the actual light direction because it is different at each shadow caster geometry vertex.
float3 _LightDirection;
float3 _LightPosition;
#define GEOM_TYPE_BRANCH 0
#define GEOM_TYPE_FROND 1
#define GEOM_TYPE_LEAF 2
#define GEOM_TYPE_FACINGLEAF 3
#define _Surface 0.0 // Speed Trees are always opaque
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
#endif