diff options
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs')
-rw-r--r-- | Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs deleted file mode 100644 index fe15a01e..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs +++ /dev/null @@ -1,103 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using System; - -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "Clamp", "Math Operators", "Value clamped to the range [min,max]" )] - public sealed class ClampOpNode : ParentNode - { - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - AddInputPort( WirePortDataType.FLOAT, false, Constants.EmptyPortValue ); - AddInputPort( WirePortDataType.FLOAT, false, "Min" ); - AddInputPort( WirePortDataType.FLOAT, false, "Max" ); - m_inputPorts[ m_inputPorts.Count - 1 ].FloatInternalData = 1; - AddOutputPort( WirePortDataType.FLOAT, Constants.EmptyPortValue ); - m_useInternalPortData = true; - m_textLabelWidth = 55; - m_previewShaderGUID = "ab6163c4b10bfc84da8e3c486520490a"; - } - - public override void OnInputPortConnected( int portId, int otherNodeId, int otherPortId, bool activateNode = true ) - { - base.OnInputPortConnected( portId, otherNodeId, otherPortId, activateNode ); - if ( portId == 0 ) - { - m_inputPorts[ 0 ].MatchPortToConnection(); - m_inputPorts[ 1 ].ChangeType( m_inputPorts[ 0 ].DataType, false ); - m_inputPorts[ 2 ].ChangeType( m_inputPorts[ 0 ].DataType, false ); - - m_outputPorts[ 0 ].ChangeType( m_inputPorts[ 0 ].DataType, false ); - } - //else - //{ - // _inputPorts[ portId ].MatchPortToConnection(); - //} - } - - public override void OnConnectedOutputNodeChanges( int outputPortId, int otherNodeId, int otherPortId, string name, WirePortDataType type ) - { - base.OnConnectedOutputNodeChanges( outputPortId, otherNodeId, otherPortId, name, type ); - if ( outputPortId == 0 ) - { - m_inputPorts[ 0 ].MatchPortToConnection(); - m_inputPorts[ 1 ].ChangeType( m_inputPorts[ 0 ].DataType, false ); - m_inputPorts[ 2 ].ChangeType( m_inputPorts[ 0 ].DataType, false ); - m_outputPorts[ 0 ].ChangeType( m_inputPorts[ 0 ].DataType, false ); - } - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { - if ( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ); - - WirePortDataType valueType = m_inputPorts[ 0 ].ConnectionType(); - WirePortDataType minType = m_inputPorts[ 1 ].ConnectionType(); - WirePortDataType maxType = m_inputPorts[ 2 ].ConnectionType(); - - string value = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); - string min = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); - if ( minType != valueType ) - { - min = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, new NodeCastInfo( UniqueId, outputId ), null, m_inputPorts[ 1 ].DataType, m_inputPorts[ 0 ].DataType, min ); - } - - string max = m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ); - if ( maxType != valueType ) - { - max = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, new NodeCastInfo( UniqueId, outputId ), null, m_inputPorts[ 2 ].DataType, m_inputPorts[ 0 ].DataType, max ); - } - - string result = string.Empty; - switch ( valueType ) - { - case WirePortDataType.FLOAT: - case WirePortDataType.FLOAT2: - case WirePortDataType.FLOAT3: - case WirePortDataType.FLOAT4: - case WirePortDataType.INT: - case WirePortDataType.COLOR: - case WirePortDataType.OBJECT: - { - result = "clamp( " + value + " , " + min + " , " + max + " )"; - } - break; - case WirePortDataType.FLOAT3x3: - case WirePortDataType.FLOAT4x4: - { - return UIUtils.InvalidParameter( this ); - } - } - - RegisterLocalVariable( 0, result, ref dataCollector, "clampResult" + OutputId ); - return m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ); - } - - } -} |