From b82da95b5181ac8bbae38efb13e950d5e88a4caa Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 23 Oct 2020 13:08:43 +0800 Subject: =?UTF-8?q?*=E7=A7=BB=E5=8A=A8amplify=20shader=20editor=E5=88=B0th?= =?UTF-8?q?ird=20party=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs | 215 --------------------- 1 file changed, 215 deletions(-) delete mode 100644 Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs') diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs deleted file mode 100644 index af6325bc..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs +++ /dev/null @@ -1,215 +0,0 @@ -using UnityEngine; -using UnityEditor; -using System; - -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "Matrix From Vectors", "Matrix Operators", "Matrix From Vectors" )] - public sealed class MatrixFromVectors : ParentNode - { - private const string RowFromVector = "Input to Row"; - [SerializeField] - private WirePortDataType m_selectedOutputType = WirePortDataType.FLOAT3x3; - - [SerializeField] - private int m_selectedOutputTypeInt = 0; - - [SerializeField] - private Vector3[] m_defaultValuesV3 = { Vector3.zero, Vector3.zero, Vector3.zero }; - - [SerializeField] - private Vector4[] m_defaultValuesV4 = { Vector4.zero, Vector4.zero, Vector4.zero, Vector4.zero }; - - [SerializeField] - private bool m_rowsFromVector = true; - - private string[] m_defaultValuesStr = { "[0]", "[1]", "[2]", "[3]" }; - - private readonly string[] _outputValueTypes ={ "Matrix3X3", - "Matrix4X4"}; - - private UpperLeftWidgetHelper m_upperLeftWidget = new UpperLeftWidgetHelper(); - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - AddInputPort( WirePortDataType.FLOAT4, false, "[0]" ); - AddInputPort( WirePortDataType.FLOAT4, false, "[1]" ); - AddInputPort( WirePortDataType.FLOAT4, false, "[2]" ); - AddInputPort( WirePortDataType.FLOAT4, false, "[3]" ); - AddOutputPort( m_selectedOutputType, Constants.EmptyPortValue ); - m_textLabelWidth = 90; - m_autoWrapProperties = true; - m_hasLeftDropdown = true; - UpdatePorts(); - } - - public override void AfterCommonInit() - { - base.AfterCommonInit(); - if( PaddingTitleLeft == 0 ) - { - PaddingTitleLeft = Constants.PropertyPickerWidth + Constants.IconsLeftRightMargin; - if( PaddingTitleRight == 0 ) - PaddingTitleRight = Constants.PropertyPickerWidth + Constants.IconsLeftRightMargin; - } - } - - public override void Destroy() - { - base.Destroy(); - m_upperLeftWidget = null; - } - - public override void Draw( DrawInfo drawInfo ) - { - base.Draw( drawInfo ); - EditorGUI.BeginChangeCheck(); - m_selectedOutputTypeInt = m_upperLeftWidget.DrawWidget( this, m_selectedOutputTypeInt, _outputValueTypes ); - if( EditorGUI.EndChangeCheck() ) - { - switch( m_selectedOutputTypeInt ) - { - case 0: m_selectedOutputType = WirePortDataType.FLOAT3x3; break; - case 1: m_selectedOutputType = WirePortDataType.FLOAT4x4; break; - } - - UpdatePorts(); - } - } - - public override void DrawProperties() - { - base.DrawProperties(); - - EditorGUI.BeginChangeCheck(); - m_selectedOutputTypeInt = EditorGUILayoutPopup( "Output type", m_selectedOutputTypeInt, _outputValueTypes ); - if( EditorGUI.EndChangeCheck() ) - { - switch( m_selectedOutputTypeInt ) - { - case 0: m_selectedOutputType = WirePortDataType.FLOAT3x3; break; - case 1: m_selectedOutputType = WirePortDataType.FLOAT4x4; break; - } - - UpdatePorts(); - } - - int count = 0; - switch( m_selectedOutputType ) - { - case WirePortDataType.FLOAT3x3: - count = 3; - for( int i = 0; i < count; i++ ) - { - if( !m_inputPorts[ i ].IsConnected ) - m_defaultValuesV3[ i ] = EditorGUILayoutVector3Field( m_defaultValuesStr[ i ], m_defaultValuesV3[ i ] ); - } - break; - case WirePortDataType.FLOAT4x4: - count = 4; - for( int i = 0; i < count; i++ ) - { - if( !m_inputPorts[ i ].IsConnected ) - m_defaultValuesV4[ i ] = EditorGUILayoutVector4Field( m_defaultValuesStr[ i ], m_defaultValuesV4[ i ] ); - } - break; - } - m_rowsFromVector = EditorGUILayoutToggle( RowFromVector, m_rowsFromVector ); - } - - void UpdatePorts() - { - m_sizeIsDirty = true; - ChangeOutputType( m_selectedOutputType, false ); - switch( m_selectedOutputType ) - { - case WirePortDataType.FLOAT3x3: - m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT3, false ); - m_inputPorts[ 1 ].ChangeType( WirePortDataType.FLOAT3, false ); - m_inputPorts[ 2 ].ChangeType( WirePortDataType.FLOAT3, false ); - m_inputPorts[ 3 ].ChangeType( WirePortDataType.FLOAT3, false ); - m_inputPorts[ 3 ].Visible = false; - break; - case WirePortDataType.FLOAT4x4: - m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT4, false ); - m_inputPorts[ 1 ].ChangeType( WirePortDataType.FLOAT4, false ); - m_inputPorts[ 2 ].ChangeType( WirePortDataType.FLOAT4, false ); - m_inputPorts[ 3 ].ChangeType( WirePortDataType.FLOAT4, false ); - m_inputPorts[ 3 ].Visible = true; - break; - } - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) - { - base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalvar ); - string result = ""; - switch( m_selectedOutputType ) - { - case WirePortDataType.FLOAT3x3: - if( m_rowsFromVector ) - { - result = "float3x3(" + m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + ", " - + m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ) + ", " - + m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ) + ")"; - } - else - { - string vec0 = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); - string vec1 = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); - string vec2 = m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ); - result = string.Format( "float3x3({0}.x,{1}.x,{2}.x,{0}.y,{1}.y,{2}.y,{0}.z,{1}.z,{2}.z )", vec0, vec1, vec2 ); - } - break; - case WirePortDataType.FLOAT4x4: - if( m_rowsFromVector ) - { - result = "float4x4(" + m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + ", " - + m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ) + ", " - + m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ) + ", " - + m_inputPorts[ 3 ].GeneratePortInstructions( ref dataCollector ) + ")"; - } - else - { - string vec0 = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); - string vec1 = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); - string vec2 = m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ); - string vec3 = m_inputPorts[ 3 ].GeneratePortInstructions( ref dataCollector ); - result = string.Format( "float4x4( {0}.x,{1}.x,{2}.x,{3}.x,{0}.y,{1}.y,{2}.y,{3}.y,{0}.z,{1}.z,{2}.z,{3}.z,{0}.w,{1}.w,{2}.w,{3}.w )", vec0, vec1, vec2, vec3 ); - } - break; - } - - return result; - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - m_selectedOutputType = (WirePortDataType)Enum.Parse( typeof( WirePortDataType ), GetCurrentParam( ref nodeParams ) ); - if( UIUtils.CurrentShaderVersion() > 15310 ) - { - m_rowsFromVector = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - } - switch( m_selectedOutputType ) - { - case WirePortDataType.FLOAT3x3: - m_selectedOutputTypeInt = 0; - break; - case WirePortDataType.FLOAT4x4: - m_selectedOutputTypeInt = 1; - break; - } - UpdatePorts(); - } - - public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) - { - base.WriteToString( ref nodeInfo, ref connectionsInfo ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_selectedOutputType ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_rowsFromVector ); - } - } -} -- cgit v1.1-26-g67d0