29769 lines
2.2 MiB
29769 lines
2.2 MiB
Shader "NatureManufacture/HDRP/Lit/Specular Triplanar Cover CutOut"
|
|
{
|
|
Properties
|
|
{
|
|
_AlphaCutoff("Alpha Cutoff", Range(0, 1)) = 0
|
|
_BaseColor("Base Color", Color) = (1, 1, 1, 0)
|
|
[NoScaleOffset]_BaseColorMap("Base Map(RGB) Alpha(A)", 2D) = "white" {}
|
|
[ToggleUI]_BaseUsePlanarUV("Base Use Planar UV", Float) = 0
|
|
_BaseTilingOffset("Base Tiling and Offset", Vector) = (1, 1, 0, 0)
|
|
_SpecularColor("Specular Color", Color) = (1, 1, 1, 0)
|
|
[NoScaleOffset]_SpecularColorMap("Specular Map", 2D) = "white" {}
|
|
[Normal][NoScaleOffset]_BaseNormalMap("Base Normal Map", 2D) = "bump" {}
|
|
_BaseNormalScale("Base Normal Scale", Range(0, 8)) = 1
|
|
[NoScaleOffset]_BaseMaskMap("Base Mask Map AO(G) SM(A)", 2D) = "white" {}
|
|
_BaseAORemapMin("Base AO Remap Min", Range(0, 1)) = 0
|
|
_BaseAORemapMax("Base AO Remap Max", Range(0, 1)) = 1
|
|
_BaseSmoothnessRemapMin("Base Smoothness Remap Min", Range(0, 1)) = 0
|
|
_BaseSmoothnessRemapMax("Base Smoothness Remap Max", Range(0, 1)) = 1
|
|
[NoScaleOffset]_CoverMaskA("Cover Mask (A)", 2D) = "white" {}
|
|
_CoverMaskPower("Cover Mask Power", Range(0, 10)) = 1
|
|
_Cover_Amount("Cover Amount", Range(0, 2)) = 0
|
|
_Cover_Amount_Grow_Speed("Cover Amount Grow Speed", Range(0, 3)) = 3
|
|
_CoverDirection("Cover Direction", Vector) = (0, 1, 0, 0)
|
|
_Cover_Max_Angle("Cover Max Angle", Range(0.001, 90)) = 35
|
|
_Cover_Min_Height("Cover Min Height", Float) = -10000
|
|
_Cover_Min_Height_Blending("Cover Min Height Blending", Range(0, 500)) = 1
|
|
_CoverBaseColor("Cover Base Color", Color) = (1, 1, 1, 0)
|
|
[NoScaleOffset]_CoverBaseColorMap("Cover Base Map", 2D) = "white" {}
|
|
_CoverTilingOffset("Cover Tiling Offset", Vector) = (1, 1, 0, 0)
|
|
_CoverTriplanarThreshold("Cover Triplanar Threshold", Range(1, 8)) = 5
|
|
_CoverSpecularColor("Cover Specular Color", Color) = (1, 1, 1, 0)
|
|
[NoScaleOffset]_CoverSpecularColorMap("Cover Specular Map", 2D) = "white" {}
|
|
[Normal][NoScaleOffset]_CoverNormalMap("Cover Normal Map", 2D) = "bump" {}
|
|
_CoverNormalScale("Cover Normal Scale", Range(0, 8)) = 1
|
|
_CoverNormalBlendHardness("Cover Normal Blend Hardness", Range(0, 8)) = 1
|
|
_CoverHardness("Cover Hardness", Range(0, 10)) = 5
|
|
_CoverHeightMapMin("Cover Height Map Min", Float) = 0
|
|
_CoverHeightMapMax("Cover Height Map Max", Float) = 1
|
|
_CoverHeightMapOffset("Cover Height Map Offset", Float) = 0
|
|
[NoScaleOffset]_CoverMaskMap("Cover Mask Map AO(G) H(B) SM(A)", 2D) = "white" {}
|
|
_CoverAORemapMin("Cover AO Remap Min", Range(0, 1)) = 0
|
|
_CoverAORemapMax("Cover AO Remap Max", Range(0, 1)) = 1
|
|
_CoverSmoothnessRemapMin("Cover Smoothness Remap Min", Range(0, 1)) = 0
|
|
_CoverSmoothnessRemapMax("Cover Smoothness Remap Max", Range(0, 1)) = 1
|
|
[NoScaleOffset]_DetailMap("Detail Map Base (R) Ny(G) Sm(B) Nx(A)", 2D) = "white" {}
|
|
_DetailTilingOffset("Detail Tiling Offset", Vector) = (1, 1, 0, 0)
|
|
_DetailAlbedoScale("Detail Albedo Scale", Range(0, 2)) = 0
|
|
_DetailNormalScale("Detail Normal Scale", Range(0, 2)) = 0
|
|
_DetailSmoothnessScale("Detail Smoothness Scale", Range(0, 2)) = 0
|
|
_WetColor("Wet Color Vertex(R)", Color) = (0.7735849, 0.7735849, 0.7735849, 0)
|
|
_WetSmoothness("Wet Smoothness Vertex(R)", Range(0, 1)) = 1
|
|
[ToggleUI]_USEDYNAMICCOVERTSTATICMASKF("Use Dynamic Cover (T) Static Mask (F)", Float) = 1
|
|
[HideInInspector]_EmissionColor("Color", Color) = (1, 1, 1, 1)
|
|
[HideInInspector]_RenderQueueType("Float", Float) = 1
|
|
[HideInInspector][ToggleUI]_AddPrecomputedVelocity("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_DepthOffsetEnable("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_ConservativeDepthOffsetEnable("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_TransparentWritingMotionVec("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_AlphaCutoffEnable("Boolean", Float) = 1
|
|
[HideInInspector]_TransparentSortPriority("_TransparentSortPriority", Float) = 0
|
|
[HideInInspector][ToggleUI]_UseShadowThreshold("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_DoubleSidedEnable("Boolean", Float) = 0
|
|
[HideInInspector][Enum(Flip, 0, Mirror, 1, None, 2)]_DoubleSidedNormalMode("Float", Float) = 2
|
|
[HideInInspector]_DoubleSidedConstants("Vector4", Vector) = (1, 1, -1, 0)
|
|
[HideInInspector][Enum(Auto, 0, On, 1, Off, 2)]_DoubleSidedGIMode("Float", Float) = 0
|
|
[HideInInspector][ToggleUI]_TransparentDepthPrepassEnable("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_TransparentDepthPostpassEnable("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_PerPixelSorting("Boolean", Float) = 0
|
|
[HideInInspector]_SurfaceType("Float", Float) = 0
|
|
[HideInInspector]_BlendMode("Float", Float) = 0
|
|
[HideInInspector]_SrcBlend("Float", Float) = 1
|
|
[HideInInspector]_DstBlend("Float", Float) = 0
|
|
[HideInInspector]_DstBlend2("Float", Float) = 0
|
|
[HideInInspector]_AlphaSrcBlend("Float", Float) = 1
|
|
[HideInInspector]_AlphaDstBlend("Float", Float) = 0
|
|
[HideInInspector][ToggleUI]_ZWrite("Boolean", Float) = 1
|
|
[HideInInspector][ToggleUI]_TransparentZWrite("Boolean", Float) = 0
|
|
[HideInInspector]_CullMode("Float", Float) = 2
|
|
[HideInInspector][ToggleUI]_EnableFogOnTransparent("Boolean", Float) = 1
|
|
[HideInInspector]_CullModeForward("Float", Float) = 2
|
|
[HideInInspector][Enum(Front, 1, Back, 2)]_TransparentCullMode("Float", Float) = 2
|
|
[HideInInspector][Enum(UnityEngine.Rendering.HighDefinition.OpaqueCullMode)]_OpaqueCullMode("Float", Float) = 2
|
|
[HideInInspector]_ZTestDepthEqualForOpaque("Float", Int) = 3
|
|
[HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)]_ZTestTransparent("Float", Float) = 4
|
|
[HideInInspector][ToggleUI]_TransparentBackfaceEnable("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_RequireSplitLighting("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_ReceivesSSR("Boolean", Float) = 1
|
|
[HideInInspector][ToggleUI]_ReceivesSSRTransparent("Boolean", Float) = 0
|
|
[HideInInspector][ToggleUI]_EnableBlendModePreserveSpecularLighting("Boolean", Float) = 1
|
|
[HideInInspector][ToggleUI]_SupportDecals("Boolean", Float) = 1
|
|
[HideInInspector][ToggleUI]_ExcludeFromTUAndAA("Boolean", Float) = 0
|
|
[HideInInspector]_StencilRef("Float", Int) = 0
|
|
[HideInInspector]_StencilWriteMask("Float", Int) = 6
|
|
[HideInInspector]_StencilRefDepth("Float", Int) = 8
|
|
[HideInInspector]_StencilWriteMaskDepth("Float", Int) = 9
|
|
[HideInInspector]_StencilRefMV("Float", Int) = 40
|
|
[HideInInspector]_StencilWriteMaskMV("Float", Int) = 41
|
|
[HideInInspector]_StencilRefDistortionVec("Float", Int) = 4
|
|
[HideInInspector]_StencilWriteMaskDistortionVec("Float", Int) = 4
|
|
[HideInInspector]_StencilWriteMaskGBuffer("Float", Int) = 15
|
|
[HideInInspector]_StencilRefGBuffer("Float", Int) = 10
|
|
[HideInInspector]_ZTestGBuffer("Float", Int) = 4
|
|
[HideInInspector][ToggleUI]_RayTracing("Boolean", Float) = 0
|
|
[HideInInspector][Enum(None, 0, Planar, 1, Sphere, 2, Thin, 3)]_RefractionModel("Float", Float) = 0
|
|
[HideInInspector][Enum(SpecularColor, 4)]_MaterialID("_MaterialID", Float) = 4
|
|
[HideInInspector]_MaterialTypeMask("_MaterialTypeMask", Float) = 16
|
|
[HideInInspector][ToggleUI]_TransmissionEnable("Boolean", 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"="HDRenderPipeline"
|
|
"RenderType"="HDLitShader"
|
|
"Queue"="AlphaTest+25"
|
|
"DisableBatching"="LODFading"
|
|
"ShaderGraphShader"="true"
|
|
"ShaderGraphTargetId"="HDLitSubTarget"
|
|
}
|
|
Pass
|
|
{
|
|
Name "ShadowCaster"
|
|
Tags
|
|
{
|
|
"LightMode" = "ShadowCaster"
|
|
}
|
|
|
|
// Render State
|
|
Cull [_CullMode]
|
|
ZWrite On
|
|
ColorMask 0
|
|
ZClip [_ZClip]
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_SHADOWS
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
float3 positionOS : POSITION;
|
|
float3 normalOS : NORMAL;
|
|
float4 tangentOS : TANGENT;
|
|
float4 uv0 : TEXCOORD0;
|
|
float4 uv2 : TEXCOORD2;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float4 texCoord0;
|
|
float4 texCoord2;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 texCoord0 : INTERP0;
|
|
float4 texCoord2 : INTERP1;
|
|
float3 positionRWS : INTERP2;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord2 = input.texCoord2;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "META"
|
|
Tags
|
|
{
|
|
"LightMode" = "META"
|
|
}
|
|
|
|
// Render State
|
|
Cull Off
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma shader_feature _ EDITOR_VISUALIZATION
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_LIGHT_TRANSPORT
|
|
#define RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define SCENEPICKINGPASS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD1
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define ATTRIBUTES_NEED_TEXCOORD3
|
|
#define ATTRIBUTES_NEED_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_POSITIONPREDISPLACEMENT_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD1
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_TEXCOORD3
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD1
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
#define FRAG_INPUTS_USE_TEXCOORD3
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
float3 positionOS : POSITION;
|
|
float3 normalOS : NORMAL;
|
|
float4 tangentOS : TANGENT;
|
|
float4 uv0 : TEXCOORD0;
|
|
float4 uv1 : TEXCOORD1;
|
|
float4 uv2 : TEXCOORD2;
|
|
float4 uv3 : TEXCOORD3;
|
|
float4 color : COLOR;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 positionPredisplacementRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord1;
|
|
float4 texCoord2;
|
|
float4 texCoord3;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord1 : INTERP2;
|
|
float4 texCoord2 : INTERP3;
|
|
float4 texCoord3 : INTERP4;
|
|
float4 color : INTERP5;
|
|
float3 positionRWS : INTERP6;
|
|
float3 positionPredisplacementRWS : INTERP7;
|
|
float3 normalWS : INTERP8;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord1.xyzw = input.texCoord1;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.texCoord3.xyzw = input.texCoord3;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.positionPredisplacementRWS.xyz = input.positionPredisplacementRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord1 = input.texCoord1.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.texCoord3 = input.texCoord3.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.positionPredisplacementRWS = input.positionPredisplacementRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorVertMeshCustomInterpolation' */
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.positionPredisplacementRWS = input.positionPredisplacementRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord1 = input.texCoord1;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.texCoord3 = input.texCoord3;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorVaryingsToFragInputs' */
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassLightTransport.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "ScenePickingPass"
|
|
Tags
|
|
{
|
|
"LightMode" = "Picking"
|
|
}
|
|
|
|
// Render State
|
|
Cull [_CullMode]
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma editor_sync_compilation
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_DEPTH_ONLY
|
|
#define SCENEPICKINGPASS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define ATTRIBUTES_NEED_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
float3 positionOS : POSITION;
|
|
float3 normalOS : NORMAL;
|
|
float4 tangentOS : TANGENT;
|
|
float4 uv0 : TEXCOORD0;
|
|
float4 uv2 : TEXCOORD2;
|
|
float4 color : COLOR;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord2;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord2 : INTERP2;
|
|
float4 color : INTERP3;
|
|
float3 positionRWS : INTERP4;
|
|
float3 normalWS : INTERP5;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "SceneSelectionPass"
|
|
Tags
|
|
{
|
|
"LightMode" = "SceneSelectionPass"
|
|
}
|
|
|
|
// Render State
|
|
Cull Off
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma editor_sync_compilation
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_DEPTH_ONLY
|
|
#define RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define SCENESELECTIONPASS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define ATTRIBUTES_NEED_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
float3 positionOS : POSITION;
|
|
float3 normalOS : NORMAL;
|
|
float4 tangentOS : TANGENT;
|
|
float4 uv0 : TEXCOORD0;
|
|
float4 uv2 : TEXCOORD2;
|
|
float4 color : COLOR;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord2;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord2 : INTERP2;
|
|
float4 color : INTERP3;
|
|
float3 positionRWS : INTERP4;
|
|
float3 normalWS : INTERP5;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "MotionVectors"
|
|
Tags
|
|
{
|
|
"LightMode" = "MotionVectors"
|
|
}
|
|
|
|
// Render State
|
|
Cull [_CullMode]
|
|
ZWrite On
|
|
Stencil
|
|
{
|
|
WriteMask [_StencilWriteMaskMV]
|
|
Ref [_StencilRefMV]
|
|
CompFront Always
|
|
PassFront Replace
|
|
CompBack Always
|
|
PassBack Replace
|
|
}
|
|
AlphaToMask [_AlphaCutoffEnable]
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma multi_compile_fragment _ WRITE_MSAA_DEPTH
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma multi_compile_fragment _ WRITE_DECAL_BUFFER_AND_RENDERING_LAYER
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_MOTION_VECTORS
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define ATTRIBUTES_NEED_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
float3 positionOS : POSITION;
|
|
float3 normalOS : NORMAL;
|
|
float4 tangentOS : TANGENT;
|
|
float4 uv0 : TEXCOORD0;
|
|
float4 uv2 : TEXCOORD2;
|
|
float4 color : COLOR;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord2;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord2 : INTERP2;
|
|
float4 color : INTERP3;
|
|
float3 positionRWS : INTERP4;
|
|
float3 normalWS : INTERP5;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassMotionVectors.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "TransparentDepthPrepass"
|
|
Tags
|
|
{
|
|
"LightMode" = "TransparentDepthPrepass"
|
|
}
|
|
|
|
// Render State
|
|
Cull [_CullMode]
|
|
Blend One Zero
|
|
ZWrite On
|
|
Stencil
|
|
{
|
|
WriteMask [_StencilWriteMaskDepth]
|
|
Ref [_StencilRefDepth]
|
|
CompFront Always
|
|
PassFront Replace
|
|
CompBack Always
|
|
PassBack Replace
|
|
}
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#define RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define ATTRIBUTES_NEED_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
float3 positionOS : POSITION;
|
|
float3 normalOS : NORMAL;
|
|
float4 tangentOS : TANGENT;
|
|
float4 uv0 : TEXCOORD0;
|
|
float4 uv2 : TEXCOORD2;
|
|
float4 color : COLOR;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord2;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord2 : INTERP2;
|
|
float4 color : INTERP3;
|
|
float3 positionRWS : INTERP4;
|
|
float3 normalWS : INTERP5;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
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_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 NormalTS;
|
|
float Smoothness;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "FullScreenDebug"
|
|
Tags
|
|
{
|
|
"LightMode" = "FullScreenDebug"
|
|
}
|
|
|
|
// Render State
|
|
Cull [_CullMode]
|
|
ZTest LEqual
|
|
ZWrite Off
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define ATTRIBUTES_NEED_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
float3 positionOS : POSITION;
|
|
float3 normalOS : NORMAL;
|
|
float4 tangentOS : TANGENT;
|
|
float4 uv0 : TEXCOORD0;
|
|
float4 uv2 : TEXCOORD2;
|
|
float4 color : COLOR;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord2;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord2 : INTERP2;
|
|
float4 color : INTERP3;
|
|
float3 positionRWS : INTERP4;
|
|
float3 normalWS : INTERP5;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassFullScreenDebug.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "DepthOnly"
|
|
Tags
|
|
{
|
|
"LightMode" = "DepthOnly"
|
|
}
|
|
|
|
// Render State
|
|
Cull [_CullMode]
|
|
ZWrite On
|
|
Stencil
|
|
{
|
|
WriteMask [_StencilWriteMaskDepth]
|
|
Ref [_StencilRefDepth]
|
|
CompFront Always
|
|
PassFront Replace
|
|
CompBack Always
|
|
PassBack Replace
|
|
}
|
|
AlphaToMask [_AlphaCutoffEnable]
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma multi_compile_fragment _ WRITE_MSAA_DEPTH
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma multi_compile_fragment _ WRITE_DECAL_BUFFER WRITE_RENDERING_LAYER
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_DEPTH_ONLY
|
|
#define RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define ATTRIBUTES_NEED_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
float3 positionOS : POSITION;
|
|
float3 normalOS : NORMAL;
|
|
float4 tangentOS : TANGENT;
|
|
float4 uv0 : TEXCOORD0;
|
|
float4 uv2 : TEXCOORD2;
|
|
float4 color : COLOR;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord2;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord2 : INTERP2;
|
|
float4 color : INTERP3;
|
|
float3 positionRWS : INTERP4;
|
|
float3 normalWS : INTERP5;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "GBuffer"
|
|
Tags
|
|
{
|
|
"LightMode" = "GBuffer"
|
|
}
|
|
|
|
// Render State
|
|
Cull [_CullMode]
|
|
ZTest [_ZTestGBuffer]
|
|
Stencil
|
|
{
|
|
WriteMask [_StencilWriteMaskGBuffer]
|
|
Ref [_StencilRefGBuffer]
|
|
CompFront Always
|
|
PassFront Replace
|
|
CompBack Always
|
|
PassBack Replace
|
|
}
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma multi_compile_fragment _ RENDERING_LAYERS
|
|
#pragma multi_compile_raytracing _ RENDERING_LAYERS
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ DEBUG_DISPLAY
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma multi_compile _ LIGHTMAP_ON
|
|
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
|
#pragma multi_compile_fragment _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile_raytracing _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
|
|
#pragma multi_compile_fragment _ SHADOWS_SHADOWMASK
|
|
#pragma multi_compile_raytracing _ SHADOWS_SHADOWMASK
|
|
#pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT
|
|
#pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT
|
|
#pragma multi_compile _ USE_LEGACY_LIGHTMAPS
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_GBUFFER
|
|
#define RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#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 VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD1
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD1
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
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 VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord1;
|
|
float4 texCoord2;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord1 : INTERP2;
|
|
float4 texCoord2 : INTERP3;
|
|
float4 color : INTERP4;
|
|
float3 positionRWS : INTERP5;
|
|
float3 normalWS : INTERP6;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord1.xyzw = input.texCoord1;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord1 = input.texCoord1.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
float4 VTPackedFeedback;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
{
|
|
surface.VTPackedFeedback = float4(1.0f,1.0f,1.0f,1.0f);
|
|
}
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord1 = input.texCoord1;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
builtinData.vtPackedFeedback = surfaceDescription.VTPackedFeedback;
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassGBuffer.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "Forward"
|
|
Tags
|
|
{
|
|
"LightMode" = "Forward"
|
|
}
|
|
|
|
// Render State
|
|
Cull [_CullModeForward]
|
|
Blend [_SrcBlend] [_DstBlend], [_AlphaSrcBlend] [_AlphaDstBlend]
|
|
Blend 1 One OneMinusSrcAlpha
|
|
Blend 2 One [_DstBlend2]
|
|
Blend 3 One [_DstBlend2]
|
|
Blend 4 One OneMinusSrcAlpha
|
|
ZTest [_ZTestDepthEqualForOpaque]
|
|
ZWrite [_ZWrite]
|
|
ColorMask [_ColorMaskTransparentVelOne] 1
|
|
ColorMask [_ColorMaskTransparentVelTwo] 2
|
|
Stencil
|
|
{
|
|
WriteMask [_StencilWriteMask]
|
|
Ref [_StencilRef]
|
|
CompFront Always
|
|
PassFront Replace
|
|
CompBack Always
|
|
PassBack Replace
|
|
}
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma multi_compile _ DOTS_INSTANCING_ON
|
|
#pragma instancing_options renderinglayer
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ DEBUG_DISPLAY
|
|
#pragma multi_compile _ LOD_FADE_CROSSFADE
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma multi_compile _ LIGHTMAP_ON
|
|
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
|
#pragma multi_compile_fragment _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile_raytracing _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
|
|
#pragma multi_compile_fragment _ SHADOWS_SHADOWMASK
|
|
#pragma multi_compile_raytracing _ SHADOWS_SHADOWMASK
|
|
#pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT
|
|
#pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT
|
|
#pragma multi_compile _ USE_LEGACY_LIGHTMAPS
|
|
#pragma multi_compile_fragment PUNCTUAL_SHADOW_LOW PUNCTUAL_SHADOW_MEDIUM PUNCTUAL_SHADOW_HIGH
|
|
#pragma multi_compile_fragment DIRECTIONAL_SHADOW_LOW DIRECTIONAL_SHADOW_MEDIUM DIRECTIONAL_SHADOW_HIGH
|
|
#pragma multi_compile_fragment AREA_SHADOW_MEDIUM AREA_SHADOW_HIGH
|
|
#pragma multi_compile_fragment SCREEN_SPACE_SHADOWS_OFF SCREEN_SPACE_SHADOWS_ON
|
|
#pragma multi_compile_fragment USE_FPTL_LIGHTLIST USE_CLUSTERED_LIGHTLIST
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_FORWARD
|
|
#define SUPPORT_BLENDMODE_PRESERVE_SPECULAR_LIGHTING 1
|
|
#define HAS_LIGHTLOOP 1
|
|
#define RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define SHADER_LIT 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#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 VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD1
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD1
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoopDef.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
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 VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord1;
|
|
float4 texCoord2;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord1 : INTERP2;
|
|
float4 texCoord2 : INTERP3;
|
|
float4 color : INTERP4;
|
|
float3 positionRWS : INTERP5;
|
|
float3 normalWS : INTERP6;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord1.xyzw = input.texCoord1;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord1 = input.texCoord1.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
float4 VTPackedFeedback;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
{
|
|
surface.VTPackedFeedback = float4(1.0f,1.0f,1.0f,1.0f);
|
|
}
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord1 = input.texCoord1;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
builtinData.vtPackedFeedback = surfaceDescription.VTPackedFeedback;
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForward.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "RayTracingPrepass"
|
|
Tags
|
|
{
|
|
"LightMode" = "RayTracingPrepass"
|
|
}
|
|
|
|
// Render State
|
|
Cull [_CullMode]
|
|
Blend One Zero
|
|
ZWrite On
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma target 4.5
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
|
|
#pragma multi_compile_instancing
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_CONSTANT
|
|
#define RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
struct CustomInterpolators
|
|
{
|
|
};
|
|
#define USE_CUSTOMINTERP_SUBSTRUCT
|
|
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define ATTRIBUTES_NEED_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
#define HAVE_MESH_MODIFICATION
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct AttributesMesh
|
|
{
|
|
float3 positionOS : POSITION;
|
|
float3 normalOS : NORMAL;
|
|
float4 tangentOS : TANGENT;
|
|
float4 uv0 : TEXCOORD0;
|
|
float4 uv2 : TEXCOORD2;
|
|
float4 color : COLOR;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float3 positionRWS;
|
|
float3 normalWS;
|
|
float4 tangentWS;
|
|
float4 texCoord0;
|
|
float4 texCoord2;
|
|
float4 color;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
struct VertexDescriptionInputs
|
|
{
|
|
float3 ObjectSpaceNormal;
|
|
float3 ObjectSpaceTangent;
|
|
float3 ObjectSpacePosition;
|
|
};
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 texCoord2 : INTERP2;
|
|
float4 color : INTERP3;
|
|
float3 positionRWS : INTERP4;
|
|
float3 normalWS : INTERP5;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
uint instanceID : CUSTOM_INSTANCE_ID;
|
|
#endif
|
|
};
|
|
|
|
PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
|
|
{
|
|
PackedVaryingsMeshToPS output;
|
|
ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS.xyzw = input.tangentWS;
|
|
output.texCoord0.xyzw = input.texCoord0;
|
|
output.texCoord2.xyzw = input.texCoord2;
|
|
output.color.xyzw = input.color;
|
|
output.positionRWS.xyz = input.positionRWS;
|
|
output.normalWS.xyz = input.normalWS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
|
|
{
|
|
VaryingsMeshToPS output;
|
|
output.positionCS = input.positionCS;
|
|
output.tangentWS = input.tangentWS.xyzw;
|
|
output.texCoord0 = input.texCoord0.xyzw;
|
|
output.texCoord2 = input.texCoord2.xyzw;
|
|
output.color = input.color.xyzw;
|
|
output.positionRWS = input.positionRWS.xyz;
|
|
output.normalWS = input.normalWS.xyz;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
struct VertexDescription
|
|
{
|
|
float3 Position;
|
|
float3 Normal;
|
|
float3 Tangent;
|
|
};
|
|
|
|
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
|
|
{
|
|
VertexDescription description = (VertexDescription)0;
|
|
description.Position = IN.ObjectSpacePosition;
|
|
description.Normal = IN.ObjectSpaceNormal;
|
|
description.Tangent = IN.ObjectSpaceTangent;
|
|
return description;
|
|
}
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
|
|
VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
|
|
{
|
|
VertexDescriptionInputs output;
|
|
ZERO_INITIALIZE(VertexDescriptionInputs, output);
|
|
|
|
output.ObjectSpaceNormal = input.normalOS;
|
|
output.ObjectSpaceTangent = input.tangentOS.xyz;
|
|
output.ObjectSpacePosition = input.positionOS;
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
// build graph inputs
|
|
VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
|
|
// Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
|
|
|
|
// evaluate vertex graph
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
// Fetch the vertex graph properties for the particle instance.
|
|
GetElementVertexProperties(element, properties);
|
|
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
|
|
#else
|
|
VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
|
|
#endif
|
|
return vertexDescription;
|
|
|
|
}
|
|
|
|
AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
|
|
#ifdef USE_CUSTOMINTERP_SUBSTRUCT
|
|
#ifdef TESSELLATION_ON
|
|
, inout VaryingsMeshToDS varyings
|
|
#else
|
|
, inout VaryingsMeshToPS varyings
|
|
#endif
|
|
#endif
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
|
|
// copy graph output to the results
|
|
input.positionOS = vertexDescription.Position;
|
|
input.normalOS = vertexDescription.Normal;
|
|
input.tangentOS.xyz = vertexDescription.Tangent;
|
|
|
|
|
|
|
|
return input;
|
|
}
|
|
|
|
#if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
|
|
// Return precomputed Velocity in object space
|
|
float3 GetCustomVelocity(AttributesMesh input
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, AttributesElement element
|
|
#endif
|
|
)
|
|
{
|
|
VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
, element
|
|
#endif
|
|
);
|
|
return vertexDescription.CustomVelocity;
|
|
}
|
|
#endif
|
|
|
|
FragInputs BuildFragInputs(VaryingsMeshToPS input)
|
|
{
|
|
FragInputs output;
|
|
ZERO_INITIALIZE(FragInputs, output);
|
|
|
|
// Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
|
|
// TODO: this is a really poor workaround, but the variable is used in a bunch of places
|
|
// to compute normals which are then passed on elsewhere to compute other values...
|
|
output.tangentToWorld = k_identity3x3;
|
|
output.positionSS = input.positionCS; // input.positionCS is SV_Position
|
|
|
|
output.positionRWS = input.positionRWS;
|
|
output.tangentToWorld = BuildTangentToWorld(input.tangentWS, input.normalWS);
|
|
output.texCoord0 = input.texCoord0;
|
|
output.texCoord2 = input.texCoord2;
|
|
output.color = input.color;
|
|
|
|
#if UNITY_ANY_INSTANCING_ENABLED
|
|
#else
|
|
#endif
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
// FragInputs from VFX come from two places: Interpolator or CBuffer.
|
|
#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
|
|
|
|
// splice point to copy custom interpolator fields from varyings to frag inputs
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// existing HDRP code uses the combined function to go directly from packed to frag inputs
|
|
FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
#if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
|
|
unity_InstanceID = input.instanceID;
|
|
#endif
|
|
VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
|
|
return BuildFragInputs(unpacked);
|
|
}
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassConstant.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
}
|
|
SubShader
|
|
{
|
|
Tags
|
|
{
|
|
"RenderPipeline"="HDRenderPipeline"
|
|
"RenderType"="HDLitShader"
|
|
"Queue"="AlphaTest+25"
|
|
"DisableBatching"="LODFading"
|
|
"ShaderGraphShader"="true"
|
|
"ShaderGraphTargetId"="HDLitSubTarget"
|
|
}
|
|
Pass
|
|
{
|
|
Name "IndirectDXR"
|
|
Tags
|
|
{
|
|
"LightMode" = "IndirectDXR"
|
|
}
|
|
|
|
// Render State
|
|
// RenderState: <None>
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma target 5.0
|
|
#pragma raytracing surface_shader
|
|
#pragma only_renderers d3d11 xboxseries ps5
|
|
|
|
// Keywords
|
|
#pragma multi_compile _ MULTI_BOUNCE_INDIRECT
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ DEBUG_DISPLAY
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma multi_compile _ LIGHTMAP_ON
|
|
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
|
#pragma multi_compile_fragment _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile_raytracing _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
|
|
#pragma multi_compile_raytracing DECALS_OFF DECALS_3RT DECALS_4RT
|
|
#pragma multi_compile_raytracing _ DECAL_SURFACE_GRADIENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_RAYTRACING_INDIRECT
|
|
#define PUNCTUAL_SHADOW_LOW
|
|
#define DIRECTIONAL_SHADOW_LOW
|
|
#define RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define LIGHTLOOP_DISABLE_TILE_AND_CLUSTER 1
|
|
#define PATH_TRACING_CLUSTERED_DECALS 1
|
|
#define HAS_LIGHTLOOP 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#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 VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD1
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD1
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoopDef.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitRayTracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightLoop.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRaytracingIndirect.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "VisibilityDXR"
|
|
Tags
|
|
{
|
|
"LightMode" = "VisibilityDXR"
|
|
}
|
|
|
|
// Render State
|
|
// RenderState: <None>
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma target 5.0
|
|
#pragma raytracing surface_shader
|
|
#pragma only_renderers d3d11 xboxseries ps5
|
|
|
|
// Keywords
|
|
#pragma multi_compile _ TRANSPARENT_COLOR_SHADOW
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_RAYTRACING_VISIBILITY
|
|
#define RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#define ATTRIBUTES_NEED_NORMAL
|
|
#define ATTRIBUTES_NEED_TANGENT
|
|
#define ATTRIBUTES_NEED_TEXCOORD0
|
|
#define ATTRIBUTES_NEED_TEXCOORD2
|
|
#define ATTRIBUTES_NEED_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitRayTracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRaytracingVisibility.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "ForwardDXR"
|
|
Tags
|
|
{
|
|
"LightMode" = "ForwardDXR"
|
|
}
|
|
|
|
// Render State
|
|
// RenderState: <None>
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma target 5.0
|
|
#pragma raytracing surface_shader
|
|
#pragma only_renderers d3d11 xboxseries ps5
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ DEBUG_DISPLAY
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma multi_compile _ LIGHTMAP_ON
|
|
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
|
#pragma multi_compile_fragment _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile_raytracing _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_RAYTRACING_FORWARD
|
|
#define PUNCTUAL_SHADOW_LOW
|
|
#define DIRECTIONAL_SHADOW_LOW
|
|
#define RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define HAS_LIGHTLOOP 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#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 VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD1
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD1
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoopDef.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitRayTracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightLoop.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRaytracingForward.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "GBufferDXR"
|
|
Tags
|
|
{
|
|
"LightMode" = "GBufferDXR"
|
|
}
|
|
|
|
// Render State
|
|
// RenderState: <None>
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma target 5.0
|
|
#pragma raytracing surface_shader
|
|
#pragma only_renderers d3d11 xboxseries ps5
|
|
|
|
// Keywords
|
|
#pragma multi_compile _ MINIMAL_GBUFFER
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ DEBUG_DISPLAY
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma multi_compile _ LIGHTMAP_ON
|
|
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
|
#pragma multi_compile_fragment _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile_raytracing _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
|
|
#pragma multi_compile_raytracing DECALS_OFF DECALS_3RT DECALS_4RT
|
|
#pragma multi_compile_raytracing _ DECAL_SURFACE_GRADIENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_RAYTRACING_GBUFFER
|
|
#define PUNCTUAL_SHADOW_LOW
|
|
#define DIRECTIONAL_SHADOW_LOW
|
|
#define RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define LIGHTLOOP_DISABLE_TILE_AND_CLUSTER 1
|
|
#define PATH_TRACING_CLUSTERED_DECALS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#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 VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD1
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD1
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Deferred/RaytracingIntersectonGBuffer.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/StandardLit/StandardLit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitRayTracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRaytracingGBuffer.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "DebugDXR"
|
|
Tags
|
|
{
|
|
"LightMode" = "DebugDXR"
|
|
}
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma target 5.0
|
|
#pragma raytracing surface_shader
|
|
#pragma only_renderers d3d11 xboxseries ps5
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
|
|
// GraphIncludes: <None>
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRayTracingDebug.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
Pass
|
|
{
|
|
Name "PathTracingDXR"
|
|
Tags
|
|
{
|
|
"LightMode" = "PathTracingDXR"
|
|
}
|
|
|
|
// Render State
|
|
// RenderState: <None>
|
|
|
|
// Debug
|
|
// <None>
|
|
|
|
// --------------------------------------------------
|
|
// Pass
|
|
|
|
HLSLPROGRAM
|
|
|
|
// Pragmas
|
|
#pragma target 5.0
|
|
#pragma raytracing surface_shader
|
|
#pragma only_renderers d3d11 xboxseries ps5
|
|
|
|
// Keywords
|
|
#pragma shader_feature_local _ _ALPHATEST_ON
|
|
#pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
|
|
#pragma shader_feature_local _ _DOUBLESIDED_ON
|
|
#pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
|
|
#pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC _TRANSPARENT_REFRACTIVE_SORT
|
|
#pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
|
|
#pragma multi_compile _ DEBUG_DISPLAY
|
|
#pragma shader_feature_local_fragment _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_DECALS
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR
|
|
#pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
|
|
#pragma multi_compile _ LIGHTMAP_ON
|
|
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
|
#pragma multi_compile_fragment _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile_raytracing _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
|
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
|
|
#pragma multi_compile_raytracing DECALS_OFF DECALS_3RT DECALS_4RT
|
|
#pragma multi_compile_raytracing _ DECAL_SURFACE_GRADIENT
|
|
#pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_TRANSMISSION
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_ANISOTROPY
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_IRIDESCENCE
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
#pragma shader_feature_local_fragment _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
#pragma shader_feature_local_raytracing _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// GraphKeywords: <None>
|
|
|
|
// Defines
|
|
#define SHADERPASS SHADERPASS_PATH_TRACING
|
|
#define PUNCTUAL_SHADOW_LOW
|
|
#define DIRECTIONAL_SHADOW_LOW
|
|
#define RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define LIGHTLOOP_DISABLE_TILE_AND_CLUSTER 1
|
|
#define PATH_TRACING_CLUSTERED_DECALS 1
|
|
#define HAS_LIGHTLOOP 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
#define SUPPORT_GLOBAL_MIP_BIAS 1
|
|
|
|
// For custom interpolators to inject a substruct definition before FragInputs definition,
|
|
// allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
|
|
|
|
|
|
// TODO: Merge FragInputsVFX substruct with CustomInterpolators.
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
struct FragInputsVFX
|
|
{
|
|
/* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
|
|
};
|
|
#endif
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" // Required before including properties as it defines UNITY_TEXTURE_STREAMING_DEBUG_VARS
|
|
// Always include Shader Graph version
|
|
// Always include last to avoid double macros
|
|
#include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
|
|
|
|
// --------------------------------------------------
|
|
// Defines
|
|
|
|
// Attribute
|
|
#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 VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#define VARYINGS_NEED_TEXCOORD1
|
|
#define VARYINGS_NEED_TEXCOORD2
|
|
#define VARYINGS_NEED_COLOR
|
|
|
|
|
|
//Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
|
|
//if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
|
|
//Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
|
|
#define FRAG_INPUTS_ENABLE_STRIPPING
|
|
#endif
|
|
#define FRAG_INPUTS_USE_TEXCOORD0
|
|
#define FRAG_INPUTS_USE_TEXCOORD1
|
|
#define FRAG_INPUTS_USE_TEXCOORD2
|
|
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
|
|
|
|
|
|
|
|
|
|
// Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
|
|
// The ShaderGraph don't support correctly migration of this node as it serialize all the node data
|
|
// in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
|
|
// to still allow us to rename the field and keyword of this node without breaking existing code.
|
|
#ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
|
|
#define RAYTRACING_SHADER_GRAPH_HIGH
|
|
#endif
|
|
|
|
#ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
|
|
#define RAYTRACING_SHADER_GRAPH_LOW
|
|
#endif
|
|
// end
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
|
|
// VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
|
|
#if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
|
|
#define VARYINGS_NEED_CULLFACE
|
|
#endif
|
|
#endif
|
|
|
|
// Specific Material Define
|
|
#define _AMBIENT_OCCLUSION 1
|
|
#define _SPECULAR_OCCLUSION_FROM_AO 1
|
|
#define _ENERGY_CONSERVING_SPECULAR 1
|
|
|
|
#if _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
// Colored Transmission doesn't support clear coat
|
|
#undef _MATERIAL_FEATURE_CLEAR_COAT
|
|
#endif
|
|
|
|
// If we use subsurface scattering, enable output split lighting (for forward pass)
|
|
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define OUTPUT_SPLIT_LIGHTING
|
|
#endif
|
|
|
|
// This shader support recursive rendering for raytracing
|
|
#define HAVE_RECURSIVE_RENDERING
|
|
|
|
// In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
|
|
#if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
|
|
#undef _REFRACTION_PLANE
|
|
#undef _REFRACTION_SPHERE
|
|
#define _REFRACTION_THIN
|
|
#endif
|
|
// Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
|
|
|
|
// To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
|
|
// we should have a code like this:
|
|
// if !defined(_DISABLE_SSR_TRANSPARENT)
|
|
// pragma multi_compile _ WRITE_NORMAL_BUFFER
|
|
// endif
|
|
// i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
|
|
// it based on if SSR transparent in frame settings and not (and stripper can strip it).
|
|
// this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
|
|
// so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
|
|
// Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
#if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
|
|
#define WRITE_NORMAL_BUFFER
|
|
#endif
|
|
#endif
|
|
|
|
// See Lit.shader
|
|
#if SHADERPASS == SHADERPASS_MOTION_VECTORS && defined(WRITE_DECAL_BUFFER_AND_RENDERING_LAYER)
|
|
#define WRITE_DECAL_BUFFER
|
|
#endif
|
|
|
|
#ifndef DEBUG_DISPLAY
|
|
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
|
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
|
#if !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#if SHADERPASS == SHADERPASS_FORWARD
|
|
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
|
#elif SHADERPASS == SHADERPASS_GBUFFER
|
|
#define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
|
|
#if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _DEFERRED_CAPABLE_MATERIAL
|
|
#endif
|
|
|
|
// Translate transparent motion vector define
|
|
#if (defined(_TRANSPARENT_WRITES_MOTION_VEC) || defined(_TRANSPARENT_REFRACTIVE_SORT)) && defined(_SURFACE_TYPE_TRANSPARENT)
|
|
#define _WRITE_TRANSPARENT_MOTION_VECTOR
|
|
#endif
|
|
|
|
// -- Graph Properties
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float _AlphaCutoff;
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float _BaseUsePlanarUV;
|
|
float4 _BaseTilingOffset;
|
|
float4 _SpecularColor;
|
|
float4 _SpecularColorMap_TexelSize;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _CoverMaskA_TexelSize;
|
|
float _CoverMaskPower;
|
|
float _Cover_Amount;
|
|
float _Cover_Amount_Grow_Speed;
|
|
float3 _CoverDirection;
|
|
float _Cover_Max_Angle;
|
|
float _Cover_Min_Height;
|
|
float _Cover_Min_Height_Blending;
|
|
float4 _CoverBaseColor;
|
|
float4 _CoverBaseColorMap_TexelSize;
|
|
float4 _CoverTilingOffset;
|
|
float _CoverTriplanarThreshold;
|
|
float4 _CoverSpecularColor;
|
|
float4 _CoverSpecularColorMap_TexelSize;
|
|
float4 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _DetailMap_TexelSize;
|
|
float4 _DetailTilingOffset;
|
|
float _DetailAlbedoScale;
|
|
float _DetailNormalScale;
|
|
float _DetailSmoothnessScale;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
float4 _EmissionColor;
|
|
float _UseShadowThreshold;
|
|
float4 _DoubleSidedConstants;
|
|
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
|
|
float _BlendMode;
|
|
float _EnableBlendModePreserveSpecularLighting;
|
|
float _RayTracing;
|
|
float _RefractionModel;
|
|
float _MaterialID;
|
|
float _MaterialTypeMask;
|
|
CBUFFER_END
|
|
|
|
|
|
// Object and Global properties
|
|
SAMPLER(SamplerState_Linear_Repeat);
|
|
SAMPLER(SamplerState_Linear_Repeat_Aniso8);
|
|
TEXTURE2D(_BaseColorMap);
|
|
SAMPLER(sampler_BaseColorMap);
|
|
TEXTURE2D(_SpecularColorMap);
|
|
SAMPLER(sampler_SpecularColorMap);
|
|
TEXTURE2D(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_CoverMaskA);
|
|
SAMPLER(sampler_CoverMaskA);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverSpecularColorMap);
|
|
SAMPLER(sampler_CoverSpecularColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
TEXTURE2D(_DetailMap);
|
|
SAMPLER(sampler_DetailMap);
|
|
|
|
// -- Property used by ScenePickingPass
|
|
#ifdef SCENEPICKINGPASS
|
|
float4 _SelectionID;
|
|
#endif
|
|
|
|
// -- Properties used by SceneSelectionPass
|
|
#ifdef SCENESELECTIONPASS
|
|
int _ObjectId;
|
|
int _PassValue;
|
|
#endif
|
|
|
|
// Includes
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoopDef.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingLightCluster.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
|
// GraphIncludes: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Structs and Packing
|
|
|
|
struct SurfaceDescriptionInputs
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 TangentSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
float4 uv0;
|
|
float4 uv2;
|
|
float4 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
|
|
{
|
|
RGBA = float4(R, G, B, A);
|
|
RGB = float3(R, G, B);
|
|
RG = float2(R, G);
|
|
}
|
|
|
|
void Unity_Divide_float(float A, float B, out float Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
|
|
{
|
|
Out = UV * Tiling + Offset;
|
|
}
|
|
|
|
void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
|
|
{
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
|
|
float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
|
|
float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
|
|
float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
|
|
float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
|
|
float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
|
|
float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
|
|
UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_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_Absolute_float(float In, out float Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_SquareRoot_float4(float4 In, out float4 Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Sign_float(float In, out float Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Ceiling_float(float In, out float Out)
|
|
{
|
|
Out = ceil(In);
|
|
}
|
|
|
|
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
|
|
{
|
|
float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
|
|
float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
|
|
Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
|
|
Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
|
|
float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
|
|
Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
|
|
float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
|
|
OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
|
|
}
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
void Unity_Sign_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = sign(In);
|
|
}
|
|
|
|
void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Absolute_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = abs(In);
|
|
}
|
|
|
|
void Unity_Power_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
|
|
float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
|
|
float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
|
|
float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
|
|
float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
|
|
float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, float(1));
|
|
float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
|
|
UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
|
|
float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, float(1));
|
|
float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, float(1));
|
|
float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
|
|
float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
|
|
float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
|
|
Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
|
|
XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
|
|
XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
|
|
YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
|
|
XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
|
|
{
|
|
Out = dot(A, B);
|
|
}
|
|
|
|
void Unity_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_SquareRoot_float(float In, out float Out)
|
|
{
|
|
Out = sqrt(In);
|
|
}
|
|
|
|
void Unity_Clamp_float3(float3 In, float3 Min, float3 Max, out float3 Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
half4 uv0;
|
|
half4 uv2;
|
|
};
|
|
|
|
void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
|
|
{
|
|
float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
|
|
float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
|
|
float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
|
|
float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
|
|
float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
|
|
float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
|
|
Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
|
|
float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
|
|
float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
|
|
float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
|
|
float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
|
|
Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
|
|
UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
|
|
float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangentDir(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3;
|
|
Unity_Clamp_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, float3(-1, -1, -1), float3(1, 1, 1), _Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3);
|
|
float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Clamp_5008beffa5304df4b6180e04c2af9a5b_Out_3_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
|
|
float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
|
|
Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
|
|
XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
|
|
}
|
|
|
|
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
|
|
{
|
|
float3 WorldSpaceNormal;
|
|
float3 WorldSpaceTangent;
|
|
float3 WorldSpaceBiTangent;
|
|
float3 AbsoluteWorldSpacePosition;
|
|
};
|
|
|
|
void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
|
|
{
|
|
UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
|
|
float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
|
|
float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
|
|
float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, float(0), float(0), _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
|
|
float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
|
|
float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
|
|
float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
|
|
Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
|
|
float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
|
|
float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, float(1));
|
|
float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
|
|
UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
|
|
float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
|
|
_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
|
|
float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
|
|
float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
|
|
float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
|
|
float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
|
|
float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
|
|
float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
|
|
float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
|
|
float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
|
|
float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
|
|
Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
|
|
float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
|
|
float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
|
|
Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
|
|
float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
|
|
float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
|
|
float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
|
|
float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
|
|
float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
|
|
float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
|
|
float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
|
|
float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
|
|
float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, float(1));
|
|
float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
|
|
float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
|
|
_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
|
|
float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
|
|
float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
|
|
float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
|
|
float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
|
|
float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
|
|
float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
|
|
float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
|
|
float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
|
|
float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
|
|
Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, float(0), float(0), _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
|
|
float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
|
|
float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, float(1));
|
|
float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
|
|
float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
|
|
_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
|
|
float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
|
|
float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
|
|
float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
|
|
float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
|
|
float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
|
|
float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
|
|
float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
|
|
float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
|
|
float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
|
|
float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
|
|
float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
|
|
Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
|
|
float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
|
|
Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
|
|
float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
|
|
float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
|
|
}
|
|
float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
|
|
Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
|
|
XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
|
|
XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
|
|
YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
|
|
XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
void Unity_Power_float(float A, float B, out float Out)
|
|
{
|
|
Out = pow(A, B);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
|
|
{
|
|
Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
|
|
{
|
|
};
|
|
|
|
void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
|
|
{
|
|
float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
|
|
float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
|
|
float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
|
|
Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
|
|
float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
|
|
Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, float(1), _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
|
|
float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
|
|
float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
|
|
Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
|
|
float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
|
|
float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
|
|
SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
|
|
}
|
|
|
|
void Unity_Lerp_float2(float2 A, float2 B, float2 T, out float2 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float AlphaClipThreshold;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float3 Specular;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4 = _BaseTilingOffset;
|
|
float _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean = _BaseUsePlanarUV;
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv0 = IN.uv0;
|
|
_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae.uv2 = IN.uv2;
|
|
float4 _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_05d49814100eb3808cd61a6177622291_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae, _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4);
|
|
float4 _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4, _Property_03a155c84233b98dbb11cd710d6e1539_Out_0_Vector4, _Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4);
|
|
UnityTexture2D _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
|
|
float4 _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4 = _DetailTilingOffset;
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[0];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[1];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[2];
|
|
float _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float = _Property_bb28507cb268918795cf74b32a6b3693_Out_0_Vector4[3];
|
|
float2 _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_R_1_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_G_2_Float);
|
|
float2 _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2 = float2(_Split_a5f9848f7817b48ca226ca228efcc28e_B_3_Float, _Split_a5f9848f7817b48ca226ca228efcc28e_A_4_Float);
|
|
float2 _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2;
|
|
Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_257255e4b3cee8888b124cb1330da379_Out_0_Vector2, _Vector2_2ba978ab0f3ccc84b3fe592845432576_Out_0_Vector2, _TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2);
|
|
float4 _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.tex, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.samplerstate, _Property_b26f64bfa09eb48584b1dc9133f5b840_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_9bc6b1e938f4668f9476625fa68aff4e_Out_3_Vector2) );
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float = _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_RGBA_0_Vector4.a;
|
|
float _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_R_4_Float, 2, _Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float);
|
|
float _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float;
|
|
Unity_Add_float(_Multiply_99a7a45efebe0588afbd74b8df9b4750_Out_2_Float, float(-1), _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float);
|
|
float _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float = _DetailAlbedoScale;
|
|
float _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Property_b7367df1085ac580b7d5b9785921d152_Out_0_Float, _Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float);
|
|
float _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_874d814eeb0e7782842ad64a4d97f43e_Out_2_Float, _Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float);
|
|
float _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_40d0c48fa8fb008799c2060b9ccfede9_Out_1_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float);
|
|
Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d;
|
|
float3 _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3;
|
|
SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_9cb5181459454189b39d6838c2a6fb85_Out_2_Vector4, _Add_ddcd7f2c8505e0818230ed34d7ecdf92_Out_2_Float, _Absolute_7ea0f8a0aaf24186a357f11eca841a0c_Out_1_Float, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d, _BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_e95f6f4e76cecb87871151040535a080_Out_0_Vector4, _Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4);
|
|
float _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4;
|
|
float4 _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_5d67b392da5ceb81b51a3bfe5384ad00_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XZ_2_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_YZ_3_Vector4, _TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XY_4_Vector4);
|
|
float4 _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_cd8ee86e67e5fe898c7968f92e11e481_XYZ_1_Vector4, _Property_65c5d9a1688ae98ba437bc3f4b866f99_Out_0_Vector4, _Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4);
|
|
float _Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
|
|
float4 _UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.tex, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.samplerstate, _Property_43c6facd1f553289befba1782fe8ad70_Out_0_Texture2D.GetTransformedUV((_UV_5b74fb710ad3d187a00f16e1d8f8bd63_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_R_4_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_G_5_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_B_6_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float = _SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_RGBA_0_Vector4.a;
|
|
float _Property_4080f51767261687a64910057bc980cb_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_4d4c63c65e48c28ba5f624928f181789_A_7_Float, _Property_4080f51767261687a64910057bc980cb_Out_0_Float, _Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float);
|
|
float _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_2660ad962697408681e2e8c36648ca12_Out_2_Float, float(0), float(1), _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float);
|
|
float3 _Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3 = _CoverDirection;
|
|
float2 _Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2 = float2(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_A_7_Float, _SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_G_5_Float);
|
|
float2 _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Vector2_3f76f18aa45a858dab65f5835e23f0b9_Out_0_Vector2, float2(2, 2), _Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2);
|
|
float2 _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2;
|
|
Unity_Add_float2(_Multiply_a3cb438c86db8a839543847f1fa26666_Out_2_Vector2, float2(-1, -1), _Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2);
|
|
float _Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float = _DetailNormalScale;
|
|
float2 _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2;
|
|
Unity_Multiply_float2_float2(_Add_21eb70b8cab75f8a852dd8dd64767430_Out_2_Vector2, (_Property_cbbb2e4ef035b58e8c751d96843d987e_Out_0_Float.xx), _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2);
|
|
float _Split_f88dc76333998681a9031ef1324e052a_R_1_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[0];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_G_2_Float = _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2[1];
|
|
float _Split_f88dc76333998681a9031ef1324e052a_B_3_Float = 0;
|
|
float _Split_f88dc76333998681a9031ef1324e052a_A_4_Float = 0;
|
|
float _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float;
|
|
Unity_DotProduct_float2(_Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _Multiply_d4afe7aea32def8ca3c89b2f7e87af44_Out_2_Vector2, _DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float);
|
|
float _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float;
|
|
Unity_Saturate_float(_DotProduct_970a707dd71afa80887b08c47998be6e_Out_2_Float, _Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float);
|
|
float _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float;
|
|
Unity_OneMinus_float(_Saturate_6a42dc6ad32c63849dbf7844d1081b82_Out_1_Float, _OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float);
|
|
float _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float;
|
|
Unity_SquareRoot_float(_OneMinus_a724d53a195cd387a0d6ec2d11ec64e8_Out_1_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
float3 _Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3 = float3(_Split_f88dc76333998681a9031ef1324e052a_R_1_Float, _Split_f88dc76333998681a9031ef1324e052a_G_2_Float, _SquareRoot_6e074ca49330118a958f11e9487fe5c6_Out_1_Float);
|
|
UnityTexture2D _Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_126f337c769a878bb33ea56bcab1d637;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv0 = IN.uv0;
|
|
_PlanarNMn_126f337c769a878bb33ea56bcab1d637.uv2 = IN.uv2;
|
|
float4 _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4;
|
|
SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_2e4a88374e8ffd8db37352d79f10740a_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_126f337c769a878bb33ea56bcab1d637, _PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4);
|
|
float _Property_ea100595101f088a94e70278a910a34c_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_PlanarNMn_126f337c769a878bb33ea56bcab1d637_XZ_2_Vector4.xyz), _Property_ea100595101f088a94e70278a910a34c_Out_0_Float, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3);
|
|
float3 _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3;
|
|
Unity_NormalBlend_float(_Vector3_a6a5e3fb326314838a5e436f55de8dcc_Out_0_Vector3, _NormalStrength_70f3e500f60967898e02d8fc8200db59_Out_2_Vector3, _NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_bb2720e978ff4782bb872fb7b877636f_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XZ_2_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_YZ_3_Vector4, _TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XY_4_Vector4);
|
|
float _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_f6ae16d8d2c85685b4072d78c56e29e9_Out_0_Float, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3);
|
|
float3 _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3);
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_R_1_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[0];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[1];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float = _Multiply_fa49280de269898ebbfe89d446d57ecc_Out_2_Vector3[2];
|
|
float _Split_91e143818eee6187b799b2a4652eeb95_A_4_Float = 0;
|
|
float _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float;
|
|
Unity_Add_float(_Split_91e143818eee6187b799b2a4652eeb95_R_1_Float, _Split_91e143818eee6187b799b2a4652eeb95_G_2_Float, _Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float);
|
|
float _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float;
|
|
Unity_Add_float(_Add_f99764306bf31e8484b14d9a1ba660a3_Out_2_Float, _Split_91e143818eee6187b799b2a4652eeb95_B_3_Float, _Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float);
|
|
float _Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float = _Cover_Amount;
|
|
float _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7b25e9aea29e888e99e5155562106e70_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float);
|
|
float _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float;
|
|
Unity_Divide_float(_Property_24df69e5dc52008e891c2b3f99e28991_Out_0_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Divide_15277685f0785f8a90f4492c80247159_Out_2_Float);
|
|
float _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_15277685f0785f8a90f4492c80247159_Out_2_Float, _Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float);
|
|
float _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float;
|
|
Unity_Power_float(_Absolute_ac1c6e27d47e508e8aed26d3db167120_Out_1_Float, _Subtract_a31b2e64f122188ea610c77d3f62f810_Out_2_Float, _Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float);
|
|
float _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float;
|
|
Unity_Clamp_float(_Power_d5a03bba02ea638f84c50ca9f6a3e112_Out_2_Float, float(0), float(2), _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float);
|
|
float _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float);
|
|
float _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_041ba179c4133288bd6ebb7932697351_Out_2_Float, _Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float);
|
|
float _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float;
|
|
Unity_Clamp_float(_Add_25d0cda769439c85a6176b0cf9af06c0_Out_2_Float, float(0), float(0.9999), _Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float);
|
|
float _Property_32c30bd23dc33184849662569cd46759_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float;
|
|
Unity_Divide_float(_Property_32c30bd23dc33184849662569cd46759_Out_0_Float, float(45), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float);
|
|
float _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float);
|
|
float _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_78437b2d5aa53f829edcee712f066e04_Out_3_Float, _OneMinus_fa817fbd2ba8aa81bf3977d104f66ffd_Out_1_Float, _Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float);
|
|
float _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_66c9a128aff075848cbe14a74ba8d3c5_Out_2_Float, float(0), float(2), _Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float);
|
|
float _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_9d9e98ea75888d85877f3863930719aa_Out_2_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float);
|
|
float _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_b81e19ff4b40e889bbc2a0d75a043d55_Out_3_Float, _Divide_df9b9eb99573a286b66090f1a88825c2_Out_2_Float, _Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float);
|
|
float _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_b1c6bc199993da8e8690b8204063c06f_Out_2_Float, _Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float);
|
|
float _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float = _CoverHardness;
|
|
float _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float;
|
|
Unity_Power_float(_Absolute_47d15fbc856f1982992c9f6f8cf095df_Out_1_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float);
|
|
float _Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_e5173dd322cb9c87a827b3d6d416e8c4_Out_0_Float, _OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float);
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_c2c0822a4c066887bdce2476ce07e03b_A_4_Float = 0;
|
|
float _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_d6102fe1df60cf8f9be5eb4f6774b363_Out_1_Float, _Split_c2c0822a4c066887bdce2476ce07e03b_G_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float);
|
|
float _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, float(1), _Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float);
|
|
float _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_cacc637f6d247382b610fa5e29099efb_Out_2_Float, float(0), float(1), _Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float);
|
|
float _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float;
|
|
Unity_Add_float(_Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Property_6b0e17b7e3d2fd8db358cf2468c498e6_Out_0_Float, _Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float);
|
|
float _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float;
|
|
Unity_Divide_float(_Add_3a4b967d185bc881b41c30791f6f1e62_Out_2_Float, _Add_d67ba628c117b784982b2b0e7335f121_Out_2_Float, _Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float);
|
|
float _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_fd0dcb913f15e88e902812b438aebbc3_Out_2_Float, _OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float);
|
|
float _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_a7b7b5823dc9398d8328371fb23de257_Out_1_Float, float(-0.5), _Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float);
|
|
float _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_caa2bc8711bde98886b2e04bc3895333_Out_2_Float, float(0), float(1), _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float);
|
|
float _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float;
|
|
Unity_Add_float(_Clamp_305f17dcc5012d81886e7fe415a513d4_Out_3_Float, _Clamp_9958b4bb870ca78bb4f436357f6e4ed4_Out_3_Float, _Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float);
|
|
float _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float;
|
|
Unity_Clamp_float(_Add_f4c52e99fecae983bba5ca957ceaea70_Out_2_Float, float(0), float(1), _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float);
|
|
float _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_e2326e473b1f15869db22e412e3f9fde_Out_2_Float, _Clamp_4b0ba629f5691b8985bcb46fe077634b_Out_3_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float);
|
|
float _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_f03610d99dc38b8688cdf6c95924daaf_Out_1_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float);
|
|
float3 _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_11fab77b71140d8ab0735a9615b728ec_Out_2_Vector3, (_Multiply_4a4cdbb11047088c86f3455cd5a51981_Out_2_Float.xxx), _Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3);
|
|
float3 _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_81e093150193e5818ea2e7cdf113600f_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_3d047323d7f9778ca2b1b7d7d4d43210_Out_0_Vector3, _Transform_fcfe6aed8d17598ebf576390e09b3662_Out_1_Vector3, _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3);
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_R_1_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[0];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[1];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float = _Multiply_87cc0f3ed4675989b51b1b58a173bc24_Out_2_Vector3[2];
|
|
float _Split_60ee188afca81787a8e8fac74a174b99_A_4_Float = 0;
|
|
float _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float;
|
|
Unity_Add_float(_Split_60ee188afca81787a8e8fac74a174b99_R_1_Float, _Split_60ee188afca81787a8e8fac74a174b99_G_2_Float, _Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float);
|
|
float _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float;
|
|
Unity_Add_float(_Add_dc15dd3b0cae3e89bd698e7f843f7b1a_Out_2_Float, _Split_60ee188afca81787a8e8fac74a174b99_B_3_Float, _Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float);
|
|
float _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_5239bb98d15c0889b20e04a2eb89ee8d_Out_2_Float, _Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float);
|
|
float _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1be0e9928e2c0489b16295f57a026487_Out_3_Float, _Property_84ecf6d44066108b958a4bbf89eb2bbb_Out_0_Float, _Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float);
|
|
float _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_ffe9545eefb14c85b9db82fa15044921_Out_2_Float, _Multiply_dc9146fa086a698db159220c4b551f8d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float);
|
|
float _Multiply_821af040af6e558284ae449187584b00_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_04ad5b9da8d13d80977bd2661241c39d_Out_2_Float, _Multiply_49be95001b6ff98ea3ddca613a01d693_Out_2_Float, _Multiply_821af040af6e558284ae449187584b00_Out_2_Float);
|
|
UnityTexture2D _Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4;
|
|
float4 _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_b98b3357cae0358aae44a13c442bbfcf_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XZ_2_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_YZ_3_Vector4, _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XY_4_Vector4);
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_R_1_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[0];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[1];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[2];
|
|
float _Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float = _TriplanarNM_2bbdc0a50726b18f8224b019fe9e4ef3_XYZ_1_Vector4[3];
|
|
float _Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2 = float2(_Property_98ac4ea177a183869352488b4c2d0d34_Out_0_Float, _Property_5d5eb0a63075b184be1f8ed7f1969793_Out_0_Float);
|
|
float _Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_068b903f7986bb8da7741fd6f472d4d3_Out_0_Vector2, (_Property_dbf8fa97bfdf2f819d547b2836d5eb88_Out_0_Float.xx), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2);
|
|
float _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_B_3_Float, float2 (0, 1), _Add_7e64ff79e725df80a9231cb40178da18_Out_2_Vector2, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float);
|
|
float _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_821af040af6e558284ae449187584b00_Out_2_Float, _Remap_0792f0dacec10e82954597c385120c5f_Out_3_Float, _Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float);
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f38ac593c11c408685b4081df7f9a736_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_fef4ce95d06ced86899c58782dd5e9ac_Out_2_Float, _Split_f38ac593c11c408685b4081df7f9a736_G_2_Float, _Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float);
|
|
float _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_26b43e2c517d7982b34d1c541939b6f5_Out_2_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float);
|
|
float _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Saturate_3d2efb20d5b29381bfb3003845307b1f_Out_1_Float, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float);
|
|
float _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float;
|
|
Unity_Branch_float(_Property_b9c68b919b678a81bc12118a0d4c3e7b_Out_0_Boolean, _Multiply_97e8d2e584b4e587a8ffaa3d3b1b30f5_Out_2_Float, _Clamp_572d83500486058c99890c5d609b30b0_Out_3_Float, _Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float);
|
|
float3 _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3;
|
|
Unity_Lerp_float3(_BlendOverlayBaseColor_9ac50a6865d3648181da5f6189b8832d_OutVector4_1_Vector3, (_Multiply_b7294cbf7c9daa85b18c13beaf3dc8bd_Out_2_Vector4.xyz), (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3);
|
|
float4 _Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_1c3992584ba29481b2683ce78818f520_Out_0_Vector4.xyz), _Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3);
|
|
float _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f38ac593c11c408685b4081df7f9a736_R_1_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float);
|
|
float3 _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_55b6201a01421f8b87ba535381db6a03_Out_3_Vector3, _Multiply_25f2ae8d79d4a388a6cbd74c831c0177_Out_2_Vector3, (_OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float.xxx), _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3);
|
|
float _Split_4bb7737116edbd81bca06201348456ea_R_1_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[0];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_G_2_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[1];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_B_3_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[2];
|
|
float _Split_4bb7737116edbd81bca06201348456ea_A_4_Float = _PlanarNM_0403eed8a6bea082a4e8fd2d11ab36ae_XZ_2_Vector4[3];
|
|
float _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float = _AlphaCutoff;
|
|
UnityTexture2D _Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_473741cc1ef44c87bb090c6f2487c368;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv0 = IN.uv0;
|
|
_PlanarNM_473741cc1ef44c87bb090c6f2487c368.uv2 = IN.uv2;
|
|
float4 _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_3876d08547d6ec8797d20cbe2c48586d_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_473741cc1ef44c87bb090c6f2487c368, _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4);
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_R_1_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[0];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[1];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_B_3_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[2];
|
|
float _Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float = _PlanarNM_473741cc1ef44c87bb090c6f2487c368_XZ_2_Vector4[3];
|
|
float _Property_49c4138948a1c783b243279625c9552d_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2 = float2(_Property_49c4138948a1c783b243279625c9552d_Out_0_Float, _Property_dfb5b686d2c404848a58258dd35097bd_Out_0_Float);
|
|
float _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_G_2_Float, float2 (0, 1), _Vector2_284734915ee7d58bb51f29ca62e42039_Out_0_Vector2, _Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float);
|
|
float _Property_e8e0c807c3942d85896691316499350a_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0549faf3f215b988850044d78c536992_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2 = float2(_Property_e8e0c807c3942d85896691316499350a_Out_0_Float, _Property_0549faf3f215b988850044d78c536992_Out_0_Float);
|
|
float _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float;
|
|
Unity_Remap_float(_Split_7fe5eb12669d4c8a8c20f31f338c8397_A_4_Float, float2 (0, 1), _Vector2_6f793600058fe9809ed375dab39006b9_Out_0_Vector2, _Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float);
|
|
float _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2fd59f973da4b58ebfcd7374218d1640_B_6_Float, 2, _Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float);
|
|
float _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float;
|
|
Unity_Add_float(_Multiply_f7a4b1832ea11a8a8ec52972758cc9e4_Out_2_Float, float(-1), _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float);
|
|
float _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float = _DetailSmoothnessScale;
|
|
float _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Property_39a9bd06e1c7a280af50cd2a384e4438_Out_0_Float, _Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float);
|
|
float _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_abefbf3a3f84e0899238487765d0c6d8_Out_2_Float, _Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float);
|
|
float _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float;
|
|
Unity_Absolute_float(_Saturate_d2b0d0dfd4b474868a4ef5f31a175a50_Out_1_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float);
|
|
Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570;
|
|
float _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float;
|
|
SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_13ead59094b737848900d4e63ebebbb3_Out_3_Float, _Add_0b75140e53d72d83ae3e255de46e5da4_Out_2_Float, _Absolute_b19c5992c0eef288b5f88b7297531b62_Out_1_Float, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570, _BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float);
|
|
float _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float;
|
|
Unity_Saturate_float(_BlendOverlayDetailSmoothness_583d8fed3a50da838e161b9e32275570_SmoothnessOverlay_1_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float2 _Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2 = float2(_Remap_b7cb902e80b8978c9cb00dc6468bac09_Out_3_Float, _Saturate_022595f0f1136682a367ce4fee42f768_Out_1_Float);
|
|
float _Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2 = float2(_Property_49d9c484bdaf088aab97c0f3d87179a4_Out_0_Float, _Property_9b3d764b53fbc9808fd7a6fd7c73993e_Out_0_Float);
|
|
float _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_G_2_Float, float2 (0, 1), _Vector2_787cdcc8eed2fb86afe1dad66892a963_Out_0_Vector2, _Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float);
|
|
float _Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2 = float2(_Property_312e366a6f346c8a93a9a101b9407a7f_Out_0_Float, _Property_cbd9db9d07c3068cbc64c30b3ca0e64b_Out_0_Float);
|
|
float _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float;
|
|
Unity_Remap_float(_Split_d45fa36c68c6428bb4f8080e2005e0ec_A_4_Float, float2 (0, 1), _Vector2_33727db9c2402f859e7bf0e16d80cb40_Out_0_Vector2, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2 = float2(_Remap_0c91273704cf6f8d80d2365c0311db0c_Out_3_Float, _Remap_5f073c5f6df66687a17442ebcfddc751_Out_3_Float);
|
|
float2 _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2;
|
|
Unity_Lerp_float2(_Vector2_87dc8066666fe089a86b0fdbc15adf1f_Out_0_Vector2, _Vector2_a6a64dc940feee8792911272f1e8bb3c_Out_0_Vector2, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xx), _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2);
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[0];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float = _Lerp_c37c1874c700ef83ac7f382075fc755f_Out_3_Vector2[1];
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_B_3_Float = 0;
|
|
float _Split_837d0b2f5d8ac989b3977f5f374d2bb2_A_4_Float = 0;
|
|
float _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
Unity_Lerp_float(_Split_837d0b2f5d8ac989b3977f5f374d2bb2_G_2_Float, _Property_b3ccd24affa1b388a6dd4b19eaed8757_Out_0_Float, _OneMinus_93980743aa69fb86bf250c5a7d50ef20_Out_1_Float, _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float);
|
|
float _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_82ed151a6b99b681b9a62a8103a7661b_XYZ_1_Vector4.xyz), _Property_b4e25e28683cfa839d36c1919793b680_Out_0_Float, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3);
|
|
float3 _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
Unity_Lerp_float3(_NormalBlend_58a0c0d45b55168cbfa43fa9d9da21c6_Out_2_Vector3, _NormalStrength_3204e89c6d863484958f2b78ddab5dd5_Out_2_Vector3, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxx), _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3);
|
|
UnityTexture2D _Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SpecularColorMap);
|
|
Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_7321d3d8d8279283b0f8041479552f82;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv0 = IN.uv0;
|
|
_PlanarNM_7321d3d8d8279283b0f8041479552f82.uv2 = IN.uv2;
|
|
float4 _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4;
|
|
SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_236b33a2310fc7888eaed4f6d882a744_Out_0_Texture2D, _Property_e21be9beec8d858fa2818b2fddc4577c_Out_0_Vector4, _Property_1b1963c0ccb4d78fa3474b362fd31d15_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_7321d3d8d8279283b0f8041479552f82, _PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4);
|
|
float4 _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4 = _SpecularColor;
|
|
float4 _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_PlanarNM_7321d3d8d8279283b0f8041479552f82_XZ_2_Vector4, _Property_202244b3f3656b87851a6e6ec3283adb_Out_0_Vector4, _Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4);
|
|
UnityTexture2D _Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverSpecularColorMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f81cab766140d38aa65428f45416c094;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_f81cab766140d38aa65428f45416c094.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4;
|
|
float4 _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a8b6c2c605f9a387ad2b692c0b6d0d82_Out_0_Texture2D, (_Divide_acbbd9727ffda783aeafe28ccafbde8e_Out_2_Vector4).x, _Property_faa4f436225f4e8eb99135b1d078135e_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f81cab766140d38aa65428f45416c094, _TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XZ_2_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_YZ_3_Vector4, _TriplanarNM_f81cab766140d38aa65428f45416c094_XY_4_Vector4);
|
|
float4 _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4 = _CoverSpecularColor;
|
|
float4 _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_f81cab766140d38aa65428f45416c094_XYZ_1_Vector4, _Property_0e3c84e3491527899ecbe3e5cf07e8f3_Out_0_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4);
|
|
float4 _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4;
|
|
Unity_Lerp_float4(_Multiply_5616ec15048649889a98f2e2621725b2_Out_2_Vector4, _Multiply_33c1f3e91f23418883d408d6b53275ee_Out_2_Vector4, (_Branch_c38061535041a98ca5bb1d02e1f5af17_Out_3_Float.xxxx), _Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4);
|
|
surface.BaseColor = _Lerp_19abc331acee5482a25ee61d5a1861cf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = _Split_4bb7737116edbd81bca06201348456ea_A_4_Float;
|
|
surface.AlphaClipThreshold = _Property_f9637076944eae8abdcc79dc2702814b_Out_0_Float;
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_73844a0c1a0eea8ea0563041ca489a0e_Out_3_Float;
|
|
surface.Occlusion = _Split_837d0b2f5d8ac989b3977f5f374d2bb2_R_1_Float;
|
|
surface.NormalTS = _Lerp_ddd428cec97e91869b2eec0aace3820c_Out_3_Vector3;
|
|
surface.Specular = (_Lerp_d4db6b723196908d8057e36a7f22d9bc_Out_3_Vector4.xyz);
|
|
return surface;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Graph Inputs
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#define VFX_SRP_ATTRIBUTES AttributesMesh
|
|
#define VaryingsMeshType VaryingsMeshToPS
|
|
#define VFX_SRP_VARYINGS VaryingsMeshType
|
|
#define VFX_SRP_SURFACE_INPUTS FragInputs
|
|
#endif
|
|
SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
|
|
{
|
|
SurfaceDescriptionInputs output;
|
|
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
|
|
|
|
output.WorldSpaceNormal = normalize(input.tangentToWorld[2].xyz);
|
|
#if defined(SHADER_STAGE_RAY_TRACING)
|
|
#else
|
|
#endif
|
|
output.TangentSpaceNormal = float3(0.0f, 0.0f, 1.0f);
|
|
output.WorldSpaceTangent = input.tangentToWorld[0].xyz;
|
|
output.WorldSpaceBiTangent = input.tangentToWorld[1].xyz;
|
|
output.AbsoluteWorldSpacePosition = GetAbsolutePositionWS(input.positionRWS);
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
output.uv0 = input.texCoord0;
|
|
output.uv2 = input.texCoord2;
|
|
output.VertexColor = input.color;
|
|
|
|
// splice point to copy frag inputs custom interpolator pack into the SDI
|
|
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
|
|
|
|
return output;
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Build Surface Data (Specific Material)
|
|
|
|
void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
|
|
|
|
void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
|
|
inout SurfaceData surfaceData)
|
|
{
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
#ifdef DECAL_NORMAL_BLENDING
|
|
// SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
|
|
// the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
|
|
float3 normalTS;
|
|
|
|
normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
|
|
fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
|
|
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
|
|
GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
#else
|
|
// normal delivered to master node
|
|
GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
|
|
|
|
#if HAVE_DECALS
|
|
if (_EnableDecals)
|
|
{
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Both uses and modifies 'surfaceData.normalWS'.
|
|
DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
|
|
ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
|
|
ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
|
|
}
|
|
#endif
|
|
#endif
|
|
}
|
|
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
|
|
{
|
|
ZERO_INITIALIZE(SurfaceData, surfaceData);
|
|
|
|
// specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
|
|
// however specularOcclusion can come from the graph, so need to be init here so it can be override.
|
|
surfaceData.specularOcclusion = 1.0;
|
|
surfaceData.thickness = 0.0;
|
|
|
|
surfaceData.baseColor = surfaceDescription.BaseColor;
|
|
surfaceData.perceptualSmoothness = surfaceDescription.Smoothness;
|
|
surfaceData.ambientOcclusion = surfaceDescription.Occlusion;
|
|
surfaceData.specularColor = surfaceDescription.Specular;
|
|
|
|
#if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
|
|
if (_EnableSSRefraction)
|
|
{
|
|
|
|
surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
surfaceDescription.Alpha = 1.0;
|
|
}
|
|
#else
|
|
surfaceData.ior = 1.0;
|
|
surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
|
|
surfaceData.atDistance = 1.0;
|
|
surfaceData.transmittanceMask = 0.0;
|
|
#endif
|
|
|
|
// These static material feature allow compile time optimization
|
|
surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
|
|
#ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_COLORED_TRANSMISSION
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_COLORED_TRANSMISSION;
|
|
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_ANISOTROPY
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
|
|
|
|
// Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
|
|
surfaceData.normalWS = float3(0, 1, 0);
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_IRIDESCENCE
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
|
|
#endif
|
|
|
|
#ifdef _MATERIAL_FEATURE_CLEAR_COAT
|
|
surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
|
|
#endif
|
|
|
|
#if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
|
|
// Require to have setup baseColor
|
|
// Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
|
|
surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
|
|
#endif
|
|
|
|
float3 doubleSidedConstants = GetDoubleSidedConstants();
|
|
|
|
ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
|
|
|
|
surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
|
|
|
|
surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
|
|
|
|
|
|
bentNormalWS = surfaceData.normalWS;
|
|
|
|
surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
// Mipmap mode debugging isn't supported with ray tracing as it relies on derivatives
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD0
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG(posInput.positionSS, fragInputs.texCoord0);
|
|
#else
|
|
surfaceData.baseColor = GET_TEXTURE_STREAMING_DEBUG_NO_UV(posInput.positionSS);
|
|
#endif
|
|
surfaceData.metallic = 0;
|
|
}
|
|
#endif
|
|
|
|
// We need to call ApplyDebugToSurfaceData after filling the surfaceData and before filling builtinData
|
|
// as it can modify attribute use for static lighting
|
|
ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
|
|
#endif
|
|
|
|
// By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
|
|
// If user provide bent normal then we process a better term
|
|
#if defined(_SPECULAR_OCCLUSION_CUSTOM)
|
|
// Just use the value passed through via the slot (not active otherwise)
|
|
#elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
|
|
// If we have bent normal and ambient occlusion, process a specular occlusion
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
|
|
#elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
|
|
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
|
|
#endif
|
|
|
|
#if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
|
|
surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
|
|
#endif
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Get Surface And BuiltinData
|
|
|
|
void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
|
|
{
|
|
// Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
|
|
#ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
|
|
LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
#ifdef _DOUBLESIDED_ON
|
|
float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
|
|
#else
|
|
float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
|
|
#endif
|
|
|
|
ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
|
|
#endif // SHADER_UNLIT
|
|
|
|
SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
|
|
|
|
#if defined(HAVE_VFX_MODIFICATION)
|
|
GraphProperties properties;
|
|
ZERO_INITIALIZE(GraphProperties, properties);
|
|
|
|
GetElementPixelProperties(fragInputs, properties);
|
|
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
|
|
#else
|
|
SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
|
|
#endif
|
|
|
|
#ifdef DEBUG_DISPLAY
|
|
if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
|
|
{
|
|
surfaceDescription.Alpha = 1.0f;
|
|
}
|
|
#endif
|
|
|
|
// Perform alpha test very early to save performance (a killed pixel will not sample textures)
|
|
// TODO: split graph evaluation to grab just alpha dependencies first? tricky..
|
|
#ifdef _ALPHATEST_ON
|
|
float alphaCutoff = surfaceDescription.AlphaClipThreshold;
|
|
#if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
|
|
// The TransparentDepthPrepass is also used with SSR transparent.
|
|
// If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
|
|
// otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
|
|
#elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
|
|
// DepthPostpass always use its own alpha threshold
|
|
alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
|
|
#elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
|
|
// If use shadow threshold isn't enable we don't allow any test
|
|
#endif
|
|
|
|
GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
|
|
#endif
|
|
|
|
#if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
|
|
ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
float3 bentNormalWS;
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD1
|
|
float4 lightmapTexCoord1 = fragInputs.texCoord1;
|
|
#else
|
|
float4 lightmapTexCoord1 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
#ifdef FRAG_INPUTS_USE_TEXCOORD2
|
|
float4 lightmapTexCoord2 = fragInputs.texCoord2;
|
|
#else
|
|
float4 lightmapTexCoord2 = float4(0,0,0,0);
|
|
#endif
|
|
|
|
float alpha = 1.0;
|
|
alpha = surfaceDescription.Alpha;
|
|
|
|
// Builtin Data
|
|
// For back lighting we use the oposite vertex normal
|
|
InitBuiltinData(posInput, alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
|
|
|
|
#else
|
|
BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
|
|
|
|
ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
|
|
builtinData.opacity = surfaceDescription.Alpha;
|
|
|
|
#if defined(DEBUG_DISPLAY)
|
|
// Light Layers are currently not used for the Unlit shader (because it is not lit)
|
|
// But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
|
|
// display in the light layers visualization mode, therefore we need the renderingLayers
|
|
builtinData.renderingLayers = GetMeshRenderingLayerMask();
|
|
#endif
|
|
|
|
#endif // SHADER_UNLIT
|
|
|
|
#ifdef _ALPHATEST_ON
|
|
// Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
|
|
builtinData.alphaClipTreshold = alphaCutoff;
|
|
#endif
|
|
|
|
// override sampleBakedGI - not used by Unlit
|
|
// When overriding GI, we need to force the isLightmap flag to make sure we don't add APV (sampled in the lightloop) on top of the overridden value (set at GBuffer stage)
|
|
|
|
builtinData.emissiveColor = surfaceDescription.Emission;
|
|
|
|
// Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
|
|
// We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
|
|
// This is a limitation of the current MRT approach.
|
|
#ifdef UNITY_VIRTUAL_TEXTURING
|
|
#endif
|
|
|
|
#if _DEPTHOFFSET_ON
|
|
builtinData.depthOffset = surfaceDescription.DepthOffset;
|
|
#endif
|
|
|
|
// TODO: We should generate distortion / distortionBlur for non distortion pass
|
|
#if (SHADERPASS == SHADERPASS_DISTORTION)
|
|
builtinData.distortion = surfaceDescription.Distortion;
|
|
builtinData.distortionBlur = surfaceDescription.DistortionBlur;
|
|
#endif
|
|
|
|
#ifndef SHADER_UNLIT
|
|
// PostInitBuiltinData call ApplyDebugToBuiltinData
|
|
PostInitBuiltinData(V, posInput, surfaceData, builtinData);
|
|
#else
|
|
ApplyDebugToBuiltinData(builtinData);
|
|
#endif
|
|
|
|
RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
|
|
}
|
|
|
|
// --------------------------------------------------
|
|
// Main
|
|
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl"
|
|
|
|
// --------------------------------------------------
|
|
// Visual Effect Vertex Invocations
|
|
|
|
#ifdef HAVE_VFX_MODIFICATION
|
|
#if !defined(SHADER_STAGE_RAY_TRACING)
|
|
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
ENDHLSL
|
|
}
|
|
}
|
|
CustomEditor "UnityEditor.ShaderGraph.GenericShaderGraphMaterialGUI"
|
|
CustomEditorForRenderPipeline "Rendering.HighDefinition.LitShaderGraphGUI" "UnityEngine.Rendering.HighDefinition.HDRenderPipelineAsset"
|
|
FallBack "Hidden/Shader Graph/FallbackError"
|
|
} |