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/SurfaceShaderInputs | |
parent | 917e9e0b320775634dc2e710f7deac74fd0822f0 (diff) |
*移动amplify shader editor到third party目录
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs')
30 files changed, 0 insertions, 2641 deletions
diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs deleted file mode 100644 index e4223e1b..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs +++ /dev/null @@ -1,17 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -namespace AmplifyShaderEditor -{ - [System.Serializable] - [NodeAttributes( "Color", "Surface Data", "Interpolated per-vertex color", null, UnityEngine.KeyCode.None, true, true, "Vertex Color", typeof( VertexColorNode ) )] - public sealed class ColorInputsNode : SurfaceShaderINParentNode - { - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - m_currentInput = SurfaceInputs.COLOR; - InitialSetup(); - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs.meta deleted file mode 100644 index 8f36faf6..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: ee44f086d7aa7804ea035860c5735cfb -timeCreated: 1481126960 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs deleted file mode 100644 index 3e2a5117..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs +++ /dev/null @@ -1,118 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using System; -using UnityEditor; -using UnityEngine; - -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "Grab Screen Position", "Camera And Screen", "Screen position correctly transformed to be used with Grab Screen Color" )] - public sealed class GrabScreenPosition : ParentNode - { - private readonly string[] m_outputTypeStr = { "Normalized", "Screen" }; - - [SerializeField] - private int m_outputTypeInt = 0; - - private UpperLeftWidgetHelper m_upperLeftWidget = new UpperLeftWidgetHelper(); - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - AddOutputVectorPorts( WirePortDataType.FLOAT4, "XYZW" ); - m_autoWrapProperties = true; - m_hasLeftDropdown = true; - m_textLabelWidth = 65; - ConfigureHeader(); - } - - 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_outputTypeInt = m_upperLeftWidget.DrawWidget( this, m_outputTypeInt, m_outputTypeStr ); - if( EditorGUI.EndChangeCheck() ) - { - ConfigureHeader(); - } - } - - public override void DrawProperties() - { - base.DrawProperties(); - - EditorGUI.BeginChangeCheck(); - m_outputTypeInt = EditorGUILayoutPopup( "Type", m_outputTypeInt, m_outputTypeStr ); - if( EditorGUI.EndChangeCheck() ) - { - ConfigureHeader(); - } - } - - void ConfigureHeader() - { - SetAdditonalTitleText( string.Format( Constants.SubTitleTypeFormatStr, m_outputTypeStr[ m_outputTypeInt ] ) ); - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return GetOutputColorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - - string localVarName = string.Empty; - - if( m_outputTypeInt == 0 ) - localVarName = GeneratorUtils.GenerateGrabScreenPositionNormalized( ref dataCollector, UniqueId, CurrentPrecisionType, !dataCollector.UsingCustomScreenPos ); - else - localVarName = GeneratorUtils.GenerateGrabScreenPosition( ref dataCollector, UniqueId, CurrentPrecisionType, !dataCollector.UsingCustomScreenPos ); - - m_outputPorts[ 0 ].SetLocalValue( localVarName, dataCollector.PortCategory ); - return GetOutputColorItem( 0, outputId, localVarName ); - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - if( UIUtils.CurrentShaderVersion() > 3108 ) - { - if( UIUtils.CurrentShaderVersion() < 6102 ) - { - bool project = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - m_outputTypeInt = project ? 0 : 1; - } - else - { - m_outputTypeInt = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); - } - } - - ConfigureHeader(); - } - - public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) - { - base.WriteToString( ref nodeInfo, ref connectionsInfo ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_outputTypeInt ); - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs.meta deleted file mode 100644 index 5a57543d..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 47af62ad6a29d1b409d526d352b5e677 -timeCreated: 1485198163 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs deleted file mode 100644 index 785e39fa..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs +++ /dev/null @@ -1,50 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using System; -using UnityEngine; - -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "[Deprecated] Local Position", "Surface Data", "Interpolated Vertex Position in Local Space", null, KeyCode.None, true, true, "Vertex Position", typeof( PosVertexDataNode ) )] - public sealed class LocalVertexPosNode : ParentNode - { - private const string VertexVarName = "localVertexPos"; - private readonly string VertexOnFrag = Constants.InputVarStr + "." + VertexVarName; - private readonly string VertexOnVert = Constants.VertexShaderInputStr + ".vertex"; - - - [SerializeField] - private bool m_addInstruction = false; - - public override void Reset() - { - base.Reset(); - m_addInstruction = true; - } - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - AddOutputVectorPorts( WirePortDataType.FLOAT3, "XYZ" ); - } - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) - { - if ( dataCollector.PortCategory == MasterNodePortCategory.Vertex || dataCollector.PortCategory == MasterNodePortCategory.Tessellation ) - { - return GetOutputVectorItem( 0, outputId, VertexOnVert ); - } - else - { - if ( m_addInstruction ) - { - dataCollector.AddToInput( UniqueId, VertexVarName, WirePortDataType.FLOAT3 ); - dataCollector.AddVertexInstruction( Constants.VertexShaderOutputStr + "." + VertexVarName + " = " + Constants.VertexShaderInputStr + ".vertex.xyz ", UniqueId ); - m_addInstruction = false; - } - - return GetOutputVectorItem( 0, outputId, VertexOnFrag ); - } - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs.meta deleted file mode 100644 index 91b6b542..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 2528fbf85b5823a4499871c2a6eecc0a -timeCreated: 1481126954 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs deleted file mode 100644 index 60a7f230..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs +++ /dev/null @@ -1,678 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using UnityEngine; -using UnityEditor; -using System; - -namespace AmplifyShaderEditor -{ - - [Serializable] - [NodeAttributes( "Grab Screen Color", "Camera And Screen", "Grabed pixel color value from screen" )] - public sealed class ScreenColorNode : PropertyNode - { -#if UNITY_5_6_OR_NEWER - private readonly string[] ASEDeclareMacro = - { - "#if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)", - "#define ASE_DECLARE_SCREENSPACE_TEXTURE(tex) UNITY_DECLARE_SCREENSPACE_TEXTURE(tex);", - "#else", - "#define ASE_DECLARE_SCREENSPACE_TEXTURE(tex) UNITY_DECLARE_SCREENSPACE_TEXTURE(tex)", - "#endif" - }; -#endif - private readonly Color ReferenceHeaderColor = new Color( 0.6f, 3.0f, 1.25f, 1.0f ); - - private const string SamplerType = "tex2D"; - private const string GrabTextureDefault = "_GrabTexture"; - private const string ScreenColorStr = "screenColor"; - - [SerializeField] - private TexReferenceType m_referenceType = TexReferenceType.Object; - - [SerializeField] - private int m_referenceArrayId = -1; - - [SerializeField] - private int m_referenceNodeId = -1; - - [SerializeField] - private GUIStyle m_referenceIconStyle = null; - - private ScreenColorNode m_referenceNode = null; - - [SerializeField] - private bool m_normalize = false; - - [SerializeField] - private bool m_useCustomGrab = false; - - [SerializeField] - private float m_referenceWidth = -1; - - //SRP specific code - private const string OpaqueTextureDefine = "REQUIRE_OPAQUE_TEXTURE 1"; - private const string FetchVarName = "fetchOpaqueVal"; - - //private string LWFetchOpaqueTexture = "SAMPLE_TEXTURE2D( _CameraOpaqueTexture, sampler_CameraOpaqueTexture, {0})"; - private string LWFetchOpaqueTexture = "float4( SHADERGRAPH_SAMPLE_SCENE_COLOR( {0} ), 1.0 )"; -#if UNITY_2018_3_OR_NEWER - private const string HDSampleSceneColorHeader5 = "ASEHDSampleSceneColor({0}, {1}, {2})"; - private readonly string[] HDSampleSceneColorFunc5 = - { - "float4 ASEHDSampleSceneColor(float2 uv, float lod, float exposureMultiplier)\n", - "{\n", - "\t#if defined(REQUIRE_OPAQUE_TEXTURE) && defined(_SURFACE_TYPE_TRANSPARENT) && defined(SHADERPASS) && (SHADERPASS != SHADERPASS_LIGHT_TRANSPORT)\n", - "\treturn float4( SampleCameraColor(uv, lod) * exposureMultiplier, 1.0 );\n", - "\t#endif\n", - "\treturn float4(0.0, 0.0, 0.0, 1.0);\n", - "}\n", - }; - - private const string HDSampleSceneColorHeader4 = "ASEHDSampleSceneColor({0})"; - private readonly string[] HDSampleSceneColorFunc4 = - { - "float4 ASEHDSampleSceneColor( float2 uv )\n", - "{\n", - "\t#if defined(REQUIRE_OPAQUE_TEXTURE) && defined(_SURFACE_TYPE_TRANSPARENT) && defined(SHADERPASS) && (SHADERPASS != SHADERPASS_LIGHT_TRANSPORT)\n", - "\treturn float4( SampleCameraColor(uv), 1.0 );\n", - "\t#endif\n", - "\treturn float4(0.0, 0.0, 0.0, 1.0);\n", - "}\n", - }; -#endif - -#if !UNITY_2018_3_OR_NEWER - // Legacy SRP code - private const string DeclareOpaqueTextureObject = "TEXTURE2D( _CameraOpaqueTexture);"; - private const string DeclareOpaqueTextureSampler = "SAMPLER( sampler_CameraOpaqueTexture);"; -#endif - public ScreenColorNode() : base() { } - public ScreenColorNode( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) { } - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - - AddInputPort( WirePortDataType.FLOAT2, false, "UV" ); - AddOutputColorPorts( "RGBA" ); - - m_currentParameterType = PropertyType.Global; - m_underscoredGlobal = true; - m_useVarSubtitle = true; - m_customPrefix = "Grab Screen "; - m_freeType = false; - m_drawAttributes = false; - m_showTitleWhenNotEditing = false; - m_textLabelWidth = 125; - m_showAutoRegisterUI = true; - m_globalDefaultBehavior = false; - m_showVariableMode = true; - } - - protected override void OnUniqueIDAssigned() - { - base.OnUniqueIDAssigned(); - if( m_referenceType == TexReferenceType.Object ) - UIUtils.RegisterScreenColorNode( this ); - - if( UniqueId > -1 ) - ContainerGraph.ScreenColorNodes.OnReorderEventComplete += OnReorderEventComplete; - - } - - private void OnReorderEventComplete() - { - if( m_referenceType == TexReferenceType.Instance && m_referenceNode != null ) - { - m_referenceArrayId = ContainerGraph.ScreenColorNodes.GetNodeRegisterIdx( m_referenceNode.UniqueId ); - } - } - - void UpdateHeaderColor() - { - m_headerColorModifier = ( m_referenceType == TexReferenceType.Object ) ? Color.white : ReferenceHeaderColor; - } - - public override void OnNodeLogicUpdate( DrawInfo drawInfo ) - { - base.OnNodeLogicUpdate( drawInfo ); - if( m_referenceNodeId > -1 && m_referenceNode == null ) - { - m_referenceNode = UIUtils.GetScreenColorNode( m_referenceNodeId ) as ScreenColorNode; - if( m_referenceNode == null ) - { - m_referenceNodeId = -1; - m_referenceArrayId = -1; - m_sizeIsDirty = true; - } - } - - if( m_showSubtitle == m_containerGraph.IsSRP ) - { - m_showSubtitle = !m_containerGraph.IsSRP; - m_sizeIsDirty = true; - } - } - - protected override void ChangeSizeFinished() - { - if( m_referenceType == TexReferenceType.Instance ) - { - m_position.width += 20; - } - } - - public override void Draw( DrawInfo drawInfo ) - { - base.Draw( drawInfo ); - - CheckReference(); - - if( SoftValidReference ) - { - m_content.text = m_referenceNode.TitleContent.text + Constants.InstancePostfixStr; - SetAdditonalTitleText( m_referenceNode.AdditonalTitleContent.text ); - - if( m_referenceIconStyle == null ) - { - m_referenceIconStyle = UIUtils.GetCustomStyle( CustomStyle.SamplerTextureIcon ); - } - - Rect iconPos = m_globalPosition; - iconPos.width = 19 * drawInfo.InvertedZoom; - iconPos.height = 19 * drawInfo.InvertedZoom; - - iconPos.y += 6 * drawInfo.InvertedZoom; - iconPos.x += m_globalPosition.width - iconPos.width - 7 * drawInfo.InvertedZoom; - - if( GUI.Button( iconPos, string.Empty, m_referenceIconStyle ) ) - { - UIUtils.FocusOnNode( m_referenceNode, 1, true ); - } - } - } - - void CheckReference() - { - if( m_referenceType != TexReferenceType.Instance ) - { - return; - } - - if( m_referenceArrayId > -1 ) - { - ParentNode newNode = UIUtils.GetScreenColorNode( m_referenceArrayId ); - if( newNode == null || newNode.UniqueId != m_referenceNodeId ) - { - m_referenceNode = null; - int count = UIUtils.GetScreenColorNodeAmount(); - for( int i = 0; i < count; i++ ) - { - ParentNode node = UIUtils.GetScreenColorNode( i ); - if( node.UniqueId == m_referenceNodeId ) - { - m_referenceNode = node as ScreenColorNode; - m_referenceArrayId = i; - break; - } - } - } - } - - if( m_referenceNode == null && m_referenceNodeId > -1 ) - { - m_referenceNodeId = -1; - m_referenceArrayId = -1; - } - } - - public override void DrawMainPropertyBlock() - { - EditorGUI.BeginChangeCheck(); - m_referenceType = (TexReferenceType)EditorGUILayoutPopup( Constants.ReferenceTypeStr, (int)m_referenceType, Constants.ReferenceArrayLabels ); - if( EditorGUI.EndChangeCheck() ) - { - m_sizeIsDirty = true; - if( m_referenceType == TexReferenceType.Object ) - { - UIUtils.RegisterScreenColorNode( this ); - m_content.text = m_propertyInspectorName; - } - else - { - UIUtils.UnregisterScreenColorNode( this ); - if( SoftValidReference ) - { - m_content.text = m_referenceNode.TitleContent.text + Constants.InstancePostfixStr; - } - } - UpdateHeaderColor(); - } - - if( m_referenceType == TexReferenceType.Object ) - { - EditorGUI.BeginDisabledGroup( m_containerGraph.IsSRP ); - { - EditorGUI.BeginChangeCheck(); - m_useCustomGrab = EditorGUILayoutToggle( "Custom Grab Pass", m_useCustomGrab ); - EditorGUI.BeginDisabledGroup( !m_useCustomGrab ); - DrawMainPropertyBlockNoPrecision(); - EditorGUI.EndDisabledGroup(); - - m_normalize = EditorGUILayoutToggle( "Normalize", m_normalize ); - if( EditorGUI.EndChangeCheck() ) - { - UpdatePort(); - if( m_useCustomGrab ) - { - BeginPropertyFromInspectorCheck(); - } - } - } - EditorGUI.EndDisabledGroup(); - } - else - { - string[] arr = UIUtils.ScreenColorNodeArr(); - bool guiEnabledBuffer = GUI.enabled; - if( arr != null && arr.Length > 0 ) - { - GUI.enabled = true; - } - else - { - m_referenceArrayId = -1; - GUI.enabled = false; - } - - m_referenceArrayId = EditorGUILayoutPopup( Constants.AvailableReferenceStr, m_referenceArrayId, arr ); - GUI.enabled = guiEnabledBuffer; - EditorGUI.BeginDisabledGroup( m_containerGraph.IsSRP ); - { - EditorGUI.BeginChangeCheck(); - m_normalize = EditorGUILayoutToggle( "Normalize", m_normalize ); - if( EditorGUI.EndChangeCheck() ) - { - UpdatePort(); - } - } - EditorGUI.EndDisabledGroup(); - } - ShowVariableMode(); - ShowAutoRegister(); - } - - private void UpdatePort() - { - if( m_normalize ) - m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT4, false ); - else - m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT2, false ); - } - - public override void DrawTitle( Rect titlePos ) - { - if( !m_isEditing && ContainerGraph.LodLevel <= ParentGraph.NodeLOD.LOD3 ) - { - GUI.Label( titlePos, "Grab Screen Color", UIUtils.GetCustomStyle( CustomStyle.NodeTitle ) ); - } - - if( m_useCustomGrab || SoftValidReference ) - { - base.DrawTitle( titlePos ); - m_previousAdditonalTitle = m_additionalContent.text; - } - else - if( ContainerGraph.LodLevel <= ParentGraph.NodeLOD.LOD3 ) - { - SetAdditonalTitleTextOnCallback( GrabTextureDefault, ( instance, newSubTitle ) => instance.AdditonalTitleContent.text = string.Format( Constants.SubTitleVarNameFormatStr, newSubTitle ) ); - //GUI.Label( titlePos, PropertyInspectorName, UIUtils.GetCustomStyle( CustomStyle.NodeTitle ) ); - } - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { -#if UNITY_5_6_OR_NEWER - if( !dataCollector.IsTemplate || dataCollector.CurrentSRPType == TemplateSRPType.BuiltIn ) - { - for( int i = 0; i < ASEDeclareMacro.Length; i++ ) - { - dataCollector.AddToDirectives( ASEDeclareMacro[ i ]); - } - } -#endif - -#if !UNITY_2018_3_OR_NEWER - if( dataCollector.IsTemplate && dataCollector.CurrentSRPType == TemplateSRPType.HD ) - { - UIUtils.ShowMessage( UniqueId, "GrabPasses are not supported on Unity HD Scriptable Rendering Pipeline old versions." ); - return GetOutputColorItem( 0, outputId, "(0).xxxx" ); - } -#endif - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return GetOutputColorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - - string valueName = string.Empty; - if( dataCollector.IsSRP ) - { -#if !UNITY_2018_3_OR_NEWER - dataCollector.AddToUniforms( UniqueId, DeclareOpaqueTextureObject ); - dataCollector.AddToUniforms( UniqueId, DeclareOpaqueTextureSampler ); -#endif - valueName = FetchVarName + OutputId; - dataCollector.AddToDirectives( OpaqueTextureDefine, -1 , AdditionalLineType.Define); - string uvCoords = GetUVCoords( ref dataCollector, ignoreLocalVar, false ); - if( dataCollector.TemplateDataCollectorInstance.IsLWRP ) - { - dataCollector.AddLocalVariable( UniqueId, CurrentPrecisionType, WirePortDataType.FLOAT4, valueName, string.Format( LWFetchOpaqueTexture, uvCoords ) ); - } - else - { -#if UNITY_2018_3_OR_NEWER - if( ASEPackageManagerHelper.CurrentHDVersion >= ASESRPVersions.ASE_SRP_5_13_0 ) - { - dataCollector.AddFunction( HDSampleSceneColorFunc5[ 0 ], HDSampleSceneColorFunc5, false ); - dataCollector.AddLocalVariable( UniqueId, m_currentPrecisionType, WirePortDataType.FLOAT4, valueName, string.Format( HDSampleSceneColorHeader5, uvCoords, "0", "GetInverseCurrentExposureMultiplier()" ) ); - } - else - { - dataCollector.AddFunction( HDSampleSceneColorFunc4[ 0 ], HDSampleSceneColorFunc4, false ); - dataCollector.AddLocalVariable( UniqueId, m_currentPrecisionType, WirePortDataType.FLOAT4, valueName, string.Format( HDSampleSceneColorHeader4, uvCoords ) ); - } -#endif - } - } - else - { - base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalVar ); - string propertyName = CurrentPropertyReference; - OnPropertyNameChanged(); - //bool emptyName = string.IsNullOrEmpty( m_propertyInspectorName ) || propertyName == GrabTextureDefault; - bool emptyName = string.IsNullOrEmpty( m_propertyInspectorName ) || !m_useCustomGrab; - dataCollector.AddGrabPass( emptyName ? string.Empty : propertyName ); - valueName = SetFetchedData( ref dataCollector, ignoreLocalVar ); - } - - m_outputPorts[ 0 ].SetLocalValue( valueName, dataCollector.PortCategory ); - return GetOutputColorItem( 0, outputId, valueName ); - } - - - public override void OnPropertyNameChanged() - { - base.OnPropertyNameChanged(); - UIUtils.UpdateScreenColorDataNode( UniqueId, DataToArray ); - } - - public string SetFetchedData( ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { - string propertyName = CurrentPropertyReference; - - bool isProjecting = m_normalize; - - if( !m_inputPorts[ 0 ].IsConnected ) // to generate proper screen pos by itself - isProjecting = true; - - if( ignoreLocalVar ) - { - string samplerValue = SamplerType + ( isProjecting ? "proj" : "" ) + "( " + propertyName + ", " + GetUVCoords( ref dataCollector, ignoreLocalVar, isProjecting ) + " )"; - return samplerValue; - } - - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ); - - string uvValue = GetUVCoords( ref dataCollector, ignoreLocalVar, isProjecting ); -#if UNITY_5_6_OR_NEWER - if( isProjecting ) - { - uvValue = string.Format( "{0}.xy/{0}.w", uvValue ); - } - string samplerOp = string.Format( "UNITY_SAMPLE_SCREENSPACE_TEXTURE({0},{1})", propertyName, uvValue ); -#else - string samplerOp = SamplerType + ( isProjecting ? "proj" : "" ) + "( " + propertyName + ", " + uvValue + " )"; -#endif - dataCollector.AddLocalVariable( UniqueId, UIUtils.PrecisionWirePortToCgType( CurrentPrecisionType, m_outputPorts[ 0 ].DataType ) + " " + ScreenColorStr + OutputId + " = " + samplerOp + ";" ); - return ScreenColorStr + OutputId; - } - - private string GetUVCoords( ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar, bool isProjecting ) - { - string result = string.Empty; - - if( m_inputPorts[ 0 ].IsConnected ) - { - result = m_inputPorts[ 0 ].GenerateShaderForOutput( ref dataCollector, ( isProjecting ? WirePortDataType.FLOAT4 : WirePortDataType.FLOAT2 ), ignoreLocalVar, true ); - } - else - { - string customScreenPos = null; - - if( dataCollector.IsTemplate ) - customScreenPos = dataCollector.TemplateDataCollectorInstance.GetScreenPos( CurrentPrecisionType ); - - if( isProjecting ) - result = GeneratorUtils.GenerateGrabScreenPosition( ref dataCollector, UniqueId, CurrentPrecisionType, !dataCollector.UsingCustomScreenPos, customScreenPos ); - else - result = GeneratorUtils.GenerateGrabScreenPositionNormalized( ref dataCollector, UniqueId, CurrentPrecisionType, !dataCollector.UsingCustomScreenPos, customScreenPos ); - } - - if( isProjecting && !dataCollector.IsSRP ) -#if UNITY_5_6_OR_NEWER - return result; -#else - return "UNITY_PROJ_COORD( " + result + " )"; -#endif - else - return result; - } - - public override void Destroy() - { - base.Destroy(); - if( m_referenceType == TexReferenceType.Object ) - { - UIUtils.UnregisterScreenColorNode( this ); - } - if( UniqueId > -1 ) - ContainerGraph.ScreenColorNodes.OnReorderEventComplete -= OnReorderEventComplete; - } - - public bool SoftValidReference - { - get - { - if( m_referenceType == TexReferenceType.Instance && m_referenceArrayId > -1 ) - { - m_referenceNode = UIUtils.GetScreenColorNode( m_referenceArrayId ); - if( m_referenceNode == null ) - { - m_referenceArrayId = -1; - m_referenceWidth = -1; - } - else if( m_referenceWidth != m_referenceNode.Position.width ) - { - m_referenceWidth = m_referenceNode.Position.width; - m_sizeIsDirty = true; - } - return m_referenceNode != null; - } - return false; - } - } - - public string CurrentPropertyReference - { - get - { - string propertyName = string.Empty; - if( m_referenceType == TexReferenceType.Instance && m_referenceArrayId > -1 ) - { - ScreenColorNode node = UIUtils.GetScreenColorNode( m_referenceArrayId ); - propertyName = ( node != null ) ? node.PropertyName : m_propertyName; - } - else if( !m_useCustomGrab ) - { - propertyName = GrabTextureDefault; - } - else - { - propertyName = m_propertyName; - } - return propertyName; - } - } - - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - if( UIUtils.CurrentShaderVersion() > 12 ) - { - m_referenceType = (TexReferenceType)Enum.Parse( typeof( TexReferenceType ), GetCurrentParam( ref nodeParams ) ); - if( UIUtils.CurrentShaderVersion() > 22 ) - { - m_referenceNodeId = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); - } - else - { - m_referenceArrayId = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); - } - - if( m_referenceType == TexReferenceType.Instance ) - { - UIUtils.UnregisterScreenColorNode( this ); - } - - UpdateHeaderColor(); - } - - if( UIUtils.CurrentShaderVersion() > 12101 ) - { - m_useCustomGrab = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - } - else - { - m_useCustomGrab = true; - } - - if( UIUtils.CurrentShaderVersion() > 14102 ) - { - m_normalize = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - } - - if( !m_isNodeBeingCopied && m_referenceType == TexReferenceType.Object ) - { - ContainerGraph.ScreenColorNodes.UpdateDataOnNode( UniqueId, DataToArray ); - } - } - - public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) - { - base.WriteToString( ref nodeInfo, ref connectionsInfo ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_referenceType ); - IOUtils.AddFieldValueToString( ref nodeInfo, ( ( m_referenceNode != null ) ? m_referenceNode.UniqueId : -1 ) ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_useCustomGrab ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_normalize ); - } - - public override void RefreshExternalReferences() - { - base.RefreshExternalReferences(); - if( m_referenceType == TexReferenceType.Instance ) - { - if( UIUtils.CurrentShaderVersion() > 22 ) - { - m_referenceNode = UIUtils.GetNode( m_referenceNodeId ) as ScreenColorNode; - m_referenceArrayId = UIUtils.GetScreenColorNodeRegisterId( m_referenceNodeId ); - } - else - { - m_referenceNode = UIUtils.GetScreenColorNode( m_referenceArrayId ); - if( m_referenceNode != null ) - { - m_referenceNodeId = m_referenceNode.UniqueId; - } - } - } - - if( UIUtils.CurrentShaderVersion() <= 14102 ) - { - if( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT4 ) - m_normalize = true; - else - m_normalize = false; - } - } - - public override string PropertyName - { - get - { - if( m_useCustomGrab ) - return base.PropertyName; - else - return GrabTextureDefault; - } - } - - public override string GetPropertyValStr() - { - return PropertyName; - } - - public override string DataToArray { get { return m_propertyName; } } - - public override string GetUniformValue() - { - if( SoftValidReference ) - { - if( m_referenceNode.IsConnected ) - return string.Empty; - - return m_referenceNode.GetUniformValue(); - } -#if UNITY_5_6_OR_NEWER - return "ASE_DECLARE_SCREENSPACE_TEXTURE( " + PropertyName + " )"; -#else - return "uniform sampler2D " + PropertyName + ";"; -#endif - } - - public override bool GetUniformData( out string dataType, out string dataName, ref bool fullValue ) - { - if( SoftValidReference ) - { - //if ( m_referenceNode.IsConnected ) - //{ - // dataType = string.Empty; - // dataName = string.Empty; - //} - - return m_referenceNode.GetUniformData( out dataType, out dataName, ref fullValue ); - } -#if UNITY_5_6_OR_NEWER - dataName = "ASE_DECLARE_SCREENSPACE_TEXTURE( " + PropertyName + " )"; - dataType = string.Empty; - fullValue = true; -#else - dataType = "sampler2D"; - dataName = PropertyName; -#endif - return true; - } - - public override void CheckIfAutoRegister( ref MasterNodeDataCollector dataCollector ) - { - if( m_autoRegister && m_connStatus != NodeConnectionStatus.Connected ) - { - RegisterProperty( ref dataCollector ); - string propertyName = CurrentPropertyReference; - bool emptyName = string.IsNullOrEmpty( m_propertyInspectorName ) || propertyName == GrabTextureDefault; - dataCollector.AddGrabPass( emptyName ? string.Empty : propertyName ); - } - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs.meta deleted file mode 100644 index 2012d503..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b266c7cca236bcb469d6d4f13df55df5 -timeCreated: 1481126958 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs deleted file mode 100644 index d08d1c80..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs +++ /dev/null @@ -1,173 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using UnityEngine; -using UnityEditor; - -using System; -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "Screen Depth", "Camera And Screen", "Given a screen position returns the depth of the scene to the object as seen by the camera" )] - public sealed class ScreenDepthNode : ParentNode - { - [SerializeField] - private bool m_convertToLinear = true; - - [SerializeField] - private int m_viewSpaceInt = 0; - - private const string ConvertToLinearStr = "Convert To Linear"; - - private readonly string[] m_viewSpaceStr = { "Eye Space", "0-1 Space" }; - - private readonly string[] m_vertexNameStr = { "eyeDepth", "clampDepth" }; - - private UpperLeftWidgetHelper m_upperLeftWidget = new UpperLeftWidgetHelper(); - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - AddInputPort( WirePortDataType.FLOAT4, false, "Pos" ); - AddOutputPort( WirePortDataType.FLOAT, "Depth" ); - m_autoWrapProperties = true; - m_hasLeftDropdown = true; - SetAdditonalTitleText( string.Format( Constants.SubTitleSpaceFormatStr, m_viewSpaceStr[ m_viewSpaceInt ] ) ); - } - - 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_viewSpaceInt = m_upperLeftWidget.DrawWidget( this, m_viewSpaceInt, m_viewSpaceStr ); - if( EditorGUI.EndChangeCheck() ) - { - SetAdditonalTitleText( string.Format( Constants.SubTitleSpaceFormatStr, m_viewSpaceStr[ m_viewSpaceInt ] ) ); - } - } - - public override void DrawProperties() - { - base.DrawProperties(); - EditorGUI.BeginChangeCheck(); - m_viewSpaceInt = EditorGUILayoutPopup( "View Space", m_viewSpaceInt, m_viewSpaceStr ); - if( EditorGUI.EndChangeCheck() ) - { - SetAdditonalTitleText( string.Format( Constants.SubTitleSpaceFormatStr, m_viewSpaceStr[ m_viewSpaceInt ] ) ); - } - - m_convertToLinear = EditorGUILayoutToggle( ConvertToLinearStr, m_convertToLinear ); - } - - 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; - if( m_inputPorts[ 0 ].IsConnected ) - screenPosNorm = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); - else - { - if( dataCollector.IsTemplate ) - { - if( !dataCollector.TemplateDataCollectorInstance.GetCustomInterpolatedData( TemplateInfoOnSematics.SCREEN_POSITION_NORMALIZED, WirePortDataType.FLOAT4, PrecisionType.Float, ref screenPosNorm, true,MasterNodePortCategory.Fragment ) ) - { - screenPosNorm = GeneratorUtils.GenerateScreenPositionNormalized( ref dataCollector, UniqueId, CurrentPrecisionType, !dataCollector.UsingCustomScreenPos ); - } - } - else - { - screenPosNorm = GeneratorUtils.GenerateScreenPositionNormalized( ref dataCollector, UniqueId, CurrentPrecisionType, !dataCollector.UsingCustomScreenPos ); - } - } - - string screenDepthInstruction = TemplateHelperFunctions.CreateDepthFetch( dataCollector, screenPosNorm ); - - if( m_convertToLinear ) - { - string viewSpace = m_viewSpaceInt == 0 ? "LinearEyeDepth" : "Linear01Depth"; - string formatStr = string.Empty; - if( ( dataCollector.IsTemplate && dataCollector.IsSRP ) ) - formatStr = "(" + screenDepthInstruction + ",_ZBufferParams)"; - else - formatStr = "(" + screenDepthInstruction + ")"; - screenDepthInstruction = viewSpace + formatStr; - } - else - { - if( m_viewSpaceInt == 0 ) - { - screenDepthInstruction = string.Format( "({0}*( _ProjectionParams.z - _ProjectionParams.y ))", screenDepthInstruction ); - } - } - - dataCollector.AddLocalVariable( UniqueId, CurrentPrecisionType, WirePortDataType.FLOAT, m_vertexNameStr[ m_viewSpaceInt ] + OutputId, screenDepthInstruction ); - - m_outputPorts[ 0 ].SetLocalValue( m_vertexNameStr[ m_viewSpaceInt ] + OutputId, dataCollector.PortCategory ); - return GetOutputColorItem( 0, outputId, m_vertexNameStr[ m_viewSpaceInt ] + OutputId ); - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - m_viewSpaceInt = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); - if( UIUtils.CurrentShaderVersion() >= 13901 ) - { - m_convertToLinear = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - } - - SetAdditonalTitleText( string.Format( Constants.SubTitleSpaceFormatStr, m_viewSpaceStr[ m_viewSpaceInt ] ) ); - } - - public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) - { - base.WriteToString( ref nodeInfo, ref connectionsInfo ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_viewSpaceInt ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_convertToLinear ); - } - } - -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs.meta deleted file mode 100644 index 95f77777..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 52266d8a6f7f4fe428dcee2ddb0514ac -timeCreated: 1481126955 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs deleted file mode 100644 index 6acaa57f..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs +++ /dev/null @@ -1,155 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using UnityEngine; -using UnityEditor; -using System; - -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "Screen Position", "Camera And Screen", "Screen space position, you can either get the <b>Screen</b> position as is or <b>Normalize</b> it to have it at the [0,1] range" )] - public sealed class ScreenPosInputsNode : SurfaceShaderINParentNode - { - private const string ProjectStr = "Project"; - private const string UVInvertHack = "Scale and Offset"; - private readonly string[] m_outputTypeStr = { "Normalized", "Screen" }; - - [SerializeField] - private int m_outputTypeInt = 0; - - [SerializeField] - private bool m_scaleAndOffset = false; - - private UpperLeftWidgetHelper m_upperLeftWidget = new UpperLeftWidgetHelper(); - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - m_currentInput = SurfaceInputs.SCREEN_POS; - InitialSetup(); - m_textLabelWidth = 65; - m_autoWrapProperties = true; - - m_hasLeftDropdown = true; - m_previewShaderGUID = "a5e7295278a404175b732f1516fb68a6"; - - if( UIUtils.CurrentWindow != null && UIUtils.CurrentWindow.CurrentGraph != null && UIUtils.CurrentShaderVersion() <= 2400 ) - { - m_outputTypeInt = 1; - m_previewMaterialPassId = m_outputTypeInt; - } - - ConfigureHeader(); - } - - public override void Draw( DrawInfo drawInfo ) - { - base.Draw( drawInfo ); - EditorGUI.BeginChangeCheck(); - m_outputTypeInt = m_upperLeftWidget.DrawWidget( this, m_outputTypeInt, m_outputTypeStr ); - if( EditorGUI.EndChangeCheck() ) - { - ConfigureHeader(); - } - } - - public override void DrawProperties() - { - //base.DrawProperties(); - - EditorGUI.BeginChangeCheck(); - m_outputTypeInt = EditorGUILayoutPopup( "Type", m_outputTypeInt, m_outputTypeStr ); - if( EditorGUI.EndChangeCheck() ) - { - ConfigureHeader(); - } - } - - void ConfigureHeader() - { - SetAdditonalTitleText( string.Format( Constants.SubTitleTypeFormatStr, m_outputTypeStr[ m_outputTypeInt ] ) ); - m_previewMaterialPassId = m_outputTypeInt; - } - - public override void Reset() - { - base.Reset(); - } - - public override void Destroy() - { - base.Destroy(); - m_upperLeftWidget = null; - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - { - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - } - m_currentPrecisionType = PrecisionType.Float; - - string screenPos = string.Empty; - if( m_outputTypeInt == 0 ) - { - if( dataCollector.IsTemplate ) - { - screenPos = dataCollector.TemplateDataCollectorInstance.GetScreenPosNormalized( CurrentPrecisionType ); - } - else - { - screenPos = GeneratorUtils.GenerateScreenPositionNormalized( ref dataCollector, UniqueId, CurrentPrecisionType); - } - } - else - { - if( dataCollector.IsTemplate ) - { - screenPos = dataCollector.TemplateDataCollectorInstance.GetScreenPos( CurrentPrecisionType ); - } - else - { - screenPos = GeneratorUtils.GenerateScreenPosition( ref dataCollector, UniqueId, CurrentPrecisionType ); - } - } - - m_outputPorts[ 0 ].SetLocalValue( screenPos, dataCollector.PortCategory ); - return GetOutputVectorItem( 0, outputId, screenPos ); - - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - if( UIUtils.CurrentShaderVersion() > 2400 ) - { - if( UIUtils.CurrentShaderVersion() < 6102 ) - { - bool project = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - m_outputTypeInt = project ? 0 : 1; - } - else - { - m_outputTypeInt = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); - } - } - - if( UIUtils.CurrentShaderVersion() > 3107 ) - { - m_scaleAndOffset = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - m_scaleAndOffset = false; - } - - ConfigureHeader(); - } - - public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) - { - base.WriteToString( ref nodeInfo, ref connectionsInfo ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_outputTypeInt ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_scaleAndOffset ); - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs.meta deleted file mode 100644 index 60d2abbd..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 32cea8ff65efa3844a0047477ec789da -timeCreated: 1481126954 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs deleted file mode 100644 index e0f094b0..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs +++ /dev/null @@ -1,122 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using System; -using UnityEngine; - -namespace AmplifyShaderEditor -{ - [Serializable] - public class SurfaceShaderINParentNode : ParentNode - { - [SerializeField] - protected SurfaceInputs m_currentInput; - - [SerializeField] - protected string m_currentInputValueStr; - - [SerializeField] - protected string m_currentInputDecStr; - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - m_currentInput = SurfaceInputs.UV_COORDS; - m_textLabelWidth = 65; - m_customPrecision = true; - } - - public override void DrawProperties() - { - base.DrawProperties(); - DrawPrecisionProperty(); - } - //This needs to be called on the end of the CommonInit on all children - protected void InitialSetup() - { - m_currentInputValueStr = Constants.InputVarStr + "." + UIUtils.GetInputValueFromType( m_currentInput ); - - string outputName = "Out"; - switch ( m_currentInput ) - { - case SurfaceInputs.DEPTH: - { - AddOutputPort( WirePortDataType.FLOAT, outputName ); - } - break; - case SurfaceInputs.UV_COORDS: - { - outputName = "UV"; - AddOutputVectorPorts( WirePortDataType.FLOAT2, outputName ); - } - break; - case SurfaceInputs.UV2_COORDS: - { - outputName = "UV"; - AddOutputVectorPorts( WirePortDataType.FLOAT2, outputName ); - } - break; - case SurfaceInputs.VIEW_DIR: - { - outputName = "XYZ"; - AddOutputVectorPorts( WirePortDataType.FLOAT3, outputName ); - } - break; - case SurfaceInputs.COLOR: - { - outputName = "RGBA"; - AddOutputVectorPorts( WirePortDataType.FLOAT4, outputName ); - } - break; - case SurfaceInputs.SCREEN_POS: - { - outputName = "XYZW"; - AddOutputVectorPorts( WirePortDataType.FLOAT4, outputName ); - } - break; - case SurfaceInputs.WORLD_POS: - { - outputName = "XYZ"; - AddOutputVectorPorts( WirePortDataType.FLOAT3, outputName ); - } - break; - case SurfaceInputs.WORLD_REFL: - { - outputName = "XYZ"; - AddOutputVectorPorts( WirePortDataType.FLOAT3, outputName ); - } - break; - case SurfaceInputs.WORLD_NORMAL: - { - outputName = "XYZ"; - AddOutputVectorPorts( WirePortDataType.FLOAT3, outputName ); - } - break; - } - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { - dataCollector.AddToInput( UniqueId, m_currentInput, CurrentPrecisionType ); - switch ( m_currentInput ) - { - case SurfaceInputs.VIEW_DIR: - case SurfaceInputs.WORLD_REFL: - case SurfaceInputs.WORLD_NORMAL: - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.INTERNALDATA, addSemiColon: false ); - } - break; - case SurfaceInputs.WORLD_POS: - case SurfaceInputs.DEPTH: - case SurfaceInputs.UV_COORDS: - case SurfaceInputs.UV2_COORDS: - case SurfaceInputs.COLOR: - case SurfaceInputs.SCREEN_POS: break; - }; - - return GetOutputVectorItem( 0, outputId, m_currentInputValueStr ); - } - - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs.meta deleted file mode 100644 index 92a1e5b1..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 71628885b2fde0944bf7dd8e4eb2770f -timeCreated: 1481126956 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs deleted file mode 100644 index 2659320f..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs +++ /dev/null @@ -1,304 +0,0 @@ -using UnityEngine; -using UnityEditor; -using System.Collections.Generic; - -using System; -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "Texel Size", "Textures", "Texel Size for a given texture object" )] - public sealed class TexelSizeNode : ParentNode - { - private readonly string[] Dummy = { string.Empty }; - [SerializeField] - private int m_referenceSamplerId = -1; - - [SerializeField] - private int m_referenceNodeId = -1; - - [SerializeField] - private TexturePropertyNode m_inputReferenceNode = null; - - private TexturePropertyNode m_referenceNode = null; - - private UpperLeftWidgetHelper m_upperLeftWidget = new UpperLeftWidgetHelper(); - - private int m_cachedSamplerId = -1; - private int m_cachedSamplerIdArray = -1; - private int m_cachedSamplerIdCube = -1; - private int m_cachedSamplerId3D = -1; - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - AddInputPort( WirePortDataType.SAMPLER2D, false, "Tex" ); - m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.SAMPLER1D, WirePortDataType.SAMPLER2D, WirePortDataType.SAMPLER3D, WirePortDataType.SAMPLERCUBE, WirePortDataType.OBJECT ); - AddOutputVectorPorts( WirePortDataType.FLOAT4, Constants.EmptyPortValue ); - ChangeOutputName( 1, "1/Width" ); - ChangeOutputName( 2, "1/Height" ); - ChangeOutputName( 3, "Width" ); - ChangeOutputName( 4, "Height" ); - m_textLabelWidth = 80; - m_autoWrapProperties = true; - m_hasLeftDropdown = true; - m_previewShaderGUID = "6b20226576a059443b58aa2d0b942276"; - } - - 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 OnInputPortConnected( int portId, int otherNodeId, int otherPortId, bool activateNode = true ) - { - base.OnInputPortConnected( portId, otherNodeId, otherPortId, activateNode ); - m_inputReferenceNode = m_inputPorts[ 0 ].GetOutputNodeWhichIsNotRelay() as TexturePropertyNode; - UpdateTitle(); - } - - public override void OnInputPortDisconnected( int portId ) - { - base.OnInputPortDisconnected( portId ); - m_inputReferenceNode = null; - UpdateTitle(); - } - - - void UpdateTitle() - { - if ( m_inputReferenceNode != null ) - { - m_additionalContent.text = string.Format( Constants.PropertyValueLabel, m_inputReferenceNode.PropertyInspectorName ); - } - else if ( m_referenceSamplerId > -1 && m_referenceNode != null ) - { - m_additionalContent.text = string.Format( Constants.PropertyValueLabel, m_referenceNode.PropertyInspectorName ); - } - else - { - m_additionalContent.text = string.Empty; - } - m_sizeIsDirty = true; - } - - public override void DrawProperties() - { - base.DrawProperties(); - bool guiEnabledBuffer = GUI.enabled; - EditorGUI.BeginChangeCheck(); - List<string> arr = new List<string>( UIUtils.TexturePropertyNodeArr() ); - - if( arr != null && arr.Count > 0 ) - { - arr.Insert( 0, "None" ); - GUI.enabled = true && ( !m_inputPorts[ 0 ].IsConnected ); - m_referenceSamplerId = EditorGUILayoutPopup( Constants.AvailableReferenceStr, m_referenceSamplerId + 1, arr.ToArray() ) - 1; - } - else - { - m_referenceSamplerId = -1; - GUI.enabled = false; - EditorGUILayoutPopup( Constants.AvailableReferenceStr, m_referenceSamplerId, Dummy ); - } - - GUI.enabled = guiEnabledBuffer; - if( EditorGUI.EndChangeCheck() ) - { - m_referenceNode = UIUtils.GetTexturePropertyNode( m_referenceSamplerId ); - if( m_referenceNode != null ) - { - m_referenceNodeId = m_referenceNode.UniqueId; - } - else - { - m_referenceNodeId = -1; - m_referenceSamplerId = -1; - } - UpdateTitle(); - } - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) - { - base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalvar ); - string texelName = string.Empty; - - if ( m_inputPorts[ 0 ].IsConnected ) - { - texelName = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + "_TexelSize"; - } - else if ( m_referenceNode != null ) - { - m_referenceNode.BaseGenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalvar ); - texelName = m_referenceNode.PropertyName + "_TexelSize"; - } - else - { - texelName = "_TexelSize"; - UIUtils.ShowMessage( UniqueId, "Please specify a texture sample on the Texel Size node", MessageSeverity.Warning ); - } - - dataCollector.AddToUniforms( UniqueId, "float4 " + texelName + ";", dataCollector.IsSRP ); - - switch ( outputId ) - { - case 0: return texelName; - case 1: return ( texelName + ".x" ); - case 2: return ( texelName + ".y" ); - case 3: return ( texelName + ".z" ); - case 4: return ( texelName + ".w" ); - } - - return string.Empty; - } - - void SetPreviewTexture( Texture newValue ) - { - if( newValue is Cubemap ) - { - m_previewMaterialPassId = 3; - if( m_cachedSamplerIdCube == -1 ) - m_cachedSamplerIdCube = Shader.PropertyToID( "_Cube" ); - - PreviewMaterial.SetTexture( m_cachedSamplerIdCube, newValue as Cubemap ); - } - else if( newValue is Texture2DArray ) - { - - m_previewMaterialPassId = 2; - if( m_cachedSamplerIdArray == -1 ) - m_cachedSamplerIdArray = Shader.PropertyToID( "_Array" ); - - PreviewMaterial.SetTexture( m_cachedSamplerIdArray, newValue as Texture2DArray ); - } - else if( newValue is Texture3D ) - { - m_previewMaterialPassId = 1; - if( m_cachedSamplerId3D == -1 ) - m_cachedSamplerId3D = Shader.PropertyToID( "_Sampler3D" ); - - PreviewMaterial.SetTexture( m_cachedSamplerId3D, newValue as Texture3D ); - } - else - { - m_previewMaterialPassId = 0; - if( m_cachedSamplerId == -1 ) - m_cachedSamplerId = Shader.PropertyToID( "_Sampler" ); - - PreviewMaterial.SetTexture( m_cachedSamplerId, newValue ); - } - } - - public override void SetPreviewInputs() - { - base.SetPreviewInputs(); - if( m_inputPorts[0].IsConnected ) - { - SetPreviewTexture( m_inputPorts[ 0 ].InputPreviewTexture( ContainerGraph ) ); - } - else if( m_referenceNode != null ) - { - if( m_referenceNode.Value != null ) - { - SetPreviewTexture( m_referenceNode.Value ); - } - else - { - SetPreviewTexture( m_referenceNode.PreviewTexture ); - } - } - } - - public override void Draw( DrawInfo drawInfo ) - { - base.Draw( drawInfo ); - - EditorGUI.BeginChangeCheck(); - { - List<string> arr = new List<string>( UIUtils.TexturePropertyNodeArr() ); - bool guiEnabledBuffer = GUI.enabled; - - if( arr != null && arr.Count > 0 ) - { - arr.Insert( 0, "None" ); - GUI.enabled = true && ( !m_inputPorts[ 0 ].IsConnected ); - m_referenceSamplerId = m_upperLeftWidget.DrawWidget( this, m_referenceSamplerId + 1, arr.ToArray() ) - 1; - } - else - { - m_referenceSamplerId = -1; - GUI.enabled = false; - m_upperLeftWidget.DrawWidget( this, m_referenceSamplerId, Dummy ); - } - GUI.enabled = guiEnabledBuffer; - } - if( EditorGUI.EndChangeCheck() ) - { - m_referenceNode = UIUtils.GetTexturePropertyNode( m_referenceSamplerId ); - if( m_referenceNode != null ) - { - m_referenceNodeId = m_referenceNode.UniqueId; - } - else - { - m_referenceNodeId = -1; - m_referenceSamplerId = -1; - } - UpdateTitle(); - } - } - - public override void RefreshExternalReferences() - { - base.RefreshExternalReferences(); - if ( UIUtils.CurrentShaderVersion() > 2404 ) - { - m_referenceNode = UIUtils.GetNode( m_referenceNodeId ) as TexturePropertyNode; - m_referenceSamplerId = UIUtils.GetTexturePropertyNodeRegisterId( m_referenceNodeId ); - } - else - { - m_referenceNode = UIUtils.GetTexturePropertyNode( m_referenceSamplerId ); - if ( m_referenceNode != null ) - { - m_referenceNodeId = m_referenceNode.UniqueId; - } - } - UpdateTitle(); - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - if ( UIUtils.CurrentShaderVersion() > 2404 ) - { - m_referenceNodeId = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); - } - else - { - m_referenceSamplerId = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); - } - } - - public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) - { - base.WriteToString( ref nodeInfo, ref connectionsInfo ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_referenceNodeId ); - } - - public override void Destroy() - { - base.Destroy(); - m_referenceNode = null; - m_inputReferenceNode = null; - m_upperLeftWidget = null; - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs.meta deleted file mode 100644 index 1e6fa013..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 1a23decd88779d24f9af6ae30c3d5a5f -timeCreated: 1481126953 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs deleted file mode 100644 index b259d89f..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs +++ /dev/null @@ -1,112 +0,0 @@ -//// Amplify Shader Editor - Visual Shader Editing Tool -//// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -//using UnityEngine; -//using UnityEditor; -//using System; - -//namespace AmplifyShaderEditor -//{ -// [Serializable] -// [NodeAttributes( "[Old]Texture Coordinates", "Surface Data", "Texture UV coordinates set", null, KeyCode.U, false )] -// public sealed class UVCoordsParentNode : ParentNode -// { -// private const string TilingStr = "Tiling"; - -// [SerializeField] -// private int m_textureCoordChannel = 0; - -// [SerializeField] -// private int m_textureCoordSet = 0; - -// [SerializeField] -// private Vector2 m_tiling = new Vector2( 1, 1 ); - -// protected override void CommonInit( int uniqueId ) -// { -// base.CommonInit( uniqueId ); -// AddOutputVectorPorts( WirePortDataType.FLOAT2, Constants.EmptyPortValue ); -// m_textLabelWidth = 75; -// } - -// public override void DrawProperties() -// { -// base.DrawProperties(); -// int newChannel = EditorGUILayoutIntPopup( Constants.AvailableUVChannelLabel, m_textureCoordChannel, Constants.AvailableUVChannelsStr, Constants.AvailableUVChannels ); -// if ( newChannel != m_textureCoordChannel ) -// { -// if ( UIUtils.IsChannelAvailable( newChannel ) ) -// { -// UIUtils.ShowMessage( "Attempting to use an unoccupied used texture channel" ); -// } -// else -// { -// m_textureCoordChannel = newChannel; -// } -// } -// else if ( m_textureCoordChannel > -1 && UIUtils.IsChannelAvailable( m_textureCoordChannel ) ) -// { -// UIUtils.ShowMessage( "Texture Channel " + m_textureCoordChannel + " is unavailable for TextureCoordinate node" ); -// m_textureCoordChannel = -1; -// } - -// m_textureCoordSet = EditorGUILayoutIntPopup( Constants.AvailableUVSetsLabel, m_textureCoordSet, Constants.AvailableUVSetsStr, Constants.AvailableUVSets ); - -// m_tiling = EditorGUILayoutVector2Field( TilingStr, m_tiling ); -// } - -// public override void Draw( DrawInfo drawInfo ) -// { -// base.Draw( drawInfo ); -// if ( m_isVisible ) -// { -// m_propertyDrawPos.x = m_globalPosition.x + Constants.FLOAT_WIDTH_SPACING; -// m_propertyDrawPos.y = m_outputPorts[ 1 ].Position.y; -// m_propertyDrawPos.width = 2.7f * drawInfo.InvertedZoom * Constants.FLOAT_DRAW_WIDTH_FIELD_SIZE; -// m_propertyDrawPos.height = drawInfo.InvertedZoom * Constants.FLOAT_DRAW_HEIGHT_FIELD_SIZE; - -// m_propertyDrawPos.y = m_outputPorts[ 1 ].Position.y; -// UIUtils.DrawFloat( this, ref m_propertyDrawPos, ref m_tiling.x ); - -// m_propertyDrawPos.y = m_outputPorts[ 2 ].Position.y; -// UIUtils.DrawFloat( this, ref m_propertyDrawPos, ref m_tiling.y ); -// } -// } - -// public override void ReadFromString( ref string[] nodeParams ) -// { -// base.ReadFromString( ref nodeParams ); -// m_textureCoordChannel = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); -// m_tiling.x = Convert.ToSingle( GetCurrentParam( ref nodeParams ) ); -// m_tiling.y = Convert.ToSingle( GetCurrentParam( ref nodeParams ) ); -// } - -// public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) -// { -// base.WriteToString( ref nodeInfo, ref connectionsInfo ); -// IOUtils.AddFieldValueToString( ref nodeInfo, m_textureCoordChannel ); -// IOUtils.AddFieldValueToString( ref nodeInfo, m_tiling.x ); -// IOUtils.AddFieldValueToString( ref nodeInfo, m_tiling.y ); -// } - -// public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) -// { -// string uvChannelDeclaration = IOUtils.GetUVChannelDeclaration( UIUtils.GetChannelName( m_textureCoordChannel ), m_textureCoordChannel, m_textureCoordSet ); -// dataCollector.AddToInput( UniqueId, uvChannelDeclaration, true ); - -// if ( dataCollector.GetChannelUsage( m_textureCoordChannel ) != TextureChannelUsage.Used ) -// dataCollector.SetChannelUsage( m_textureCoordChannel, TextureChannelUsage.Required ); - -// string uvTileStr = string.Empty; -// switch ( outputId ) -// { -// case 0: { uvTileStr = "float2( " + m_tiling.x + " , " + m_tiling.y + " )"; } break; -// case 1: { uvTileStr = m_tiling.x.ToString(); } break; -// case 2: { uvTileStr = m_tiling.y.ToString(); } break; -// } -// string uvChannelName = IOUtils.GetUVChannelName( UIUtils.GetChannelName( m_textureCoordChannel ), m_textureCoordSet ); -// return ( uvTileStr + "*" + GetOutputVectorItem( 0, outputId, Constants.InputVarStr + "." + uvChannelName ) ); -// } - -// } -//} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs.meta deleted file mode 100644 index eae8ca56..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 73fb18e7d547d514695cb0b83a29f80e -timeCreated: 1481126956 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs deleted file mode 100644 index e60a359f..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs +++ /dev/null @@ -1,167 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> -using System; -using UnityEngine; -using UnityEditor; - -namespace AmplifyShaderEditor -{ - public enum ViewSpace - { - Tangent, - World - } - - [Serializable] - [NodeAttributes( "View Dir", "Camera And Screen", "View direction vector, you can select between <b>World</b> space or <b>Tangent</b> space" )] - public sealed class ViewDirInputsCoordNode : SurfaceShaderINParentNode - { - private const string SpaceStr = "Space"; - private const string WorldDirVarStr = "worldViewDir"; - private const string NormalizeOptionStr = "Safe Normalize"; - - [SerializeField] - private bool m_safeNormalize = false; - - [SerializeField] - private ViewSpace m_viewDirSpace = ViewSpace.World; - - private UpperLeftWidgetHelper m_upperLeftWidget = new UpperLeftWidgetHelper(); - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - m_currentInput = SurfaceInputs.VIEW_DIR; - InitialSetup(); - m_textLabelWidth = 120; - m_autoWrapProperties = true; - m_drawPreviewAsSphere = true; - m_hasLeftDropdown = true; - UpdateTitle(); - m_previewShaderGUID = "07b57d9823df4bd4d8fe6dcb29fca36a"; - } - - private void UpdateTitle() - { - m_additionalContent.text = string.Format( Constants.SubTitleSpaceFormatStr, m_viewDirSpace.ToString() ); - m_sizeIsDirty = true; - } - - public override void Draw( DrawInfo drawInfo ) - { - base.Draw( drawInfo ); - m_upperLeftWidget.DrawWidget<ViewSpace>( ref m_viewDirSpace, this, OnWidgetUpdate ); - } - - private readonly Action<ParentNode> OnWidgetUpdate = ( x ) => - { - ( x as ViewDirInputsCoordNode ).UpdateTitle(); - }; - - public override void DrawProperties() - { - //base.DrawProperties(); - EditorGUI.BeginChangeCheck(); - m_viewDirSpace = (ViewSpace)EditorGUILayoutEnumPopup( SpaceStr, m_viewDirSpace ); - if( EditorGUI.EndChangeCheck() ) - { - UpdateTitle(); - } - m_safeNormalize = EditorGUILayoutToggle( NormalizeOptionStr, m_safeNormalize ); - EditorGUILayout.HelpBox( "Having safe normalize ON makes sure your view vector is not zero even if you are using your shader with no cameras.", MessageType.None ); - } - - public override void SetPreviewInputs() - { - base.SetPreviewInputs(); - - if( m_viewDirSpace == ViewSpace.World ) - m_previewMaterialPassId = 0; - else if( m_viewDirSpace == ViewSpace.Tangent ) - m_previewMaterialPassId = 1; - } - - public override void PropagateNodeData( NodeData nodeData, ref MasterNodeDataCollector dataCollector ) - { - base.PropagateNodeData( nodeData, ref dataCollector ); - if( m_viewDirSpace == ViewSpace.Tangent ) - dataCollector.DirtyNormal = true; - - if( m_safeNormalize ) - dataCollector.SafeNormalizeViewDir = true; - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { - if( dataCollector.IsTemplate ) - { - string varName = ( m_viewDirSpace == ViewSpace.World ) ? dataCollector.TemplateDataCollectorInstance.GetViewDir(true,MasterNodePortCategory.Fragment, m_safeNormalize?NormalizeType.Safe:NormalizeType.Regular) : - dataCollector.TemplateDataCollectorInstance.GetTangentViewDir( CurrentPrecisionType, true,MasterNodePortCategory.Fragment, m_safeNormalize ? NormalizeType.Safe : NormalizeType.Regular ); - return GetOutputVectorItem( 0, outputId, varName ); - } - - - if( dataCollector.PortCategory == MasterNodePortCategory.Vertex || dataCollector.PortCategory == MasterNodePortCategory.Tessellation ) - { - string result = GeneratorUtils.GenerateViewDirection( ref dataCollector, UniqueId, m_viewDirSpace ); - return GetOutputVectorItem( 0, outputId, result ); - } - else - { - if( m_viewDirSpace == ViewSpace.World ) - { - if( dataCollector.DirtyNormal || m_safeNormalize ) - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.WORLD_POS ); - string result = GeneratorUtils.GenerateViewDirection( ref dataCollector, UniqueId ); - return GetOutputVectorItem( 0, outputId, result ); - } - else - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.VIEW_DIR, PrecisionType.Float ); - return GetOutputVectorItem( 0, outputId, m_currentInputValueStr ); - //return base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalVar ); - } - } - else - { - if( m_safeNormalize ) - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.WORLD_NORMAL, CurrentPrecisionType ); - dataCollector.AddToInput( UniqueId, SurfaceInputs.INTERNALDATA, addSemiColon: false ); - dataCollector.ForceNormal = true; - dataCollector.AddToInput( UniqueId, SurfaceInputs.WORLD_POS ); - string result = GeneratorUtils.GenerateViewDirection( ref dataCollector, UniqueId, ViewSpace.Tangent ); - return GetOutputVectorItem( 0, outputId, result ); - } - else - { - dataCollector.ForceNormal = true; - return base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalVar ); - } - } - } - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - if( UIUtils.CurrentShaderVersion() > 2402 ) - m_viewDirSpace = (ViewSpace)Enum.Parse( typeof( ViewSpace ), GetCurrentParam( ref nodeParams ) ); - - if( UIUtils.CurrentShaderVersion() > 15201 ) - { - m_safeNormalize = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); - } - - UpdateTitle(); - } - - public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) - { - base.WriteToString( ref nodeInfo, ref connectionsInfo ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_viewDirSpace ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_safeNormalize ); - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs.meta deleted file mode 100644 index 32985728..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4755b85e957e31d4b96d341070b156b5 -timeCreated: 1481126955 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs deleted file mode 100644 index d179cddb..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs +++ /dev/null @@ -1,119 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using UnityEngine; -using UnityEditor; -using System; - -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "[Deprecated] World Normal", "Surface Data", "Vertex Normal World", null, KeyCode.None, true, true, "World Normal", typeof( WorldNormalVector ) )] - public sealed class WorldNormalInputsNode : SurfaceShaderINParentNode - { - private const string PerPixelLabelStr = "Per Pixel"; - - [SerializeField] - private bool m_perPixel = true; - - [SerializeField] - private string m_precisionString; - - [SerializeField] - private bool m_addInstruction = false; - - public override void Reset() - { - base.Reset(); - m_addInstruction = true; - } - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - m_currentInput = SurfaceInputs.WORLD_NORMAL; - InitialSetup(); - //UIUtils.AddNormalDependentCount(); - } - - //public override void Destroy() - //{ - // ContainerGraph.RemoveNormalDependentCount(); - // base.Destroy(); - //} - - public override void DrawProperties() - { - base.DrawProperties(); - m_perPixel = EditorGUILayoutToggleLeft( PerPixelLabelStr, m_perPixel ); - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { - if ( dataCollector.PortCategory == MasterNodePortCategory.Vertex || dataCollector.PortCategory == MasterNodePortCategory.Tessellation ) - { - if ( m_addInstruction ) - { - string precision = UIUtils.PrecisionWirePortToCgType( CurrentPrecisionType, WirePortDataType.FLOAT3 ); - dataCollector.AddVertexInstruction( precision + " worldNormal = UnityObjectToWorldNormal(" + Constants.VertexShaderInputStr + ".normal)", UniqueId ); - m_addInstruction = false; - } - - return GetOutputVectorItem( 0, outputId, "worldNormal" ); - } - else - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.WORLD_NORMAL, CurrentPrecisionType ); - dataCollector.AddToInput( UniqueId, SurfaceInputs.INTERNALDATA, addSemiColon: false ); - if ( dataCollector.PortCategory != MasterNodePortCategory.Debug && m_perPixel && dataCollector.DirtyNormal ) - { - //string result = "WorldNormalVector( " + Constants.InputVarStr + " , float3( 0,0,1 ))"; - m_precisionString = UIUtils.PrecisionWirePortToCgType( CurrentPrecisionType, WirePortDataType.FLOAT3 ); - string result = string.Format( Constants.WorldNormalLocalDecStr, m_precisionString ); - int count = 0; - for ( int i = 0; i < m_outputPorts.Count; i++ ) - { - if ( m_outputPorts[ i ].IsConnected ) - { - if ( m_outputPorts[ i ].ConnectionCount > 2 ) - { - count = 2; - break; - } - count += 1; - if ( count > 1 ) - break; - } - } - if ( count > 1 ) - { - string localVarName = "WorldNormal" + OutputId; - dataCollector.AddToLocalVariables( UniqueId, CurrentPrecisionType, m_outputPorts[ 0 ].DataType, localVarName, result ); - return GetOutputVectorItem( 0, outputId, localVarName ); - } - else - { - return GetOutputVectorItem( 0, outputId, result ); - } - } - else - { - return base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalVar ); - } - } - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - if ( UIUtils.CurrentShaderVersion() > 2504 ) - m_perPixel = 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_perPixel ); - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs.meta deleted file mode 100644 index da99f65c..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 891e3ffa10c12c54e83a1e40df03df2f -timeCreated: 1481126957 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs deleted file mode 100644 index 861ee6d2..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs +++ /dev/null @@ -1,178 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using System; -using UnityEngine; - -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "World Normal", "Surface Data", "Per pixel world normal vector, accepts a <b>Normal</b> vector in tangent space (ie: normalmap)" )] - public sealed class WorldNormalVector : ParentNode - { - private const string NormalVecValStr = "newWorldNormal"; - private const string NormalVecDecStr = "float3 {0} = {1};"; - - private const string NormalizeOptionStr = "Normalize"; - private const string NormalizeFunc = "normalize( {0} )"; - - [SerializeField] - private bool m_normalize = false; - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - AddInputPort( WirePortDataType.FLOAT3, false, "Normal" ); - AddOutputVectorPorts( WirePortDataType.FLOAT3, "XYZ" ); - m_inputPorts[ 0 ].Vector3InternalData = Vector3.forward; - m_previewShaderGUID = "5f55f4841abb61e45967957788593a9d"; - m_drawPreviewAsSphere = true; - m_autoWrapProperties = true; - m_textLabelWidth = 80; - } - - public override void SetPreviewInputs() - { - base.SetPreviewInputs(); - - if( m_inputPorts[ 0 ].IsConnected ) - m_previewMaterialPassId = 1; - else - m_previewMaterialPassId = 0; - } - - public override void PropagateNodeData( NodeData nodeData, ref MasterNodeDataCollector dataCollector ) - { - base.PropagateNodeData( nodeData, ref dataCollector ); - if( m_inputPorts[ 0 ].IsConnected ) - dataCollector.DirtyNormal = true; - } - - public override void DrawProperties() - { - base.DrawProperties(); - m_normalize = EditorGUILayoutToggle( NormalizeOptionStr, m_normalize ); - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) - { - if( dataCollector.IsTemplate ) - { - if( m_inputPorts[ 0 ].IsConnected ) - { - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - - - string value = dataCollector.TemplateDataCollectorInstance.GetWorldNormal( UniqueId, CurrentPrecisionType, m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ), OutputId ); - if( m_normalize ) - { - value = string.Format( NormalizeFunc, value ); - } - RegisterLocalVariable( 0, value, ref dataCollector, "worldNormal" + OutputId ); - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - } - else - { - string value = dataCollector.TemplateDataCollectorInstance.GetWorldNormal( CurrentPrecisionType ); - string name; - if( m_normalize ) - { - name = "normalizedWorldNormal"; - value = string.Format( NormalizeFunc, value ); - RegisterLocalVariable( 0, value, ref dataCollector, name ); - } - else - { - name = value; - } - return GetOutputVectorItem( 0, outputId, name ); - } - } - - if( dataCollector.PortCategory == MasterNodePortCategory.Fragment || dataCollector.PortCategory == MasterNodePortCategory.Debug ) - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.WORLD_NORMAL, CurrentPrecisionType ); - - string result = string.Empty; - if( m_inputPorts[ 0 ].IsConnected ) - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.INTERNALDATA, addSemiColon: false ); - dataCollector.ForceNormal = true; - - result = "(WorldNormalVector( " + Constants.InputVarStr + " , " + m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + " ))"; - if( m_normalize ) - { - result = string.Format( NormalizeFunc, result ); - } - - int connCount = 0; - for( int i = 0; i < m_outputPorts.Count; i++ ) - { - connCount += m_outputPorts[ i ].ConnectionCount; - } - - if( connCount > 1 ) - { - dataCollector.AddToLocalVariables( UniqueId, string.Format( NormalVecDecStr, NormalVecValStr + OutputId, result ) ); - return GetOutputVectorItem( 0, outputId, NormalVecValStr + OutputId ); - } - } - else - { - if( !dataCollector.DirtyNormal ) - { - result = GeneratorUtils.GenerateWorldNormal( ref dataCollector, UniqueId, m_normalize ); - } - else - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.INTERNALDATA, addSemiColon: false ); - result = GeneratorUtils.GenerateWorldNormal( ref dataCollector, UniqueId, m_normalize ); - dataCollector.ForceNormal = true; - } - } - - return GetOutputVectorItem( 0, outputId, result ); - } - else - { - if( m_inputPorts[ 0 ].IsConnected ) - { - string inputTangent = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); - - string normal = GeneratorUtils.GenerateWorldNormal( ref dataCollector, UniqueId ); - string tangent = GeneratorUtils.GenerateWorldTangent( ref dataCollector, UniqueId ); - dataCollector.AddToVertexLocalVariables( UniqueId, "float3x3 tangentToWorld = CreateTangentToWorldPerVertex( " + normal + ", " + tangent + ", " + Constants.VertexShaderInputStr + ".tangent.w );" ); - dataCollector.AddToVertexLocalVariables( UniqueId, "float3 tangentNormal" + OutputId + " = " + inputTangent + ";" ); - string result = "(tangentToWorld[0] * tangentNormal" + OutputId + ".x + tangentToWorld[1] * tangentNormal" + OutputId + ".y + tangentToWorld[2] * tangentNormal" + OutputId + ".z)"; - if( m_normalize ) - { - result = string.Format( NormalizeFunc, result ); - } - dataCollector.AddToVertexLocalVariables( UniqueId, "float3 modWorldNormal" + OutputId + " = " + result + ";" ); - return GetOutputVectorItem( 0, outputId, "modWorldNormal" + OutputId ); - } - else - { - string result = GeneratorUtils.GenerateWorldNormal( ref dataCollector, UniqueId, m_normalize ); - return GetOutputVectorItem( 0, outputId, result ); - } - } - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - if( UIUtils.CurrentShaderVersion() > 14202 ) - { - m_normalize = 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_normalize ); - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs.meta deleted file mode 100644 index 7646e491..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d61a084db19701c4fb3030ee953ac509 -timeCreated: 1481126959 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs deleted file mode 100644 index 15c0b29f..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs +++ /dev/null @@ -1,37 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using System; -using UnityEngine; - -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "World Position", "Surface Data", "World space position" )] - public sealed class WorldPosInputsNode : SurfaceShaderINParentNode - { - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - m_currentInput = SurfaceInputs.WORLD_POS; - m_drawPreviewAsSphere = true; - m_previewShaderGUID = "70d5405009b31a349a4d8285f30cf5d9"; - InitialSetup(); - } - - public override void DrawProperties() { } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { - if ( dataCollector.IsTemplate ) - { - string varName = dataCollector.TemplateDataCollectorInstance.GetWorldPos(); - return GetOutputVectorItem( 0, outputId, varName ); - } - - string worldPosition = GeneratorUtils.GenerateWorldPosition( ref dataCollector, UniqueId ); - - return GetOutputVectorItem( 0, outputId, worldPosition ); - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs.meta deleted file mode 100644 index 91f10c87..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 850bb0065928b7f499b869b8adc1ce5c -timeCreated: 1481126957 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs deleted file mode 100644 index 99b49780..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> -using UnityEngine; - -namespace AmplifyShaderEditor -{ - [System.Serializable] - [NodeAttributes( "[Deprecated] World Reflection", "Surface Data", "World reflection vector", null, KeyCode.None, true, true, "World Reflection", typeof( WorldReflectionVector ) )] - public sealed class WorldReflInputsNode : SurfaceShaderINParentNode - { - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - m_currentInput = SurfaceInputs.WORLD_REFL; - InitialSetup(); - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs.meta deleted file mode 100644 index 8e4e079d..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e4f39f3a52f10644392decce9d1e6790 -timeCreated: 1481126959 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs deleted file mode 100644 index 30953218..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs +++ /dev/null @@ -1,213 +0,0 @@ -// Amplify Shader Editor - Visual Shader Editing Tool -// Copyright (c) Amplify Creations, Lda <info@amplify.pt> - -using System; -using UnityEngine; -namespace AmplifyShaderEditor -{ - [Serializable] - [NodeAttributes( "World Reflection", "Surface Data", "Per pixel world reflection vector, accepts a <b>Normal</b> vector in tangent space (ie: normalmap)" )] - public sealed class WorldReflectionVector : ParentNode - { - private const string ReflectionVecValStr = "newWorldReflection"; - private const string ReflectionVecDecStr = "float3 {0} = {1};"; - - private const string NormalizeOptionStr = "Normalize"; - private const string NormalizeFunc = "normalize( {0} )"; - - [SerializeField] - private bool m_normalize = false; - - protected override void CommonInit( int uniqueId ) - { - base.CommonInit( uniqueId ); - AddInputPort( WirePortDataType.FLOAT3, false, "Normal" ); - AddOutputVectorPorts( WirePortDataType.FLOAT3, "XYZ" ); - m_drawPreviewAsSphere = true; - m_previewShaderGUID = "8e267e9aa545eeb418585a730f50273e"; - m_autoWrapProperties = true; - m_textLabelWidth = 80; - //UIUtils.AddNormalDependentCount(); - } - - public override void SetPreviewInputs() - { - base.SetPreviewInputs(); - - if( m_inputPorts[ 0 ].IsConnected ) - m_previewMaterialPassId = 1; - else - m_previewMaterialPassId = 0; - } - - public override void DrawProperties() - { - base.DrawProperties(); - m_normalize = EditorGUILayoutToggle( NormalizeOptionStr, m_normalize ); - } - - //public override void Destroy() - //{ - // ContainerGraph.RemoveNormalDependentCount(); - // base.Destroy(); - //} - - public override void PropagateNodeData( NodeData nodeData, ref MasterNodeDataCollector dataCollector ) - { - base.PropagateNodeData( nodeData, ref dataCollector ); - if( m_inputPorts[ 0 ].IsConnected ) - dataCollector.DirtyNormal = true; - } - - public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) - { - if( dataCollector.IsTemplate ) - { - if( m_inputPorts[ 0 ].IsConnected ) - { - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - - - string value = dataCollector.TemplateDataCollectorInstance.GetWorldReflection( CurrentPrecisionType, m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) ); - if( m_normalize ) - { - value = string.Format( NormalizeFunc, value ); - } - RegisterLocalVariable( 0, value, ref dataCollector, "worldRefl" + OutputId ); - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - } - else - { - string name; - string value = dataCollector.TemplateDataCollectorInstance.GetWorldReflection( CurrentPrecisionType ); - if( m_normalize ) - { - name = "normalizedWorldRefl"; - value = string.Format( NormalizeFunc, value ); - RegisterLocalVariable( 0, value, ref dataCollector, name ); - } - else - { - name = value; - } - return GetOutputVectorItem( 0, outputId, name ); - } - } - - bool isVertex = ( dataCollector.PortCategory == MasterNodePortCategory.Tessellation || dataCollector.PortCategory == MasterNodePortCategory.Vertex ); - if( isVertex ) - { - if( m_inputPorts[ 0 ].IsConnected ) - { - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - - string normal = GeneratorUtils.GenerateWorldNormal( ref dataCollector, UniqueId ); - string tangent = GeneratorUtils.GenerateWorldTangent( ref dataCollector, UniqueId ); - dataCollector.AddToVertexLocalVariables( UniqueId, "float3x3 tangentToWorld = CreateTangentToWorldPerVertex( " + normal + ", "+ tangent + ", "+ Constants.VertexShaderInputStr + ".tangent.w );" ); - string inputTangent = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); - dataCollector.AddToVertexLocalVariables( UniqueId, "float3 tangentNormal" + OutputId + " = " + inputTangent + ";" ); - - string viewDir = GeneratorUtils.GenerateViewDirection( ref dataCollector, UniqueId ); - dataCollector.AddToVertexLocalVariables( UniqueId, "float3 modWorldNormal" + OutputId + " = ( tangentToWorld[0] * tangentNormal" + OutputId + ".x + tangentToWorld[1] * tangentNormal" + OutputId + ".y + tangentToWorld[2] * tangentNormal" + OutputId + ".z);" ); - - string value = "reflect( -" + viewDir + ", modWorldNormal" + OutputId + " )"; - if( m_normalize ) - { - value = string.Format( NormalizeFunc, value ); - } - - RegisterLocalVariable( 0, value, ref dataCollector, "modReflection" + OutputId ); - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - } - else - { - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - - string worldNormal = GeneratorUtils.GenerateWorldNormal( ref dataCollector, UniqueId ); - string viewDir = GeneratorUtils.GenerateViewDirection( ref dataCollector, UniqueId ); - - string value = "reflect( -" + viewDir + ", " + worldNormal + " )"; - if( m_normalize ) - { - value = string.Format( NormalizeFunc, value ); - } - RegisterLocalVariable( 0, value, ref dataCollector, ReflectionVecValStr + OutputId ); - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - } - } - else - { - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - - dataCollector.AddToInput( UniqueId, SurfaceInputs.WORLD_REFL, CurrentPrecisionType ); - - string result = string.Empty; - if( m_inputPorts[ 0 ].IsConnected ) - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.INTERNALDATA, addSemiColon: false ); - dataCollector.ForceNormal = true; - - result = "WorldReflectionVector( " + Constants.InputVarStr + " , " + m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + " )"; - if( m_normalize ) - { - result = String.Format( NormalizeFunc, result ); - } - int connCount = 0; - for( int i = 0; i < m_outputPorts.Count; i++ ) - { - connCount += m_outputPorts[ i ].ConnectionCount; - } - - if( connCount > 1 ) - { - dataCollector.AddToLocalVariables( UniqueId, string.Format( ReflectionVecDecStr, ReflectionVecValStr + OutputId, result ) ); - RegisterLocalVariable( 0, result, ref dataCollector, ReflectionVecValStr + OutputId ); - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); - } - } - else - { - dataCollector.AddToInput( UniqueId, SurfaceInputs.INTERNALDATA, addSemiColon: false ); - result = GeneratorUtils.GenerateWorldReflection( ref dataCollector, UniqueId , m_normalize ); - if( dataCollector.DirtyNormal ) - dataCollector.ForceNormal = true; - } - - return GetOutputVectorItem( 0, outputId, result ); - //RegisterLocalVariable( 0, result, ref dataCollector, "worldrefVec" + OutputId ); - //return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue ); - } - } - - public override void ReadFromString( ref string[] nodeParams ) - { - base.ReadFromString( ref nodeParams ); - if( UIUtils.CurrentShaderVersion() > 14202 ) - { - m_normalize = 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_normalize ); - } - - public override void RefreshExternalReferences() - { - base.RefreshExternalReferences(); - if( UIUtils.CurrentShaderVersion() <= 14202 ) - { - if( !m_inputPorts[ 0 ].IsConnected ) - { - m_normalize = true; - } - } - } - } -} diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs.meta b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs.meta deleted file mode 100644 index eb2bf472..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: bd82e1d90bd90fc4d924e97e5fdcc7de -timeCreated: 1481126959 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: |