diff options
author | chai <chaifix@163.com> | 2020-10-23 13:08:43 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-10-23 13:08:43 +0800 |
commit | b82da95b5181ac8bbae38efb13e950d5e88a4caa (patch) | |
tree | 48a6f3269276484bbc7cfc95f0651f40a2176aa1 /Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs | |
parent | 917e9e0b320775634dc2e710f7deac74fd0822f0 (diff) |
*移动amplify shader editor到third party目录
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs')
-rw-r--r-- | Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs deleted file mode 100644 index cc6db43d..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs +++ /dev/null @@ -1,168 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using UnityEngine; -using System; - -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "Depth Fade", "Surface Data", "Outputs a linear gradient representing the distance between the surface of this object and geometry behind" )] - public sealed class DepthFade : ParentNode - { - private const string ConvertToLinearStr = "Convert To Linear"; - private const string SaturateStr = "Saturate"; - private const string MirrorStr = "Mirror"; - - [SerializeField] - private bool m_convertToLinear = true; - - [SerializeField] - private bool m_saturate = false; - - [SerializeField] - private bool m_mirror = true; - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - AddInputPort( WirePortDataType.FLOAT3, false, "Vertex Position", -1, MasterNodePortCategory.Fragment, 1 ); - AddInputPort( WirePortDataType.FLOAT, false, "Distance",-1,MasterNodePortCategory.Fragment,0 ); - GetInputPortByUniqueId(0).FloatInternalData = 1; - AddOutputPort( WirePortDataType.FLOAT, "Out" ); - m_useInternalPortData = true; - m_autoWrapProperties = true; - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) - { - if( dataCollector.PortCategory == MasterNodePortCategory.Tessellation ) - { - UIUtils.ShowNoVertexModeNodeMessage( this ); - return "0"; - } - - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return GetOutputColorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - - if( !( dataCollector.IsTemplate && dataCollector.IsSRP ) ) - dataCollector.AddToIncludes( UniqueId, Constants.UnityCgLibFuncs ); - - if( !dataCollector.IsTemplate || dataCollector.TemplateDataCollectorInstance.CurrentSRPType != TemplateSRPType.HD ) - { - if( dataCollector.IsTemplate && dataCollector.CurrentSRPType == TemplateSRPType.Lightweight ) - { - //dataCollector.AddToUniforms( UniqueId, Constants.CameraDepthTextureSRPVar ); - //dataCollector.AddToUniforms( UniqueId, Constants.CameraDepthTextureSRPSampler ); - dataCollector.AddToDirectives( Constants.CameraDepthTextureLWEnabler, -1, AdditionalLineType.Define ); - } - else - { - dataCollector.AddToUniforms( UniqueId, Constants.CameraDepthTextureValue ); - } - - dataCollector.AddToUniforms( UniqueId, Constants.CameraDepthTextureTexelSize ); - } - - string screenPosNorm = string.Empty; - InputPort vertexPosPort = GetInputPortByUniqueId( 1 ); - if( vertexPosPort.IsConnected ) - { - string vertexPosVar = "vertexPos" + OutputId; - GenerateInputInVertex( ref dataCollector, 1, vertexPosVar, false ); - screenPosNorm = GeneratorUtils.GenerateScreenPositionNormalizedForValue( vertexPosVar, OutputId, ref dataCollector, UniqueId, CurrentPrecisionType, !dataCollector.UsingCustomScreenPos ); - } - else - { - if( dataCollector.IsTemplate ) - { - string ppsScreenPos = string.Empty; - if( !dataCollector.TemplateDataCollectorInstance.GetCustomInterpolatedData( TemplateInfoOnSematics.SCREEN_POSITION_NORMALIZED, WirePortDataType.FLOAT4, PrecisionType.Float, ref ppsScreenPos, true, MasterNodePortCategory.Fragment ) ) - { - screenPosNorm = GeneratorUtils.GenerateScreenPositionNormalized( ref dataCollector, UniqueId, CurrentPrecisionType, !dataCollector.UsingCustomScreenPos ); - } - else - { - screenPosNorm = ppsScreenPos; - } - } - else - { - screenPosNorm = GeneratorUtils.GenerateScreenPositionNormalized( ref dataCollector, UniqueId, CurrentPrecisionType, !dataCollector.UsingCustomScreenPos ); - } - } - - string screenDepth = TemplateHelperFunctions.CreateDepthFetch( dataCollector, screenPosNorm ); - if( m_convertToLinear ) - { - if( dataCollector.IsTemplate && dataCollector.IsSRP ) - screenDepth = string.Format( "LinearEyeDepth({0},_ZBufferParams)", screenDepth ); - else - screenDepth = string.Format( "LinearEyeDepth({0})", screenDepth ); - } - else - { - screenDepth = string.Format( "({0}*( _ProjectionParams.z - _ProjectionParams.y ))", screenDepth ); - } - - string distance = GetInputPortByUniqueId( 0 ).GeneratePortInstructions( ref dataCollector ); - - dataCollector.AddLocalVariable( UniqueId, "float screenDepth" + OutputId + " = " + screenDepth + ";" ); - - string finalVarName = "distanceDepth" + OutputId; - string finalVarValue = string.Empty; - if( dataCollector.IsTemplate && dataCollector.IsSRP ) - finalVarValue = "( screenDepth" + OutputId + " - LinearEyeDepth( " + screenPosNorm + ".z,_ZBufferParams ) ) / ( " + distance + " )"; - else - finalVarValue = "( screenDepth" + OutputId + " - LinearEyeDepth( " + screenPosNorm + ".z ) ) / ( " + distance + " )"; - - if( m_mirror ) - { - finalVarValue = string.Format( "abs( {0} )", finalVarValue ); - } - - if( m_saturate ) - { - finalVarValue = string.Format( "saturate( {0} )", finalVarValue ); - } - - dataCollector.AddLocalVariable( UniqueId, CurrentPrecisionType, WirePortDataType.FLOAT, finalVarName, finalVarValue ); - m_outputPorts[ 0 ].SetLocalValue( finalVarName, dataCollector.PortCategory ); - return GetOutputColorItem( 0, outputId, finalVarName ); - } - - public override void DrawProperties() - { - base.DrawProperties(); - m_convertToLinear = EditorGUILayoutToggle( ConvertToLinearStr, m_convertToLinear ); - m_mirror = EditorGUILayoutToggle( MirrorStr, m_mirror ); - m_saturate = EditorGUILayoutToggle( SaturateStr, m_saturate ); - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - if( UIUtils.CurrentShaderVersion() >= 13901 ) - { - m_convertToLinear = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - } - if( UIUtils.CurrentShaderVersion() > 15607 ) - { - m_saturate = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - } - - if( UIUtils.CurrentShaderVersion() > 15700 ) - { - m_mirror = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - } - } - - public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) - { - base.WriteToString( ref nodeInfo, ref connectionsInfo ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_convertToLinear ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_saturate ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_mirror ); - } - } -} |