26796 lines
2.0 MiB
26796 lines
2.0 MiB
Shader "NatureManufacture/HDRP/Layered/Top Cover"
|
|
{
|
|
Properties
|
|
{
|
|
_BaseColor("Base Color", Color) = (1, 1, 1, 0)
|
|
[NoScaleOffset]_BaseColorMap("Base Map", 2D) = "white" {}
|
|
_BaseTilingOffset("Base Tiling and Offset", Vector) = (1, 1, 0, 0)
|
|
_BaseTriplanarThreshold("Base Triplanar Threshold", Range(1, 8)) = 5
|
|
[Normal][NoScaleOffset]_BaseNormalMap("Base Normal Map", 2D) = "bump" {}
|
|
_BaseNormalScale("Base Normal Scale", Range(0, 8)) = 1
|
|
[NoScaleOffset]_BaseMaskMap("Base Mask Map MT(R) AO(G) H(B) SM(A)", 2D) = "white" {}
|
|
_BaseMetallic("Base Metallic", Range(0, 1)) = 1
|
|
_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]_LayerMask("Layer Mask (R)", 2D) = "black" {}
|
|
[ToggleUI]_Invert_Layer_Mask("Invert Layer Mask", Float) = 0
|
|
_Height_Transition("Height Blend Transition", Range(0.001, 1)) = 1
|
|
_HeightMin("Height Min", Float) = 0
|
|
_HeightMax("Height Max", Float) = 1
|
|
_HeightOffset("Height Offset", Float) = 0
|
|
_HeightMin2("Height 2 Min", Float) = 0
|
|
_HeightMax2("Height 2 Max", Float) = 1
|
|
_HeightOffset2("Height 2 Offset", Float) = 0
|
|
_Base2Color("Base 2 Color", Color) = (1, 1, 1, 0)
|
|
[NoScaleOffset]_Base2ColorMap("Base 2 Map", 2D) = "white" {}
|
|
_Base2TilingOffset("Base 2 Tiling and Offset", Vector) = (1, 1, 0, 0)
|
|
_Base2TriplanarThreshold("Base 2 Triplanar Threshold", Range(1, 8)) = 5
|
|
[Normal][NoScaleOffset]_Base2NormalMap("Base 2 Normal Map", 2D) = "bump" {}
|
|
_Base2NormalScale("Base 2 Normal Scale", Range(0, 8)) = 1
|
|
[NoScaleOffset]_Base2MaskMap("Base 2 Mask Map MT(R) AO(G) H(B) SM(A)", 2D) = "white" {}
|
|
_Base2Metallic("Base 2 Metallic", Range(0, 1)) = 1
|
|
_Base2SmoothnessRemapMin("Base 2 Smoothness Remap Min", Range(0, 1)) = 0
|
|
_Base2SmoothnessRemapMax("Base 2 Smoothness Remap Max", Range(0, 1)) = 1
|
|
_Base2AORemapMin("Base 2 AO Remap Min", Range(0, 1)) = 0
|
|
_Base2AORemapMax("Base 2 AO Remap Max", Range(0, 1)) = 1
|
|
[ToggleUI]_USEDYNAMICCOVERTSTATICMASKF("Use Dynamic Cover (T) Static Mask (F)", Float) = 1
|
|
[NoScaleOffset]_CoverBaseColorMap("Cover Base Map (RGB) 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)
|
|
_CoverTilingOffset("Cover Tiling Offset", Vector) = (1, 1, 0, 0)
|
|
_CoverTriplanarThreshold("Cover Triplanar Threshold", Range(1, 8)) = 5
|
|
[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 MT(R) AO(G) H(B) SM(A)", 2D) = "white" {}
|
|
_CoverMetallic("Cover Metallic", Range(0, 1)) = 1
|
|
_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
|
|
_WetColor("Wet Color Vertex(R)", Color) = (0.7735849, 0.7735849, 0.7735849, 0)
|
|
_WetSmoothness("Wet Smoothness Vertex(R)", Range(0, 1)) = 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) = 0
|
|
[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(Standard, 1)]_MaterialID("_MaterialID", Float) = 1
|
|
[HideInInspector]_MaterialTypeMask("_MaterialTypeMask", Float) = 2
|
|
[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"="Geometry+225"
|
|
"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 _ _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 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
|
|
|
|
|
|
#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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
|
|
uint instanceID : INSTANCEID_SEMANTIC;
|
|
#endif
|
|
};
|
|
struct VaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
#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
|
|
{
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
#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;
|
|
#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;
|
|
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
|
|
output.instanceID = input.instanceID;
|
|
#endif
|
|
return output;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
// GraphFunctions: <None>
|
|
|
|
// 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;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
surface.Alpha = float(1);
|
|
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
|
|
|
|
|
|
#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
|
|
|
|
#if UNITY_UV_STARTS_AT_TOP
|
|
#else
|
|
#endif
|
|
|
|
|
|
|
|
// 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 _ _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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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);
|
|
|
|
#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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#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
|
|
|
|
|
|
#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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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 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 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 color : INTERP2;
|
|
float3 positionRWS : INTERP3;
|
|
float3 normalWS : INTERP4;
|
|
#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.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.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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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.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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#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
|
|
|
|
|
|
#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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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 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 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 color : INTERP2;
|
|
float3 positionRWS : INTERP3;
|
|
float3 normalWS : INTERP4;
|
|
#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.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.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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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.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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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
|
|
}
|
|
|
|
// 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 _ 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_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#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
|
|
|
|
|
|
#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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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 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 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 color : INTERP2;
|
|
float3 positionRWS : INTERP3;
|
|
float3 normalWS : INTERP4;
|
|
#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.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.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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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.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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#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
|
|
|
|
|
|
#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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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 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 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 color : INTERP2;
|
|
float3 positionRWS : INTERP3;
|
|
float3 normalWS : INTERP4;
|
|
#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.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.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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Multiply_float_float(float A, float B, out float 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;
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - B;
|
|
}
|
|
|
|
struct Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 NormalTS;
|
|
float Smoothness;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
surface.Alpha = float(1);
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_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.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.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 _ _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_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#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
|
|
|
|
|
|
#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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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 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 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 color : INTERP2;
|
|
float3 positionRWS : INTERP3;
|
|
float3 normalWS : INTERP4;
|
|
#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.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.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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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.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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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
|
|
}
|
|
|
|
// 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 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_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#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
|
|
|
|
|
|
#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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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 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 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 color : INTERP2;
|
|
float3 positionRWS : INTERP3;
|
|
float3 normalWS : INTERP4;
|
|
#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.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.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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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.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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
float4 VTPackedFeedback;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
|
|
{
|
|
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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
float4 VTPackedFeedback;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
|
|
{
|
|
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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#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
|
|
|
|
|
|
#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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 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 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 VertexColor;
|
|
};
|
|
struct PackedVaryingsMeshToPS
|
|
{
|
|
SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
|
|
float4 tangentWS : INTERP0;
|
|
float4 texCoord0 : INTERP1;
|
|
float4 color : INTERP2;
|
|
float3 positionRWS : INTERP3;
|
|
float3 normalWS : INTERP4;
|
|
#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.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.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_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float 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;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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.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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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"="Geometry+225"
|
|
"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 _ _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
|
|
|
|
// 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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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
|
|
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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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
|
|
|
|
// 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_COLOR
|
|
#define VARYINGS_NEED_POSITION_WS
|
|
#define VARYINGS_NEED_TANGENT_TO_WORLD
|
|
#define VARYINGS_NEED_TEXCOORD0
|
|
#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
|
|
|
|
|
|
#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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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
|
|
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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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
|
|
|
|
// 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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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
|
|
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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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
|
|
|
|
// 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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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
|
|
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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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 _ _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
|
|
|
|
// 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)
|
|
float4 _BaseColor;
|
|
float4 _BaseColorMap_TexelSize;
|
|
float4 _BaseTilingOffset;
|
|
float _BaseTriplanarThreshold;
|
|
float4 _BaseNormalMap_TexelSize;
|
|
float _BaseNormalScale;
|
|
float4 _BaseMaskMap_TexelSize;
|
|
float _BaseMetallic;
|
|
float _BaseAORemapMin;
|
|
float _BaseAORemapMax;
|
|
float _BaseSmoothnessRemapMin;
|
|
float _BaseSmoothnessRemapMax;
|
|
float4 _LayerMask_TexelSize;
|
|
float _Invert_Layer_Mask;
|
|
float _Height_Transition;
|
|
float _HeightMin;
|
|
float _HeightMax;
|
|
float _HeightOffset;
|
|
float _HeightMin2;
|
|
float _HeightMax2;
|
|
float _HeightOffset2;
|
|
float4 _Base2Color;
|
|
float4 _Base2ColorMap_TexelSize;
|
|
float4 _Base2TilingOffset;
|
|
float _Base2TriplanarThreshold;
|
|
float4 _Base2NormalMap_TexelSize;
|
|
float _Base2NormalScale;
|
|
float4 _Base2MaskMap_TexelSize;
|
|
float _Base2Metallic;
|
|
float _Base2SmoothnessRemapMin;
|
|
float _Base2SmoothnessRemapMax;
|
|
float _Base2AORemapMin;
|
|
float _Base2AORemapMax;
|
|
float _USEDYNAMICCOVERTSTATICMASKF;
|
|
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 _CoverNormalMap_TexelSize;
|
|
float _CoverNormalScale;
|
|
float _CoverNormalBlendHardness;
|
|
float _CoverHardness;
|
|
float _CoverHeightMapMin;
|
|
float _CoverHeightMapMax;
|
|
float _CoverHeightMapOffset;
|
|
float4 _CoverMaskMap_TexelSize;
|
|
float _CoverMetallic;
|
|
float _CoverAORemapMin;
|
|
float _CoverAORemapMax;
|
|
float _CoverSmoothnessRemapMin;
|
|
float _CoverSmoothnessRemapMax;
|
|
float4 _WetColor;
|
|
float _WetSmoothness;
|
|
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(_BaseNormalMap);
|
|
SAMPLER(sampler_BaseNormalMap);
|
|
TEXTURE2D(_BaseMaskMap);
|
|
SAMPLER(sampler_BaseMaskMap);
|
|
TEXTURE2D(_LayerMask);
|
|
SAMPLER(sampler_LayerMask);
|
|
TEXTURE2D(_Base2ColorMap);
|
|
SAMPLER(sampler_Base2ColorMap);
|
|
TEXTURE2D(_Base2NormalMap);
|
|
SAMPLER(sampler_Base2NormalMap);
|
|
TEXTURE2D(_Base2MaskMap);
|
|
SAMPLER(sampler_Base2MaskMap);
|
|
TEXTURE2D(_CoverBaseColorMap);
|
|
SAMPLER(sampler_CoverBaseColorMap);
|
|
TEXTURE2D(_CoverNormalMap);
|
|
SAMPLER(sampler_CoverNormalMap);
|
|
TEXTURE2D(_CoverMaskMap);
|
|
SAMPLER(sampler_CoverMaskMap);
|
|
|
|
// -- 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 VertexColor;
|
|
};
|
|
|
|
//Interpolator Packs: <None>
|
|
|
|
// --------------------------------------------------
|
|
// Graph
|
|
|
|
|
|
// Graph Functions
|
|
|
|
void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A / B;
|
|
}
|
|
|
|
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_Multiply_float4_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_Multiply_float_float(float A, float B, out float Out)
|
|
{
|
|
Out = A * B;
|
|
}
|
|
|
|
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
void Unity_Add_float(float A, float B, out float Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_Add_float2(float2 A, float2 B, out float2 Out)
|
|
{
|
|
Out = A + B;
|
|
}
|
|
|
|
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_OneMinus_float(float In, out float Out)
|
|
{
|
|
Out = 1 - In;
|
|
}
|
|
|
|
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
|
|
{
|
|
Out = Predicate ? True : False;
|
|
}
|
|
|
|
void Unity_Maximum_float(float A, float B, out float Out)
|
|
{
|
|
Out = max(A, B);
|
|
}
|
|
|
|
void Unity_Subtract_float(float A, float B, out float Out)
|
|
{
|
|
Out = A - 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_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float
|
|
{
|
|
};
|
|
|
|
void SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(float3 Vector3_88EEBB5E, float Vector1_DA0A37FA, float3 Vector3_79AA92F, float Vector1_F7E83F1E, float Vector1_1C9222A6, Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float IN, out float3 OutVector4_1)
|
|
{
|
|
float3 _Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3 = Vector3_88EEBB5E;
|
|
float _Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float = Vector1_DA0A37FA;
|
|
float _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float;
|
|
Unity_Maximum_float(_Property_48af0ad45e3f7f82932b938695d21391_Out_0_Float, _Property_8a30b3ca12ff518fa473ccd686c7d503_Out_0_Float, _Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float);
|
|
float _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float = Vector1_1C9222A6;
|
|
float _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float;
|
|
Unity_Subtract_float(_Maximum_c196e4a61637ea8381a3437c93f89ce2_Out_2_Float, _Property_ee8d5fc69475d181be60c57e04ea8708_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float);
|
|
float _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float;
|
|
Unity_Subtract_float(_Property_14119cc7eaf4128f991283d47cf72d85_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float);
|
|
float _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_e3a7713b556a1b8cb40aad97fc58d619_Out_2_Float, float(0), _Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float);
|
|
float3 _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_dd1c841a04c03f8c85e7b00eb025ecda_Out_0_Vector3, (_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float.xxx), _Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3);
|
|
float3 _Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3 = Vector3_79AA92F;
|
|
float _Property_5e920479576fad83ba1947728dcceab4_Out_0_Float = Vector1_F7E83F1E;
|
|
float _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float;
|
|
Unity_Subtract_float(_Property_5e920479576fad83ba1947728dcceab4_Out_0_Float, _Subtract_61ca880c04c1758eb128f25c9faabd63_Out_2_Float, _Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float);
|
|
float _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float;
|
|
Unity_Maximum_float(_Subtract_b7368f21be9e048aae7f90c8a2bfaae1_Out_2_Float, float(0), _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float);
|
|
float3 _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_c7292b3b08585f8c8670172b9a220bf0_Out_0_Vector3, (_Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float.xxx), _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3);
|
|
float3 _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3;
|
|
Unity_Add_float3(_Multiply_79b0b5d7d3528b8395e1135339a090f2_Out_2_Vector3, _Multiply_a856b52cd0848f86a6ae1af9b175935c_Out_2_Vector3, _Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3);
|
|
float _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float;
|
|
Unity_Add_float(_Maximum_d02e48d92038448cb0345e5cf3779071_Out_2_Float, _Maximum_216777d30802328eab607c8fe68ba3a1_Out_2_Float, _Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float);
|
|
float _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float;
|
|
Unity_Maximum_float(_Add_356384b52728f583bd6e694bc1fc3738_Out_2_Float, float(1E-05), _Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float);
|
|
float3 _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
Unity_Divide_float3(_Add_86c6109dc4530b8c9763ef62b056ad4c_Out_2_Vector3, (_Maximum_94a22f5ceb706e88bc16350a5d5d2a82_Out_2_Float.xxx), _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3);
|
|
OutVector4_1 = _Divide_d7291d1701d7058dbb5263194c1bed22_Out_2_Vector3;
|
|
}
|
|
|
|
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
|
|
{
|
|
Out = clamp(In, Min, Max);
|
|
}
|
|
|
|
void Unity_Normalize_float3(float3 In, out float3 Out)
|
|
{
|
|
Out = normalize(In);
|
|
}
|
|
|
|
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_NormalStrength_float(float3 In, float Strength, out float3 Out)
|
|
{
|
|
Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
|
|
}
|
|
|
|
void Unity_Divide_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_Saturate_float(float In, out float Out)
|
|
{
|
|
Out = saturate(In);
|
|
}
|
|
|
|
void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
void Unity_Lerp_float(float A, float B, float T, out float Out)
|
|
{
|
|
Out = lerp(A, B, T);
|
|
}
|
|
|
|
// Graph Vertex
|
|
// GraphVertex: <None>
|
|
|
|
// Graph Pixel
|
|
struct SurfaceDescription
|
|
{
|
|
float3 BaseColor;
|
|
float3 Emission;
|
|
float Alpha;
|
|
float3 BentNormal;
|
|
float Smoothness;
|
|
float Occlusion;
|
|
float3 NormalTS;
|
|
float Metallic;
|
|
};
|
|
|
|
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
|
|
{
|
|
SurfaceDescription surface = (SurfaceDescription)0;
|
|
UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
|
|
float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
|
|
float4 _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4);
|
|
float _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float = _BaseTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4;
|
|
float4 _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XZ_2_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_YZ_3_Vector4, _TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XY_4_Vector4);
|
|
float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
|
|
float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_c6c93335f555378fa7cfcbb5e3263fbf_XYZ_1_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
|
|
UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XZ_2_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_YZ_3_Vector4, _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XY_4_Vector4);
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_R_1_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[0];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_G_2_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[1];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_B_3_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[2];
|
|
float _Split_0e097b58999b3a81a966d271197ae20e_A_4_Float = _TriplanarNM_bb3e1069be3baf8dbeebdfd5d01b3649_XYZ_1_Vector4[3];
|
|
float _Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float = _HeightMin;
|
|
float _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float = _HeightMax;
|
|
float2 _Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2 = float2(_Property_a859bb55a2b9de80a42270bed0d5b617_Out_0_Float, _Property_6a5e94d6990bd38eace024b5a5366dcd_Out_0_Float);
|
|
float _Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float = _HeightOffset;
|
|
float2 _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_b1ffc7c201f7a28db3b61a7af725ce14_Out_0_Vector2, (_Property_f9c5ca34c6c20784b73fd90fa9dbbb70_Out_0_Float.xx), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2);
|
|
float _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_B_3_Float, float2 (0, 1), _Add_810cbda844e984809d8449d02f1fe34b_Out_2_Vector2, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float);
|
|
UnityTexture2D _Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2ColorMap);
|
|
float4 _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4 = _Base2TilingOffset;
|
|
float4 _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_505b745e4ff42080ba6edcadb9575a6a_Out_0_Vector4, _Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4);
|
|
float _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float = _Base2TriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_bc0281a07139448582763f1a73c7177b;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_bc0281a07139448582763f1a73c7177b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4;
|
|
float4 _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_f0e70a431fc2958d9010b03283beee34_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_bc0281a07139448582763f1a73c7177b, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XZ_2_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_YZ_3_Vector4, _TriplanarNM_bc0281a07139448582763f1a73c7177b_XY_4_Vector4);
|
|
float4 _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4 = _Base2Color;
|
|
float4 _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_bc0281a07139448582763f1a73c7177b_XYZ_1_Vector4, _Property_913f955d98f27d8eae1e9aa2594d6903_Out_0_Vector4, _Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4);
|
|
float _Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean = _Invert_Layer_Mask;
|
|
UnityTexture2D _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_LayerMask);
|
|
float4 _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.tex, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.samplerstate, _Property_e4f36987ce299e8594a2a5fccce28358_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_G_5_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_B_6_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_ac5550b56f005784b219743fdaf08340_A_7_Float = _SampleTexture2D_ac5550b56f005784b219743fdaf08340_RGBA_0_Vector4.a;
|
|
float _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float;
|
|
Unity_OneMinus_float(_SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float);
|
|
float _Branch_8a5608b921674582b952741a166384c7_Out_3_Float;
|
|
Unity_Branch_float(_Property_f3645cc6ceea83848fb5c7e697404bb9_Out_0_Boolean, _OneMinus_287f9ca7e6d0ec84ba19b1be05299325_Out_1_Float, _SampleTexture2D_ac5550b56f005784b219743fdaf08340_R_4_Float, _Branch_8a5608b921674582b952741a166384c7_Out_3_Float);
|
|
UnityTexture2D _Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2MaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4;
|
|
float4 _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_41d7b60d37a127849d09e1dd2734aaec_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XZ_2_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_YZ_3_Vector4, _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XY_4_Vector4);
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_R_1_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[0];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_G_2_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[1];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_B_3_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[2];
|
|
float _Split_acf2600fcb63be80977040a14ffe093b_A_4_Float = _TriplanarNM_37aecbd9468c3583b4bc44bff132bd9e_XYZ_1_Vector4[3];
|
|
float _Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float = _HeightMin2;
|
|
float _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float = _HeightMax2;
|
|
float2 _Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2 = float2(_Property_040e1f03f6c2558296bcbe40d45fb54a_Out_0_Float, _Property_3b0df61398e1d685acb7c9268bbe05ab_Out_0_Float);
|
|
float _Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float = _HeightOffset2;
|
|
float2 _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_5364f757f74cad88a0e969832588a923_Out_0_Vector2, (_Property_d382ce88f58fb386ad463f679320d9c6_Out_0_Float.xx), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2);
|
|
float _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_B_3_Float, float2 (0, 1), _Add_dc6e0e48074add8d8e342fdeb48787de_Out_2_Vector2, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float);
|
|
float _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float;
|
|
Unity_Multiply_float_float(_Branch_8a5608b921674582b952741a166384c7_Out_3_Float, _Remap_ddff7201bd573f8895ae4fc5b7d40bf2_Out_3_Float, _Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float);
|
|
float _Split_f17dcf1e370a41899273912615208439_R_1_Float = IN.VertexColor[0];
|
|
float _Split_f17dcf1e370a41899273912615208439_G_2_Float = IN.VertexColor[1];
|
|
float _Split_f17dcf1e370a41899273912615208439_B_3_Float = IN.VertexColor[2];
|
|
float _Split_f17dcf1e370a41899273912615208439_A_4_Float = IN.VertexColor[3];
|
|
float _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_bb05a41ad209278eb78db9a948be6125_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_B_3_Float, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float);
|
|
float _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float = _Height_Transition;
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_709e53664a4175808a76121d09d25807;
|
|
float3 _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float((_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4.xyz), _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, (_Multiply_98c5efd706ed988babc5c29fc647d990_Out_2_Vector4.xyz), _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_709e53664a4175808a76121d09d25807, _HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
|
|
float4 _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4;
|
|
Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4);
|
|
float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_b829db7578fba38ea801a3da9818b204;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_b829db7578fba38ea801a3da9818b204.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4;
|
|
float4 _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_b829db7578fba38ea801a3da9818b204, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XZ_2_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_YZ_3_Vector4, _TriplanarNM_b829db7578fba38ea801a3da9818b204_XY_4_Vector4);
|
|
float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
|
|
float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
|
|
Unity_Multiply_float4_float4(_TriplanarNM_b829db7578fba38ea801a3da9818b204_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
|
|
float _Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
|
|
UnityTexture2D _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
|
|
float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
|
|
float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.tex, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.samplerstate, _Property_b956300003b84c96a3a098a17680cc91_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
|
|
float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
|
|
float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
|
|
float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
|
|
Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
|
|
float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
|
|
Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, float(0), float(1), _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
|
|
float3 _Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3 = _CoverDirection;
|
|
UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_3f90f63612527484828e5fa52957f6be;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_3f90f63612527484828e5fa52957f6be.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, (_Divide_0ee91a313176808db146dc1a40d027e3_Out_2_Vector4).x, _Property_ed65c01d033fd78ab8d8585db2d2229a_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_3f90f63612527484828e5fa52957f6be, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XZ_2_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_YZ_3_Vector4, _TriplanarNMn_3f90f63612527484828e5fa52957f6be_XY_4_Vector4);
|
|
float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
|
|
float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_3f90f63612527484828e5fa52957f6be_XYZ_1_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
|
|
UnityTexture2D _Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_Base2NormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_30f2c188c6b1e688ae667a89dbd70992_Out_0_Texture2D, (_Divide_8dc64bb1db7bfc8c9911779a00e64e37_Out_2_Vector4).x, _Property_ab4138cec74a39809aa202ebe31ba38d_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XZ_2_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_YZ_3_Vector4, _TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XY_4_Vector4);
|
|
float _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float = _Base2NormalScale;
|
|
float3 _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_9cb3da2390ed07848d14cebdc94a2eeb_XYZ_1_Vector4.xyz), _Property_13b1e8709820828195ef548d1d72ea04_Out_0_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6;
|
|
float3 _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _NormalStrength_61e15bbaec29ca8098158de814ef56cb_Out_2_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6, _HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3);
|
|
UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
|
|
Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceTangent = IN.WorldSpaceTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
|
|
_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4;
|
|
float4 _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4;
|
|
SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XZ_2_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_YZ_3_Vector4, _TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XY_4_Vector4);
|
|
float _Property_f35749cc67b66e838adb270398a79229_Out_0_Float = _CoverNormalBlendHardness;
|
|
float3 _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_f35749cc67b66e838adb270398a79229_Out_0_Float, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3);
|
|
float3 _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3);
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[0];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[1];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float = _Multiply_fd32e0719798c9848605ed02f5707c98_Out_2_Vector3[2];
|
|
float _Split_95b849e9b9dd0b88a017a335feca61bb_A_4_Float = 0;
|
|
float _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float;
|
|
Unity_Add_float(_Split_95b849e9b9dd0b88a017a335feca61bb_R_1_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_G_2_Float, _Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float);
|
|
float _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float;
|
|
Unity_Add_float(_Add_bcf11c3d1ba29184b7c75dcce9260bb6_Out_2_Float, _Split_95b849e9b9dd0b88a017a335feca61bb_B_3_Float, _Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float);
|
|
float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
|
|
float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
|
|
float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
|
|
Unity_Subtract_float(float(4), _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
|
|
float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
|
|
Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
|
|
float _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float;
|
|
Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float);
|
|
float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
|
|
Unity_Power_float(_Absolute_9750b0e0fc321787ad22241441e9ceaa_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
|
|
float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
|
|
Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, float(0), float(2), _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
|
|
float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
|
|
float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
|
|
float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_161323e889a97f818d53c22ec4c298d3_Out_2_Float, float(0), float(0.9999), _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
|
|
float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
|
|
float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
|
|
Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, float(45), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
|
|
float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
|
|
float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
|
|
Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
|
|
float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
|
|
Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, float(0), float(2), _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
|
|
float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
|
|
Unity_Divide_float(float(1), _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
|
|
float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
|
|
float _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float;
|
|
Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float);
|
|
float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
|
|
float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
|
|
Unity_Power_float(_Absolute_8c945d4cbdedf08cbbd051db8bf9cad9_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
|
|
float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
|
|
float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
|
|
Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
|
|
float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
|
|
float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
|
|
float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, float(1), _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
|
|
float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
|
|
Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, float(0), float(1), _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
|
|
float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
|
|
float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
|
|
Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
|
|
float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
|
|
Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
|
|
float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
|
|
Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
|
|
float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
|
|
Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, float(-0.5), _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
|
|
float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
|
|
Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, float(0), float(1), _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
|
|
float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
|
|
Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
|
|
float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
|
|
Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, float(0), float(1), _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
|
|
float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
|
|
Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
|
|
float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
|
|
Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
|
|
float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_9765ea122b1ac18facb2222821fbd0d2_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
|
|
float3 _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3;
|
|
{
|
|
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
|
|
_Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
|
|
}
|
|
float3 _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3(_Property_d0d64a8bbd5d1588b2f890b1a7e1ec4b_Out_0_Vector3, _Transform_f2427dad828e5287a9372ebdba9aa18a_Out_1_Vector3, _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3);
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[0];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[1];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float = _Multiply_9f63a0cd12edfe8d9eaff3c695534b7b_Out_2_Vector3[2];
|
|
float _Split_be8e0bf1de869282b72bd932c6643e78_A_4_Float = 0;
|
|
float _Add_2776f1893bd4058db4f482591a485818_Out_2_Float;
|
|
Unity_Add_float(_Split_be8e0bf1de869282b72bd932c6643e78_R_1_Float, _Split_be8e0bf1de869282b72bd932c6643e78_G_2_Float, _Add_2776f1893bd4058db4f482591a485818_Out_2_Float);
|
|
float _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float;
|
|
Unity_Add_float(_Add_2776f1893bd4058db4f482591a485818_Out_2_Float, _Split_be8e0bf1de869282b72bd932c6643e78_B_3_Float, _Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float);
|
|
float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
|
|
Unity_Multiply_float_float(_Add_787f11d05fa0868b8432dac76e9704ac_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
|
|
float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
|
|
float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
|
|
float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
|
|
UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
|
|
Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.WorldSpaceNormal = IN.WorldSpaceNormal;
|
|
_TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4;
|
|
float4 _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4;
|
|
SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_f2c4b04091bc9c869debf4fb82dac8bb_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XZ_2_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_YZ_3_Vector4, _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XY_4_Vector4);
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[0];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[1];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[2];
|
|
float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_8d470d6184db4b8fbe4fe90ca9f05f63_XYZ_1_Vector4[3];
|
|
float _Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float = _CoverHeightMapMin;
|
|
float _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float = _CoverHeightMapMax;
|
|
float2 _Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2 = float2(_Property_7f9921aff66d0480b4e688ab037f2055_Out_0_Float, _Property_cc062120dc5d318c856f34e40507b5f4_Out_0_Float);
|
|
float _Property_778e617cff3562839c16f5f891211fe4_Out_0_Float = _CoverHeightMapOffset;
|
|
float2 _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2;
|
|
Unity_Add_float2(_Vector2_701c15b4a82efa88bc02898c5a4801e0_Out_0_Vector2, (_Property_778e617cff3562839c16f5f891211fe4_Out_0_Float.xx), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2);
|
|
float _Remap_091ced6951b28285942294fd64455e47_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_178e0bdb72c1ba83adfa536d18fc26e0_Out_2_Vector2, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float);
|
|
float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_091ced6951b28285942294fd64455e47_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
|
|
float _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float;
|
|
Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_f17dcf1e370a41899273912615208439_G_2_Float, _Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float);
|
|
float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
|
|
Unity_Saturate_float(_Multiply_3a879acbb21c338b8521c05942b7b947_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
|
|
float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
|
|
Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
|
|
float _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float;
|
|
Unity_Branch_float(_Property_b6f16149d3bfbd88baa5ac43fb5dae64_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float);
|
|
float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_709e53664a4175808a76121d09d25807_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
|
|
float4 _Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4 = _WetColor;
|
|
float3 _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3;
|
|
Unity_Multiply_float3_float3((_Property_8840c1241b1970818b9af31262800d88_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3);
|
|
float _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float;
|
|
Unity_OneMinus_float(_Split_f17dcf1e370a41899273912615208439_R_1_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float);
|
|
float3 _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_3ac1653dbccc7f8cad26e46d30161e31_Out_2_Vector3, (_OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float.xxx), _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3);
|
|
float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
|
|
float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_0e097b58999b3a81a966d271197ae20e_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
|
|
float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
|
|
float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
|
|
float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
|
|
float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
|
|
float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
|
|
float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
|
|
float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
|
|
float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
|
|
Unity_Remap_float(_Split_0e097b58999b3a81a966d271197ae20e_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
|
|
float _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float = _Base2Metallic;
|
|
float _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_acf2600fcb63be80977040a14ffe093b_R_1_Float, _Property_da25d24e4fd2108fa3e2cae8cf268ad1_Out_0_Float, _Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float);
|
|
float _Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float = _Base2AORemapMin;
|
|
float _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float = _Base2AORemapMax;
|
|
float2 _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2 = float2(_Property_02bd8e6a672d1f8ebd2c50b4d822d29c_Out_0_Float, _Property_7c7a0acfa72e4a8d9e89fd92eb4fde51_Out_0_Float);
|
|
float _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_G_2_Float, float2 (0, 1), _Vector2_61efe41bd1ca5283ae09f418d56dce98_Out_0_Vector2, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float);
|
|
float _Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float = _Base2SmoothnessRemapMin;
|
|
float _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float = _Base2SmoothnessRemapMax;
|
|
float2 _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2 = float2(_Property_e93e026149f1bb888d5c7f055f55d34c_Out_0_Float, _Property_9e1d05a5f3bb4687bd2a9ef8e632a88c_Out_0_Float);
|
|
float _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float;
|
|
Unity_Remap_float(_Split_acf2600fcb63be80977040a14ffe093b_A_4_Float, float2 (0, 1), _Vector2_d434b3a98fac8f88a713affdbe931846_Out_0_Vector2, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
float3 _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3 = float3(_Multiply_1a54c23c25172e89acacc2ea32718ab1_Out_2_Float, _Remap_09fcf6edbba96e8daee966084ddc87eb_Out_3_Float, _Remap_098b362070432e8e9aa6ed165b86b141_Out_3_Float);
|
|
Bindings_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c;
|
|
float3 _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3;
|
|
SG_HeightBlend_d15b6fb865d3b6d4ebc1fd476c3ad135_float(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Remap_a62dc18837275d80ad5024009a6623c0_Out_3_Float, _Vector3_f4a7e19d772ca88795286111ab15ccc1_Out_0_Vector3, _Multiply_f9e372117ecb6c81967976f391ab99a7_Out_2_Float, _Property_088fd1efe6b3f6879705588500bf30bc_Out_0_Float, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c, _HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3);
|
|
float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
|
|
float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
|
|
Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
|
|
float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
|
|
float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
|
|
float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
|
|
float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
|
|
float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
|
|
float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
|
|
float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
|
|
float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
|
|
Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
|
|
float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_d3702ea647a00788a9589b6dd2f39e3c_OutVector4_1_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
|
|
float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
|
|
float _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float = _WetSmoothness;
|
|
float _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_f4f3a95c24277181b24b3595761cd212_Out_0_Float, _OneMinus_96ca05fe4ea226859a03bc6f096d7a03_Out_1_Float, _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float);
|
|
float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
|
|
float3 _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3;
|
|
Unity_NormalStrength_float((_TriplanarNMn_94262b8ff20a8c88a25d0277ef56ebff_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3);
|
|
float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
Unity_Lerp_float3(_HeightBlend_a07ffbde1a54da85a9f0a69f314eacd6_OutVector4_1_Vector3, _NormalStrength_76b1f6b709c2558a897aa152a50733b3_Out_2_Vector3, (_Branch_068f8150e3ce3e8798a15f7fc289dcbe_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
|
|
surface.BaseColor = _Lerp_baea943bcda39a8ea19b62711fadf2bf_Out_3_Vector3;
|
|
surface.Emission = float3(0, 0, 0);
|
|
surface.Alpha = float(1);
|
|
surface.BentNormal = IN.TangentSpaceNormal;
|
|
surface.Smoothness = _Lerp_ecd6c3b386d31c8da6e133e6167a0428_Out_3_Float;
|
|
surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
|
|
surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
|
|
surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_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
|
|
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.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.metallic = surfaceDescription.Metallic;
|
|
|
|
#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"
|
|
} |