Files
Genesis_Unity/Assets/03_Shaders/zyn_shd_multifeature_00_GroundVFX.shader

4431 lines
232 KiB
GLSL
Raw Blame History

Shader "Shader Graphs/zyn_shd_multifeature_00_GroundVFX"
{
Properties
{
[MainTexture][NoScaleOffset]_Main_Texture("Main Texture", 2D) = "white" {}
_Depth_Fade_Factor("Depth Fade Factor", Range(0, 3)) = 0
[NoScaleOffset]_Dissolve_Texture("Dissolve Texture", 2D) = "white" {}
[ToggleUI]_Distort("Distort?", Float) = 0
[NoScaleOffset]_Distortion_Noise("Distortion Noise", 2D) = "white" {}
[ToggleUI]_Vertex_Offset("Vertex Offset?", Float) = 0
[NoScaleOffset]_Color_Mask("Color Mask", 2D) = "white" {}
_Hue_shift("Hue shift", Color) = (1, 1, 1, 1)
[HideInInspector]_CastShadows("_CastShadows", Float) = 1
[HideInInspector]_Surface("_Surface", Float) = 1
[HideInInspector]_Blend("_Blend", Float) = 0
[HideInInspector]_AlphaClip("_AlphaClip", Float) = 0
[HideInInspector]_SrcBlend("_SrcBlend", Float) = 1
[HideInInspector]_DstBlend("_DstBlend", Float) = 0
[HideInInspector]_SrcBlendAlpha("_SrcBlendAlpha", Float) = 1
[HideInInspector]_DstBlendAlpha("_DstBlendAlpha", Float) = 0
[HideInInspector][ToggleUI]_ZWrite("_ZWrite", Float) = 0
[HideInInspector]_ZWriteControl("_ZWriteControl", Float) = 0
[HideInInspector]_ZTest("_ZTest", Float) = 4
[HideInInspector]_Cull("_Cull", Float) = 2
[HideInInspector]_AlphaToMask("_AlphaToMask", Float) = 0
[HideInInspector]_QueueOffset("_QueueOffset", Float) = 0
[HideInInspector]_QueueControl("_QueueControl", Float) = -1
[HideInInspector][NoScaleOffset]unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {}
[HideInInspector][NoScaleOffset]unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {}
[HideInInspector][NoScaleOffset]unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {}
}
SubShader
{
Tags
{
"RenderPipeline"="UniversalPipeline"
"RenderType"="Transparent"
"UniversalMaterialType" = "Unlit"
"Queue"="Transparent"
"DisableBatching"="False"
"ShaderGraphShader"="true"
"ShaderGraphTargetId"="UniversalUnlitSubTarget"
}
Pass
{
Name "Universal Forward"
Tags
{
// LightMode: <None>
}
// Render State
Cull [_Cull]
Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha]
ZTest Always
ZWrite [_ZWrite]
AlphaToMask [_AlphaToMask]
// [GroundVFX] 캐릭터(Stencil bit0=1) 위에 안 그려지도록
Stencil
{
Ref 1
ReadMask 1
Comp NotEqual
Pass Keep
}
// Debug
// <None>
// --------------------------------------------------
// Pass
HLSLPROGRAM
// Pragmas
#pragma target 2.0
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile _ LIGHTMAP_ON
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
#pragma multi_compile _ USE_LEGACY_LIGHTMAPS
#pragma multi_compile _ LIGHTMAP_BICUBIC_SAMPLING
#pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
#pragma multi_compile_fragment _ DEBUG_DISPLAY
#pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
#pragma shader_feature_fragment _ _SURFACE_TYPE_TRANSPARENT
#pragma shader_feature_local_fragment _ _ALPHAPREMULTIPLY_ON
#pragma shader_feature_local_fragment _ _ALPHAMODULATE_ON
#pragma shader_feature_local_fragment _ _ALPHATEST_ON
// GraphKeywords: <None>
// Defines
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_COLOR
#define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_TEXCOORD2
#define VARYINGS_NEED_COLOR
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_UNLIT
#define _FOG_FRAGMENT 1
#define UNLIT_DEFAULT_DECAL_BLENDING 1
#define UNLIT_DEFAULT_SSAO 1
#define REQUIRE_DEPTH_TEXTURE
#define REQUIRE_OPAQUE_TEXTURE
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 texCoord0;
float4 texCoord1;
float4 texCoord2;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
struct SurfaceDescriptionInputs
{
float3 WorldSpacePosition;
float4 ScreenPosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 VertexColor;
float3 TimeParameters;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 ObjectSpacePosition;
float4 uv1;
float3 TimeParameters;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 texCoord0 : INTERP0;
float4 texCoord1 : INTERP1;
float4 texCoord2 : INTERP2;
float4 color : INTERP3;
float3 positionWS : INTERP4;
float3 normalWS : INTERP5;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.texCoord2.xyzw = input.texCoord2;
output.color.xyzw = input.color;
output.positionWS.xyz = input.positionWS;
output.normalWS.xyz = input.normalWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.texCoord2 = input.texCoord2.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.positionWS.xyz;
output.normalWS = input.normalWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _Main_Texture_TexelSize;
float4 _Dissolve_Texture_TexelSize;
float _Depth_Fade_Factor;
float _Distort;
float _Vertex_Offset;
float4 _Distortion_Noise_TexelSize;
float4 _Color_Mask_TexelSize;
float4 _Hue_shift;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_Main_Texture);
SAMPLER(sampler_Main_Texture);
TEXTURE2D(_Dissolve_Texture);
SAMPLER(sampler_Dissolve_Texture);
TEXTURE2D(_Distortion_Noise);
SAMPLER(sampler_Distortion_Noise);
TEXTURE2D(_Color_Mask);
SAMPLER(sampler_Color_Mask);
// Graph Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
{
float2 i = floor(uv);
float2 f = frac(uv);
f = f * f * (3.0 - 2.0 * f);
uv = abs(frac(uv) - 0.5);
float2 c0 = i + float2(0.0, 0.0);
float2 c1 = i + float2(1.0, 0.0);
float2 c2 = i + float2(0.0, 1.0);
float2 c3 = i + float2(1.0, 1.0);
float r0; Hash_Tchou_2_1_float(c0, r0);
float r1; Hash_Tchou_2_1_float(c1, r1);
float r2; Hash_Tchou_2_1_float(c2, r2);
float r3; Hash_Tchou_2_1_float(c3, r3);
float bottomOfGrid = lerp(r0, r1, f.x);
float topOfGrid = lerp(r2, r3, f.x);
float t = lerp(bottomOfGrid, topOfGrid, f.y);
return t;
}
void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
{
float freq, amp;
Out = 0.0f;
freq = pow(2.0, float(0));
amp = pow(0.5, float(3-0));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(1));
amp = pow(0.5, float(3-1));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(2));
amp = pow(0.5, float(3-2));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
void Unity_Twirl_float(float2 UV, float2 Center, float Strength, float2 Offset, out float2 Out)
{
float2 delta = UV - Center;
float angle = Strength * length(delta);
float x = cos(angle) * delta.x - sin(angle) * delta.y;
float y = sin(angle) * delta.x + cos(angle) * delta.y;
Out = float2(x + Center.x + Offset.x, y + Center.y + Offset.y);
}
void Unity_NormalFromTexture_float(TEXTURE2D_PARAM(Texture, Sampler), float2 UV, float Offset, float Strength, out float3 Out)
{
Offset = pow(Offset, 3) * 0.1;
float2 offsetU = float2(UV.x + Offset, UV.y);
float2 offsetV = float2(UV.x, UV.y + Offset);
float normalSample = SAMPLE_TEXTURE2D(Texture, Sampler, UV).r;
float uSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetU).r;
float vSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetV).r;
float3 va = float3(1, 0, (uSample - normalSample) * Strength);
float3 vb = float3(0, 1, (vSample - normalSample) * Strength);
Out = normalize(cross(va, vb));
}
void Unity_SceneColor_float(float4 UV, out float3 Out)
{
Out = SHADERGRAPH_SAMPLE_SCENE_COLOR(UV.xy);
}
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
{
Out = UV * Tiling + Offset;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
{
Out = clamp(In, Min, Max);
}
void Unity_SceneDepth_Eye_float(float4 UV, out float Out)
{
if (unity_OrthoParams.w == 1.0)
{
Out = LinearEyeDepth(ComputeWorldSpacePosition(UV.xy, SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), UNITY_MATRIX_I_VP), UNITY_MATRIX_V);
}
else
{
Out = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), _ZBufferParams);
}
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
{
Out = smoothstep(Edge1, Edge2, In);
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float3 BaseColor;
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
float _Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean = _Distort;
float4 _ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
UnityTexture2D _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Distortion_Noise);
float _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float;
Unity_Multiply_float_float(1, IN.TimeParameters.x, _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float);
float2 _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2;
Unity_Twirl_float(IN.uv0.xy, float2 (0.5, 0.5), float(5), (_Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float.xx), _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2);
float4 _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4 = IN.uv2;
float _Split_dd61a7836c0d4dd0af69acff06b02195_R_1_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[0];
float _Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[1];
float _Split_dd61a7836c0d4dd0af69acff06b02195_B_3_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[2];
float _Split_dd61a7836c0d4dd0af69acff06b02195_A_4_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[3];
float _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float;
Unity_Multiply_float_float(_Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float, 0.1, _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float);
float4 _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4 = IN.uv2;
float _Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[0];
float _Split_013c8550ee754fcab89ba2a9e3ca7117_G_2_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[1];
float _Split_013c8550ee754fcab89ba2a9e3ca7117_B_3_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[2];
float _Split_013c8550ee754fcab89ba2a9e3ca7117_A_4_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[3];
float _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float;
Unity_Multiply_float_float(_Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float, 0.01, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float);
float3 _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3;
Unity_NormalFromTexture_float(TEXTURE2D_ARGS(_Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.tex, _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.samplerstate), _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.GetTransformedUV(_Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2), _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float, _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3);
float3 _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3;
Unity_Multiply_float3_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3, _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3);
float3 _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3;
Unity_Add_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3, _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3);
float3 _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3;
Unity_SceneColor_float((float4(_Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3, 1.0)), _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3);
UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
float3 _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3 = float3(_Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float);
float3 _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3;
Unity_Multiply_float3_float3(float3(0, 0, 0), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3);
float3 _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3;
Unity_Add_float3(_SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3);
float4 _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4 = IN.uv1;
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_R_1_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[0];
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_G_2_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[1];
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[2];
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_A_4_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[3];
float _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float;
Unity_Clamp_float(_Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float, float(1), float(10), _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float);
float3 _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3;
Unity_Multiply_float3_float3((_Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float.xxx), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3);
float3 _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3;
Unity_Branch_float3(_Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3, _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3);
float _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float;
Unity_SceneDepth_Eye_float(float4(IN.NDCPosition.xy, 0, 0), _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float);
float4 _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4 = IN.ScreenPosition;
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_R_1_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[0];
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_G_2_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[1];
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_B_3_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[2];
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[3];
float _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float;
Unity_Subtract_float(_SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float, _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float, _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float);
float _Property_32583f2525b14d90927281637ad7b962_Out_0_Float = _Depth_Fade_Factor;
float _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float;
Unity_Divide_float(_Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float, _Property_32583f2525b14d90927281637ad7b962_Out_0_Float, _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float);
float _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float;
Unity_Saturate_float(_Divide_89c4abebb8194b988799339162560ac4_Out_2_Float, _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float);
float3 _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
// [GroundVFX] Depth Fade 비활성화 - 지형 아래에서도 검정 안 나오도록
Unity_Multiply_float3_float3(_Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3, float3(1,1,1), _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3);
float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
surface.BaseColor = _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
surface.AlphaClipThreshold = float(0.5);
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.ObjectSpacePosition = input.positionOS;
output.uv1 = input.uv1;
output.TimeParameters = _TimeParameters.xyz;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.WorldSpacePosition = input.positionWS;
output.ScreenPosition = ComputeScreenPos(TransformWorldToHClip(input.positionWS), _ProjectionParams.x);
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.uv2 = input.texCoord2;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
output.TimeParameters = _TimeParameters.xyz; // This is mainly for LW as HD overwrite this value
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/UnlitPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
ENDHLSL
}
Pass
{
Name "DepthOnly"
Tags
{
"LightMode" = "DepthOnly"
}
// Render State
Cull [_Cull]
ZTest LEqual
ZWrite On
ColorMask R
// Debug
// <None>
// --------------------------------------------------
// Pass
HLSLPROGRAM
// Pragmas
#pragma target 2.0
#pragma multi_compile_instancing
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma shader_feature_local_fragment _ _ALPHATEST_ON
// GraphKeywords: <None>
// Defines
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_COLOR
#define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_COLOR
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_DEPTHONLY
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float4 texCoord0;
float4 texCoord1;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
struct SurfaceDescriptionInputs
{
float4 uv0;
float4 uv1;
float4 VertexColor;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 ObjectSpacePosition;
float4 uv1;
float3 TimeParameters;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 texCoord0 : INTERP0;
float4 texCoord1 : INTERP1;
float4 color : INTERP2;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.color.xyzw = input.color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.color = input.color.xyzw;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _Main_Texture_TexelSize;
float4 _Dissolve_Texture_TexelSize;
float _Depth_Fade_Factor;
float _Distort;
float _Vertex_Offset;
float4 _Distortion_Noise_TexelSize;
float4 _Color_Mask_TexelSize;
float4 _Hue_shift;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_Main_Texture);
SAMPLER(sampler_Main_Texture);
TEXTURE2D(_Dissolve_Texture);
SAMPLER(sampler_Dissolve_Texture);
TEXTURE2D(_Distortion_Noise);
SAMPLER(sampler_Distortion_Noise);
TEXTURE2D(_Color_Mask);
SAMPLER(sampler_Color_Mask);
// Graph Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
{
float2 i = floor(uv);
float2 f = frac(uv);
f = f * f * (3.0 - 2.0 * f);
uv = abs(frac(uv) - 0.5);
float2 c0 = i + float2(0.0, 0.0);
float2 c1 = i + float2(1.0, 0.0);
float2 c2 = i + float2(0.0, 1.0);
float2 c3 = i + float2(1.0, 1.0);
float r0; Hash_Tchou_2_1_float(c0, r0);
float r1; Hash_Tchou_2_1_float(c1, r1);
float r2; Hash_Tchou_2_1_float(c2, r2);
float r3; Hash_Tchou_2_1_float(c3, r3);
float bottomOfGrid = lerp(r0, r1, f.x);
float topOfGrid = lerp(r2, r3, f.x);
float t = lerp(bottomOfGrid, topOfGrid, f.y);
return t;
}
void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
{
float freq, amp;
Out = 0.0f;
freq = pow(2.0, float(0));
amp = pow(0.5, float(3-0));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(1));
amp = pow(0.5, float(3-1));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(2));
amp = pow(0.5, float(3-2));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
{
Out = UV * Tiling + Offset;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
{
Out = smoothstep(Edge1, Edge2, In);
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
surface.AlphaClipThreshold = float(0.5);
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.ObjectSpacePosition = input.positionOS;
output.uv1 = input.uv1;
output.TimeParameters = _TimeParameters.xyz;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
#if UNITY_UV_STARTS_AT_TOP
#else
#endif
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
ENDHLSL
}
Pass
{
Name "MotionVectors"
Tags
{
"LightMode" = "MotionVectors"
}
// Render State
Cull [_Cull]
ZTest LEqual
ZWrite On
ColorMask RG
// Debug
// <None>
// --------------------------------------------------
// Pass
HLSLPROGRAM
// Pragmas
#pragma target 3.5
#pragma multi_compile_instancing
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma shader_feature_local_fragment _ _ALPHATEST_ON
// GraphKeywords: <None>
// Defines
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_COLOR
#define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_COLOR
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_MOTION_VECTORS
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float4 texCoord0;
float4 texCoord1;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
struct SurfaceDescriptionInputs
{
float4 uv0;
float4 uv1;
float4 VertexColor;
};
struct VertexDescriptionInputs
{
float3 WorldSpaceNormal;
float3 ObjectSpacePosition;
float4 uv1;
float3 TimeParameters;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 texCoord0 : INTERP0;
float4 texCoord1 : INTERP1;
float4 color : INTERP2;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.color.xyzw = input.color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.color = input.color.xyzw;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _Main_Texture_TexelSize;
float4 _Dissolve_Texture_TexelSize;
float _Depth_Fade_Factor;
float _Distort;
float _Vertex_Offset;
float4 _Distortion_Noise_TexelSize;
float4 _Color_Mask_TexelSize;
float4 _Hue_shift;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_Main_Texture);
SAMPLER(sampler_Main_Texture);
TEXTURE2D(_Dissolve_Texture);
SAMPLER(sampler_Dissolve_Texture);
TEXTURE2D(_Distortion_Noise);
SAMPLER(sampler_Distortion_Noise);
TEXTURE2D(_Color_Mask);
SAMPLER(sampler_Color_Mask);
// Graph Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
{
float2 i = floor(uv);
float2 f = frac(uv);
f = f * f * (3.0 - 2.0 * f);
uv = abs(frac(uv) - 0.5);
float2 c0 = i + float2(0.0, 0.0);
float2 c1 = i + float2(1.0, 0.0);
float2 c2 = i + float2(0.0, 1.0);
float2 c3 = i + float2(1.0, 1.0);
float r0; Hash_Tchou_2_1_float(c0, r0);
float r1; Hash_Tchou_2_1_float(c1, r1);
float r2; Hash_Tchou_2_1_float(c2, r2);
float r3; Hash_Tchou_2_1_float(c3, r3);
float bottomOfGrid = lerp(r0, r1, f.x);
float topOfGrid = lerp(r2, r3, f.x);
float t = lerp(bottomOfGrid, topOfGrid, f.y);
return t;
}
void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
{
float freq, amp;
Out = 0.0f;
freq = pow(2.0, float(0));
amp = pow(0.5, float(3-0));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(1));
amp = pow(0.5, float(3-1));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(2));
amp = pow(0.5, float(3-2));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
{
Out = UV * Tiling + Offset;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
{
Out = smoothstep(Edge1, Edge2, In);
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
surface.AlphaClipThreshold = float(0.5);
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpacePosition = input.positionOS;
output.uv1 = input.uv1;
output.TimeParameters = _TimeParameters.xyz;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
#if UNITY_UV_STARTS_AT_TOP
#else
#endif
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/MotionVectorPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
ENDHLSL
}
Pass
{
Name "DepthNormalsOnly"
Tags
{
"LightMode" = "DepthNormalsOnly"
}
// Render State
Cull [_Cull]
ZTest LEqual
ZWrite On
// Debug
// <None>
// --------------------------------------------------
// Pass
HLSLPROGRAM
// Pragmas
#pragma target 2.0
#pragma multi_compile_instancing
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT
#pragma shader_feature_fragment _ _SURFACE_TYPE_TRANSPARENT
#pragma shader_feature_local_fragment _ _ALPHAPREMULTIPLY_ON
#pragma shader_feature_local_fragment _ _ALPHAMODULATE_ON
#pragma shader_feature_local_fragment _ _ALPHATEST_ON
// GraphKeywords: <None>
// Defines
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_COLOR
#define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_COLOR
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_DEPTHNORMALSONLY
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 normalWS;
float4 texCoord0;
float4 texCoord1;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
struct SurfaceDescriptionInputs
{
float4 uv0;
float4 uv1;
float4 VertexColor;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 ObjectSpacePosition;
float4 uv1;
float3 TimeParameters;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 texCoord0 : INTERP0;
float4 texCoord1 : INTERP1;
float4 color : INTERP2;
float3 normalWS : INTERP3;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.color.xyzw = input.color;
output.normalWS.xyz = input.normalWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.color = input.color.xyzw;
output.normalWS = input.normalWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _Main_Texture_TexelSize;
float4 _Dissolve_Texture_TexelSize;
float _Depth_Fade_Factor;
float _Distort;
float _Vertex_Offset;
float4 _Distortion_Noise_TexelSize;
float4 _Color_Mask_TexelSize;
float4 _Hue_shift;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_Main_Texture);
SAMPLER(sampler_Main_Texture);
TEXTURE2D(_Dissolve_Texture);
SAMPLER(sampler_Dissolve_Texture);
TEXTURE2D(_Distortion_Noise);
SAMPLER(sampler_Distortion_Noise);
TEXTURE2D(_Color_Mask);
SAMPLER(sampler_Color_Mask);
// Graph Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
{
float2 i = floor(uv);
float2 f = frac(uv);
f = f * f * (3.0 - 2.0 * f);
uv = abs(frac(uv) - 0.5);
float2 c0 = i + float2(0.0, 0.0);
float2 c1 = i + float2(1.0, 0.0);
float2 c2 = i + float2(0.0, 1.0);
float2 c3 = i + float2(1.0, 1.0);
float r0; Hash_Tchou_2_1_float(c0, r0);
float r1; Hash_Tchou_2_1_float(c1, r1);
float r2; Hash_Tchou_2_1_float(c2, r2);
float r3; Hash_Tchou_2_1_float(c3, r3);
float bottomOfGrid = lerp(r0, r1, f.x);
float topOfGrid = lerp(r2, r3, f.x);
float t = lerp(bottomOfGrid, topOfGrid, f.y);
return t;
}
void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
{
float freq, amp;
Out = 0.0f;
freq = pow(2.0, float(0));
amp = pow(0.5, float(3-0));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(1));
amp = pow(0.5, float(3-1));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(2));
amp = pow(0.5, float(3-2));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
{
Out = UV * Tiling + Offset;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
{
Out = smoothstep(Edge1, Edge2, In);
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
surface.AlphaClipThreshold = float(0.5);
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.ObjectSpacePosition = input.positionOS;
output.uv1 = input.uv1;
output.TimeParameters = _TimeParameters.xyz;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
#if UNITY_UV_STARTS_AT_TOP
#else
#endif
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthNormalsOnlyPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
ENDHLSL
}
Pass
{
Name "ShadowCaster"
Tags
{
"LightMode" = "ShadowCaster"
}
// Render State
Cull [_Cull]
ZTest LEqual
ZWrite On
ColorMask 0
// Debug
// <None>
// --------------------------------------------------
// Pass
HLSLPROGRAM
// Pragmas
#pragma target 2.0
#pragma multi_compile_instancing
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW
#pragma shader_feature_local_fragment _ _ALPHATEST_ON
// GraphKeywords: <None>
// Defines
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_COLOR
#define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_COLOR
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_SHADOWCASTER
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 normalWS;
float4 texCoord0;
float4 texCoord1;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
struct SurfaceDescriptionInputs
{
float4 uv0;
float4 uv1;
float4 VertexColor;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 ObjectSpacePosition;
float4 uv1;
float3 TimeParameters;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 texCoord0 : INTERP0;
float4 texCoord1 : INTERP1;
float4 color : INTERP2;
float3 normalWS : INTERP3;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.color.xyzw = input.color;
output.normalWS.xyz = input.normalWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.color = input.color.xyzw;
output.normalWS = input.normalWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _Main_Texture_TexelSize;
float4 _Dissolve_Texture_TexelSize;
float _Depth_Fade_Factor;
float _Distort;
float _Vertex_Offset;
float4 _Distortion_Noise_TexelSize;
float4 _Color_Mask_TexelSize;
float4 _Hue_shift;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_Main_Texture);
SAMPLER(sampler_Main_Texture);
TEXTURE2D(_Dissolve_Texture);
SAMPLER(sampler_Dissolve_Texture);
TEXTURE2D(_Distortion_Noise);
SAMPLER(sampler_Distortion_Noise);
TEXTURE2D(_Color_Mask);
SAMPLER(sampler_Color_Mask);
// Graph Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
{
float2 i = floor(uv);
float2 f = frac(uv);
f = f * f * (3.0 - 2.0 * f);
uv = abs(frac(uv) - 0.5);
float2 c0 = i + float2(0.0, 0.0);
float2 c1 = i + float2(1.0, 0.0);
float2 c2 = i + float2(0.0, 1.0);
float2 c3 = i + float2(1.0, 1.0);
float r0; Hash_Tchou_2_1_float(c0, r0);
float r1; Hash_Tchou_2_1_float(c1, r1);
float r2; Hash_Tchou_2_1_float(c2, r2);
float r3; Hash_Tchou_2_1_float(c3, r3);
float bottomOfGrid = lerp(r0, r1, f.x);
float topOfGrid = lerp(r2, r3, f.x);
float t = lerp(bottomOfGrid, topOfGrid, f.y);
return t;
}
void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
{
float freq, amp;
Out = 0.0f;
freq = pow(2.0, float(0));
amp = pow(0.5, float(3-0));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(1));
amp = pow(0.5, float(3-1));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(2));
amp = pow(0.5, float(3-2));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
{
Out = UV * Tiling + Offset;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
{
Out = smoothstep(Edge1, Edge2, In);
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
surface.AlphaClipThreshold = float(0.5);
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.ObjectSpacePosition = input.positionOS;
output.uv1 = input.uv1;
output.TimeParameters = _TimeParameters.xyz;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
#if UNITY_UV_STARTS_AT_TOP
#else
#endif
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
ENDHLSL
}
Pass
{
Name "GBuffer"
Tags
{
"LightMode" = "UniversalGBuffer"
}
// Render State
Cull [_Cull]
Blend [_SrcBlend] [_DstBlend], [_SrcBlendAlpha] [_DstBlendAlpha]
ZTest Always
ZWrite [_ZWrite]
// [GroundVFX] 캐릭터(Stencil Ref 221) 위에 안 그<><EAB7B8>지도록
Stencil
{
Ref 221
ReadMask 221
Comp NotEqual
Pass Keep
}
// Debug
// <None>
// --------------------------------------------------
// Pass
HLSLPROGRAM
// Pragmas
#pragma target 4.5
#pragma exclude_renderers gles3 glcore
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
#pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
#pragma multi_compile_fragment _ _RENDER_PASS_ENABLED
#pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT
#pragma multi_compile _ SHADOWS_SHADOWMASK
#pragma shader_feature_fragment _ _SURFACE_TYPE_TRANSPARENT
#pragma shader_feature_local_fragment _ _ALPHAPREMULTIPLY_ON
#pragma shader_feature_local_fragment _ _ALPHAMODULATE_ON
#pragma shader_feature_local_fragment _ _ALPHATEST_ON
// GraphKeywords: <None>
// Defines
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_COLOR
#define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_TEXCOORD2
#define VARYINGS_NEED_COLOR
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_GBUFFER
#define REQUIRE_DEPTH_TEXTURE
#define REQUIRE_OPAQUE_TEXTURE
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 texCoord0;
float4 texCoord1;
float4 texCoord2;
float4 color;
#if !defined(LIGHTMAP_ON)
float3 sh;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
float4 probeOcclusion;
#endif
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
struct SurfaceDescriptionInputs
{
float3 WorldSpacePosition;
float4 ScreenPosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 VertexColor;
float3 TimeParameters;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 ObjectSpacePosition;
float4 uv1;
float3 TimeParameters;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
#if !defined(LIGHTMAP_ON)
float3 sh : INTERP0;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
float4 probeOcclusion : INTERP1;
#endif
float4 texCoord0 : INTERP2;
float4 texCoord1 : INTERP3;
float4 texCoord2 : INTERP4;
float4 color : INTERP5;
float3 positionWS : INTERP6;
float3 normalWS : INTERP7;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
#if !defined(LIGHTMAP_ON)
output.sh = input.sh;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
output.probeOcclusion = input.probeOcclusion;
#endif
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.texCoord2.xyzw = input.texCoord2;
output.color.xyzw = input.color;
output.positionWS.xyz = input.positionWS;
output.normalWS.xyz = input.normalWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
#if !defined(LIGHTMAP_ON)
output.sh = input.sh;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
output.probeOcclusion = input.probeOcclusion;
#endif
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.texCoord2 = input.texCoord2.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.positionWS.xyz;
output.normalWS = input.normalWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _Main_Texture_TexelSize;
float4 _Dissolve_Texture_TexelSize;
float _Depth_Fade_Factor;
float _Distort;
float _Vertex_Offset;
float4 _Distortion_Noise_TexelSize;
float4 _Color_Mask_TexelSize;
float4 _Hue_shift;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_Main_Texture);
SAMPLER(sampler_Main_Texture);
TEXTURE2D(_Dissolve_Texture);
SAMPLER(sampler_Dissolve_Texture);
TEXTURE2D(_Distortion_Noise);
SAMPLER(sampler_Distortion_Noise);
TEXTURE2D(_Color_Mask);
SAMPLER(sampler_Color_Mask);
// Graph Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
{
float2 i = floor(uv);
float2 f = frac(uv);
f = f * f * (3.0 - 2.0 * f);
uv = abs(frac(uv) - 0.5);
float2 c0 = i + float2(0.0, 0.0);
float2 c1 = i + float2(1.0, 0.0);
float2 c2 = i + float2(0.0, 1.0);
float2 c3 = i + float2(1.0, 1.0);
float r0; Hash_Tchou_2_1_float(c0, r0);
float r1; Hash_Tchou_2_1_float(c1, r1);
float r2; Hash_Tchou_2_1_float(c2, r2);
float r3; Hash_Tchou_2_1_float(c3, r3);
float bottomOfGrid = lerp(r0, r1, f.x);
float topOfGrid = lerp(r2, r3, f.x);
float t = lerp(bottomOfGrid, topOfGrid, f.y);
return t;
}
void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
{
float freq, amp;
Out = 0.0f;
freq = pow(2.0, float(0));
amp = pow(0.5, float(3-0));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(1));
amp = pow(0.5, float(3-1));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(2));
amp = pow(0.5, float(3-2));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
void Unity_Twirl_float(float2 UV, float2 Center, float Strength, float2 Offset, out float2 Out)
{
float2 delta = UV - Center;
float angle = Strength * length(delta);
float x = cos(angle) * delta.x - sin(angle) * delta.y;
float y = sin(angle) * delta.x + cos(angle) * delta.y;
Out = float2(x + Center.x + Offset.x, y + Center.y + Offset.y);
}
void Unity_NormalFromTexture_float(TEXTURE2D_PARAM(Texture, Sampler), float2 UV, float Offset, float Strength, out float3 Out)
{
Offset = pow(Offset, 3) * 0.1;
float2 offsetU = float2(UV.x + Offset, UV.y);
float2 offsetV = float2(UV.x, UV.y + Offset);
float normalSample = SAMPLE_TEXTURE2D(Texture, Sampler, UV).r;
float uSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetU).r;
float vSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetV).r;
float3 va = float3(1, 0, (uSample - normalSample) * Strength);
float3 vb = float3(0, 1, (vSample - normalSample) * Strength);
Out = normalize(cross(va, vb));
}
void Unity_SceneColor_float(float4 UV, out float3 Out)
{
Out = SHADERGRAPH_SAMPLE_SCENE_COLOR(UV.xy);
}
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
{
Out = UV * Tiling + Offset;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
{
Out = clamp(In, Min, Max);
}
void Unity_SceneDepth_Eye_float(float4 UV, out float Out)
{
if (unity_OrthoParams.w == 1.0)
{
Out = LinearEyeDepth(ComputeWorldSpacePosition(UV.xy, SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), UNITY_MATRIX_I_VP), UNITY_MATRIX_V);
}
else
{
Out = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), _ZBufferParams);
}
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
{
Out = smoothstep(Edge1, Edge2, In);
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float3 BaseColor;
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
float _Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean = _Distort;
float4 _ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
UnityTexture2D _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Distortion_Noise);
float _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float;
Unity_Multiply_float_float(1, IN.TimeParameters.x, _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float);
float2 _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2;
Unity_Twirl_float(IN.uv0.xy, float2 (0.5, 0.5), float(5), (_Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float.xx), _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2);
float4 _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4 = IN.uv2;
float _Split_dd61a7836c0d4dd0af69acff06b02195_R_1_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[0];
float _Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[1];
float _Split_dd61a7836c0d4dd0af69acff06b02195_B_3_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[2];
float _Split_dd61a7836c0d4dd0af69acff06b02195_A_4_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[3];
float _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float;
Unity_Multiply_float_float(_Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float, 0.1, _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float);
float4 _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4 = IN.uv2;
float _Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[0];
float _Split_013c8550ee754fcab89ba2a9e3ca7117_G_2_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[1];
float _Split_013c8550ee754fcab89ba2a9e3ca7117_B_3_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[2];
float _Split_013c8550ee754fcab89ba2a9e3ca7117_A_4_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[3];
float _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float;
Unity_Multiply_float_float(_Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float, 0.01, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float);
float3 _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3;
Unity_NormalFromTexture_float(TEXTURE2D_ARGS(_Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.tex, _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.samplerstate), _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.GetTransformedUV(_Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2), _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float, _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3);
float3 _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3;
Unity_Multiply_float3_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3, _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3);
float3 _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3;
Unity_Add_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3, _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3);
float3 _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3;
Unity_SceneColor_float((float4(_Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3, 1.0)), _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3);
UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
float3 _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3 = float3(_Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float);
float3 _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3;
Unity_Multiply_float3_float3(float3(0, 0, 0), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3);
float3 _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3;
Unity_Add_float3(_SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3);
float4 _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4 = IN.uv1;
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_R_1_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[0];
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_G_2_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[1];
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[2];
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_A_4_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[3];
float _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float;
Unity_Clamp_float(_Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float, float(1), float(10), _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float);
float3 _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3;
Unity_Multiply_float3_float3((_Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float.xxx), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3);
float3 _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3;
Unity_Branch_float3(_Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3, _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3);
float _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float;
Unity_SceneDepth_Eye_float(float4(IN.NDCPosition.xy, 0, 0), _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float);
float4 _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4 = IN.ScreenPosition;
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_R_1_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[0];
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_G_2_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[1];
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_B_3_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[2];
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[3];
float _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float;
Unity_Subtract_float(_SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float, _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float, _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float);
float _Property_32583f2525b14d90927281637ad7b962_Out_0_Float = _Depth_Fade_Factor;
float _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float;
Unity_Divide_float(_Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float, _Property_32583f2525b14d90927281637ad7b962_Out_0_Float, _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float);
float _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float;
Unity_Saturate_float(_Divide_89c4abebb8194b988799339162560ac4_Out_2_Float, _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float);
float3 _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
// [GroundVFX] Depth Fade 비활성화 - 지형 아래에서도 검정 안 나오도록
Unity_Multiply_float3_float3(_Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3, float3(1,1,1), _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3);
float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
surface.BaseColor = _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
surface.AlphaClipThreshold = float(0.5);
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.ObjectSpacePosition = input.positionOS;
output.uv1 = input.uv1;
output.TimeParameters = _TimeParameters.xyz;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.WorldSpacePosition = input.positionWS;
output.ScreenPosition = ComputeScreenPos(TransformWorldToHClip(input.positionWS), _ProjectionParams.x);
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.uv2 = input.texCoord2;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
output.TimeParameters = _TimeParameters.xyz; // This is mainly for LW as HD overwrite this value
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/UnlitGBufferPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
ENDHLSL
}
Pass
{
Name "SceneSelectionPass"
Tags
{
"LightMode" = "SceneSelectionPass"
}
// Render State
Cull Off
// Debug
// <None>
// --------------------------------------------------
// Pass
HLSLPROGRAM
// Pragmas
#pragma target 2.0
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma shader_feature_local_fragment _ _ALPHATEST_ON
// GraphKeywords: <None>
// Defines
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_COLOR
#define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_COLOR
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_DEPTHONLY
#define SCENESELECTIONPASS 1
#define ALPHA_CLIP_THRESHOLD 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float4 texCoord0;
float4 texCoord1;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
struct SurfaceDescriptionInputs
{
float4 uv0;
float4 uv1;
float4 VertexColor;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 ObjectSpacePosition;
float4 uv1;
float3 TimeParameters;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 texCoord0 : INTERP0;
float4 texCoord1 : INTERP1;
float4 color : INTERP2;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.color.xyzw = input.color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.color = input.color.xyzw;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _Main_Texture_TexelSize;
float4 _Dissolve_Texture_TexelSize;
float _Depth_Fade_Factor;
float _Distort;
float _Vertex_Offset;
float4 _Distortion_Noise_TexelSize;
float4 _Color_Mask_TexelSize;
float4 _Hue_shift;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_Main_Texture);
SAMPLER(sampler_Main_Texture);
TEXTURE2D(_Dissolve_Texture);
SAMPLER(sampler_Dissolve_Texture);
TEXTURE2D(_Distortion_Noise);
SAMPLER(sampler_Distortion_Noise);
TEXTURE2D(_Color_Mask);
SAMPLER(sampler_Color_Mask);
// Graph Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
{
float2 i = floor(uv);
float2 f = frac(uv);
f = f * f * (3.0 - 2.0 * f);
uv = abs(frac(uv) - 0.5);
float2 c0 = i + float2(0.0, 0.0);
float2 c1 = i + float2(1.0, 0.0);
float2 c2 = i + float2(0.0, 1.0);
float2 c3 = i + float2(1.0, 1.0);
float r0; Hash_Tchou_2_1_float(c0, r0);
float r1; Hash_Tchou_2_1_float(c1, r1);
float r2; Hash_Tchou_2_1_float(c2, r2);
float r3; Hash_Tchou_2_1_float(c3, r3);
float bottomOfGrid = lerp(r0, r1, f.x);
float topOfGrid = lerp(r2, r3, f.x);
float t = lerp(bottomOfGrid, topOfGrid, f.y);
return t;
}
void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
{
float freq, amp;
Out = 0.0f;
freq = pow(2.0, float(0));
amp = pow(0.5, float(3-0));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(1));
amp = pow(0.5, float(3-1));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(2));
amp = pow(0.5, float(3-2));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
{
Out = UV * Tiling + Offset;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
{
Out = smoothstep(Edge1, Edge2, In);
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
surface.AlphaClipThreshold = float(0.5);
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.ObjectSpacePosition = input.positionOS;
output.uv1 = input.uv1;
output.TimeParameters = _TimeParameters.xyz;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
#if UNITY_UV_STARTS_AT_TOP
#else
#endif
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
ENDHLSL
}
Pass
{
Name "ScenePickingPass"
Tags
{
"LightMode" = "Picking"
}
// Render State
Cull [_Cull]
// Debug
// <None>
// --------------------------------------------------
// Pass
HLSLPROGRAM
// Pragmas
#pragma target 2.0
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma shader_feature_local_fragment _ _ALPHATEST_ON
// GraphKeywords: <None>
// Defines
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_COLOR
#define GRAPH_VERTEX_USES_TIME_PARAMETERS_INPUT
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_TEXCOORD2
#define VARYINGS_NEED_COLOR
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_DEPTHONLY
#define SCENEPICKINGPASS 1
#define ALPHA_CLIP_THRESHOLD 1
#define REQUIRE_DEPTH_TEXTURE
#define REQUIRE_OPAQUE_TEXTURE
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float4 texCoord0;
float4 texCoord1;
float4 texCoord2;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
struct SurfaceDescriptionInputs
{
float3 WorldSpacePosition;
float4 ScreenPosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 VertexColor;
float3 TimeParameters;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 ObjectSpacePosition;
float4 uv1;
float3 TimeParameters;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 texCoord0 : INTERP0;
float4 texCoord1 : INTERP1;
float4 texCoord2 : INTERP2;
float4 color : INTERP3;
float3 positionWS : INTERP4;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.texCoord2.xyzw = input.texCoord2;
output.color.xyzw = input.color;
output.positionWS.xyz = input.positionWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.texCoord2 = input.texCoord2.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.positionWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _Main_Texture_TexelSize;
float4 _Dissolve_Texture_TexelSize;
float _Depth_Fade_Factor;
float _Distort;
float _Vertex_Offset;
float4 _Distortion_Noise_TexelSize;
float4 _Color_Mask_TexelSize;
float4 _Hue_shift;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_Main_Texture);
SAMPLER(sampler_Main_Texture);
TEXTURE2D(_Dissolve_Texture);
SAMPLER(sampler_Dissolve_Texture);
TEXTURE2D(_Distortion_Noise);
SAMPLER(sampler_Distortion_Noise);
TEXTURE2D(_Color_Mask);
SAMPLER(sampler_Color_Mask);
// Graph Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Hashes.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
float Unity_SimpleNoise_ValueNoise_Deterministic_float (float2 uv)
{
float2 i = floor(uv);
float2 f = frac(uv);
f = f * f * (3.0 - 2.0 * f);
uv = abs(frac(uv) - 0.5);
float2 c0 = i + float2(0.0, 0.0);
float2 c1 = i + float2(1.0, 0.0);
float2 c2 = i + float2(0.0, 1.0);
float2 c3 = i + float2(1.0, 1.0);
float r0; Hash_Tchou_2_1_float(c0, r0);
float r1; Hash_Tchou_2_1_float(c1, r1);
float r2; Hash_Tchou_2_1_float(c2, r2);
float r3; Hash_Tchou_2_1_float(c3, r3);
float bottomOfGrid = lerp(r0, r1, f.x);
float topOfGrid = lerp(r2, r3, f.x);
float t = lerp(bottomOfGrid, topOfGrid, f.y);
return t;
}
void Unity_SimpleNoise_Deterministic_float(float2 UV, float Scale, out float Out)
{
float freq, amp;
Out = 0.0f;
freq = pow(2.0, float(0));
amp = pow(0.5, float(3-0));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(1));
amp = pow(0.5, float(3-1));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
freq = pow(2.0, float(2));
amp = pow(0.5, float(3-2));
Out += Unity_SimpleNoise_ValueNoise_Deterministic_float(float2(UV.xy*(Scale/freq)))*amp;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
void Unity_Twirl_float(float2 UV, float2 Center, float Strength, float2 Offset, out float2 Out)
{
float2 delta = UV - Center;
float angle = Strength * length(delta);
float x = cos(angle) * delta.x - sin(angle) * delta.y;
float y = sin(angle) * delta.x + cos(angle) * delta.y;
Out = float2(x + Center.x + Offset.x, y + Center.y + Offset.y);
}
void Unity_NormalFromTexture_float(TEXTURE2D_PARAM(Texture, Sampler), float2 UV, float Offset, float Strength, out float3 Out)
{
Offset = pow(Offset, 3) * 0.1;
float2 offsetU = float2(UV.x + Offset, UV.y);
float2 offsetV = float2(UV.x, UV.y + Offset);
float normalSample = SAMPLE_TEXTURE2D(Texture, Sampler, UV).r;
float uSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetU).r;
float vSample = SAMPLE_TEXTURE2D(Texture, Sampler, offsetV).r;
float3 va = float3(1, 0, (uSample - normalSample) * Strength);
float3 vb = float3(0, 1, (vSample - normalSample) * Strength);
Out = normalize(cross(va, vb));
}
void Unity_SceneColor_float(float4 UV, out float3 Out)
{
Out = SHADERGRAPH_SAMPLE_SCENE_COLOR(UV.xy);
}
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
{
Out = UV * Tiling + Offset;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
{
Out = clamp(In, Min, Max);
}
void Unity_SceneDepth_Eye_float(float4 UV, out float Out)
{
if (unity_OrthoParams.w == 1.0)
{
Out = LinearEyeDepth(ComputeWorldSpacePosition(UV.xy, SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), UNITY_MATRIX_I_VP), UNITY_MATRIX_V);
}
else
{
Out = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH(UV.xy), _ZBufferParams);
}
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Smoothstep_float(float Edge1, float Edge2, float In, out float Out)
{
Out = smoothstep(Edge1, Edge2, In);
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean = _Vertex_Offset;
float4 _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4 = IN.uv1;
float _Split_d2412a890bef4daf877bc52848883f38_R_1_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[0];
float _Split_d2412a890bef4daf877bc52848883f38_G_2_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[1];
float _Split_d2412a890bef4daf877bc52848883f38_B_3_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[2];
float _Split_d2412a890bef4daf877bc52848883f38_A_4_Float = _UV_5b1dfc466540458f9ef8535ef4b2a221_Out_0_Vector4[3];
float _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float;
Unity_Multiply_float_float(IN.TimeParameters.x, _Split_d2412a890bef4daf877bc52848883f38_A_4_Float, _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float);
float _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float;
Unity_SimpleNoise_Deterministic_float((IN.ObjectSpacePosition.xy), _Multiply_628a67c2b76b4664b9e4696b3605c099_Out_2_Float, _SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float);
float3 _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3;
Unity_Multiply_float3_float3(IN.WorldSpaceNormal, (_SimpleNoise_d6542178491a4e799a39d1963f6e9d3f_Out_2_Float.xxx), _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3);
float3 _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3;
Unity_Add_float3(IN.ObjectSpacePosition, _Multiply_ae2c4546134e4beeb5b74f0bff8400bb_Out_2_Vector3, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3);
float3 _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
Unity_Branch_float3(_Property_a85d0177ea0341d9a0a80ed35edb2c8a_Out_0_Boolean, _Add_11a991aacc0540b1a76963cd610bd217_Out_2_Vector3, IN.ObjectSpacePosition, _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3);
description.Position = _Branch_a1a0323848bb4e62acb8d111c3c22a73_Out_3_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float3 BaseColor;
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
float _Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean = _Distort;
float4 _ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
UnityTexture2D _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Distortion_Noise);
float _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float;
Unity_Multiply_float_float(1, IN.TimeParameters.x, _Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float);
float2 _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2;
Unity_Twirl_float(IN.uv0.xy, float2 (0.5, 0.5), float(5), (_Multiply_d2d103e49eac44d0b1584b206c0dc171_Out_2_Float.xx), _Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2);
float4 _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4 = IN.uv2;
float _Split_dd61a7836c0d4dd0af69acff06b02195_R_1_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[0];
float _Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[1];
float _Split_dd61a7836c0d4dd0af69acff06b02195_B_3_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[2];
float _Split_dd61a7836c0d4dd0af69acff06b02195_A_4_Float = _UV_22e830f19205444ba2e6ea8e08a7d384_Out_0_Vector4[3];
float _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float;
Unity_Multiply_float_float(_Split_dd61a7836c0d4dd0af69acff06b02195_G_2_Float, 0.1, _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float);
float4 _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4 = IN.uv2;
float _Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[0];
float _Split_013c8550ee754fcab89ba2a9e3ca7117_G_2_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[1];
float _Split_013c8550ee754fcab89ba2a9e3ca7117_B_3_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[2];
float _Split_013c8550ee754fcab89ba2a9e3ca7117_A_4_Float = _UV_8a8370844fe34de7ad6269dae77ba12a_Out_0_Vector4[3];
float _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float;
Unity_Multiply_float_float(_Split_013c8550ee754fcab89ba2a9e3ca7117_R_1_Float, 0.01, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float);
float3 _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3;
Unity_NormalFromTexture_float(TEXTURE2D_ARGS(_Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.tex, _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.samplerstate), _Property_fd6dac2eb5684f44b017c1784bea81d7_Out_0_Texture2D.GetTransformedUV(_Twirl_604dcecc3b8749e3a7a70bd8524db3c7_Out_4_Vector2), _Multiply_79d07365e21043b38f724b8b8ef99abf_Out_2_Float, _Multiply_5ddbe47697014ff59e00b3c4ef78d7b5_Out_2_Float, _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3);
float3 _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3;
Unity_Multiply_float3_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _NormalFromTexture_013a78afb6074711a80a448e3642e406_Out_5_Vector3, _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3);
float3 _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3;
Unity_Add_float3((_ScreenPosition_314475fc06764cd696bcb0f051af688d_Out_0_Vector4.xyz), _Multiply_a3bebb9cbf564bc49c85414f4893d4c1_Out_2_Vector3, _Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3);
float3 _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3;
Unity_SceneColor_float((float4(_Add_074f843d89ea44908b33d5cc2d28b7b8_Out_2_Vector3, 1.0)), _SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3);
UnityTexture2D _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Main_Texture);
float4 _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4 = IN.uv0;
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_R_1_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[0];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_G_2_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[1];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[2];
float _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float = _UV_b3e5f3e650b74a7ebeda9f74fded1b47_Out_0_Vector4[3];
float2 _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2 = float2(_Split_88edf1e1762f4685b6a05e3c49b4a79b_B_3_Float, _Split_88edf1e1762f4685b6a05e3c49b4a79b_A_4_Float);
float2 _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2;
Unity_TilingAndOffset_float(IN.uv0.xy, float2 (1, 1), _Vector2_3b7618a9a80f44f8937bf30595ad7e38_Out_0_Vector2, _TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2);
float4 _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.tex, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.samplerstate, _Property_853042d666004c099fb969b9a5d646fd_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_R_4_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.r;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_G_5_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.g;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_B_6_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.b;
float _SampleTexture2D_91eb236b08d74d45afd474257513386c_A_7_Float = _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4.a;
float4 _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4;
Unity_Multiply_float4_float4(IN.VertexColor, _SampleTexture2D_91eb236b08d74d45afd474257513386c_RGBA_0_Vector4, _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4);
float _Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[0];
float _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[1];
float _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[2];
float _Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float = _Multiply_68d98cdeee9d4e3aaab24fa1a3cf5d25_Out_2_Vector4[3];
float3 _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3 = float3(_Split_6a09d55e29c94fef8172d229eb37fff4_R_1_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_G_2_Float, _Split_6a09d55e29c94fef8172d229eb37fff4_B_3_Float);
float3 _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3;
Unity_Multiply_float3_float3(float3(0, 0, 0), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3);
float3 _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3;
Unity_Add_float3(_SceneColor_209c40916111453eb1e0c580e4a9f27b_Out_1_Vector3, _Multiply_6b3b4c3d71ac403991dfa8448caf465d_Out_2_Vector3, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3);
float4 _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4 = IN.uv1;
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_R_1_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[0];
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_G_2_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[1];
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[2];
float _Split_d91e1a6788134a0db18458e2c9ffe1e2_A_4_Float = _UV_b99c1e3fd7b14962b22510ab822596fa_Out_0_Vector4[3];
float _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float;
Unity_Clamp_float(_Split_d91e1a6788134a0db18458e2c9ffe1e2_B_3_Float, float(1), float(10), _Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float);
float3 _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3;
Unity_Multiply_float3_float3((_Clamp_8d3c85ef31db418187bf82aa0d05c018_Out_3_Float.xxx), _Vector3_c56d660d8d604b0095df913163d05636_Out_0_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3);
float3 _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3;
Unity_Branch_float3(_Property_78804880cedc47fdbd69823b872b9e1d_Out_0_Boolean, _Add_acbcfe1a53394a188eb16f2205ba5fae_Out_2_Vector3, _Multiply_09fb4be9ffbf4d1a837e111a26a36d03_Out_2_Vector3, _Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3);
float _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float;
Unity_SceneDepth_Eye_float(float4(IN.NDCPosition.xy, 0, 0), _SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float);
float4 _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4 = IN.ScreenPosition;
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_R_1_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[0];
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_G_2_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[1];
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_B_3_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[2];
float _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float = _ScreenPosition_c8c254b7170c483f9436f2a186f2f25f_Out_0_Vector4[3];
float _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float;
Unity_Subtract_float(_SceneDepth_cbf4b7140c8747fba9e28c881275612c_Out_1_Float, _Split_6ebe6dd7c053473a86cc78d4af3b5456_A_4_Float, _Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float);
float _Property_32583f2525b14d90927281637ad7b962_Out_0_Float = _Depth_Fade_Factor;
float _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float;
Unity_Divide_float(_Subtract_205f8ae6662b43bd8bc6a9b7fe1df0bc_Out_2_Float, _Property_32583f2525b14d90927281637ad7b962_Out_0_Float, _Divide_89c4abebb8194b988799339162560ac4_Out_2_Float);
float _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float;
Unity_Saturate_float(_Divide_89c4abebb8194b988799339162560ac4_Out_2_Float, _Saturate_34122799a8de408ab780fb9e5fa36601_Out_1_Float);
float3 _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
// [GroundVFX] Depth Fade 비활성화 - 지형 아래에서도 검정 안 나오도록
Unity_Multiply_float3_float3(_Branch_585281afb21148e8850339e89a273dd4_Out_3_Vector3, float3(1,1,1), _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3);
float4 _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4 = IN.uv1;
float _Split_b444b317981f46f1958301bf94b38de1_R_1_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[0];
float _Split_b444b317981f46f1958301bf94b38de1_G_2_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[1];
float _Split_b444b317981f46f1958301bf94b38de1_B_3_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[2];
float _Split_b444b317981f46f1958301bf94b38de1_A_4_Float = _UV_08b1d8ed4744476d9ec27d4bfc042afe_Out_0_Vector4[3];
float _Add_66fb86a088584979815762970a1803f5_Out_2_Float;
Unity_Add_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Split_b444b317981f46f1958301bf94b38de1_G_2_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float);
UnityTexture2D _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Dissolve_Texture);
float4 _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.tex, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.samplerstate, _Property_e8a840319f5b41cdaa707f822ca3ae11_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_e798aa3c9b40492d9adafac0357bc1ba_Out_3_Vector2) );
float _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.r;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_G_5_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.g;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_B_6_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.b;
float _SampleTexture2D_755ae0396640490095bbe69901c64485_A_7_Float = _SampleTexture2D_755ae0396640490095bbe69901c64485_RGBA_0_Vector4.a;
float _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float;
Unity_Smoothstep_float(_Split_b444b317981f46f1958301bf94b38de1_R_1_Float, _Add_66fb86a088584979815762970a1803f5_Out_2_Float, _SampleTexture2D_755ae0396640490095bbe69901c64485_R_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float);
float _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
Unity_Multiply_float_float(_Split_6a09d55e29c94fef8172d229eb37fff4_A_4_Float, _Smoothstep_da8d7a9358f44c8a80013467490deb26_Out_3_Float, _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float);
surface.BaseColor = _Multiply_a3558c8f5efb4581b510c889004960f7_Out_2_Vector3;
surface.Alpha = _Multiply_e36a738a2910476d86e658acedbafd6c_Out_2_Float;
surface.AlphaClipThreshold = float(0.5);
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.ObjectSpacePosition = input.positionOS;
output.uv1 = input.uv1;
output.TimeParameters = _TimeParameters.xyz;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.WorldSpacePosition = input.positionWS;
output.ScreenPosition = ComputeScreenPos(TransformWorldToHClip(input.positionWS), _ProjectionParams.x);
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.uv2 = input.texCoord2;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
output.TimeParameters = _TimeParameters.xyz; // This is mainly for LW as HD overwrite this value
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
ENDHLSL
}
}
CustomEditor "UnityEditor.ShaderGraph.GenericShaderGraphMaterialGUI"
CustomEditorForRenderPipeline "UnityEditor.ShaderGraphUnlitGUI" "UnityEngine.Rendering.Universal.UniversalRenderPipelineAsset"
FallBack "Hidden/Shader Graph/FallbackError"
}