浏览代码

Merge pull request #95 from Unity-Technologies/node-validate-current

Validate all current nodes
/main
GitHub 7 年前
当前提交
0eec5e4e
共有 83 个文件被更改,包括 648 次插入329 次删除
  1. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/ColorBalanceNode.cs
  2. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/ParallaxNode.cs
  3. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/AACheckerBoard3dNode.cs
  4. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/GradientRampNode.cs
  5. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/LineNode.cs
  6. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/MultiLayerParallaxNode.cs
  7. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/POMNode.cs
  8. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/PulseNode.cs
  9. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/UVPannerNode.cs
  10. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/UVTileNode.cs
  11. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/UVTransform.cs
  12. 90
      MaterialGraphProject/Assets/PartyPreview.ShaderGraph
  13. 4
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendMode.cs
  14. 244
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendNode.cs
  15. 124
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalCreateNode.cs
  16. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/LevelsNode.cs
  17. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/RepeatingDotNode.cs
  18. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/ParticleNode.cs
  19. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/HexNode.cs
  20. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/FractalNode.cs
  21. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/BoxNode.cs
  22. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/SimpleNoiseNode.cs
  23. 10
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/VoronoiNode.cs
  24. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/PreviewNode.cs
  25. 16
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/PropertyNode.cs
  26. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/VertexInterpolatorNode.cs
  27. 4
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/SubGraphNode.cs
  28. 24
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalBlendNode.cs
  29. 22
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalUnpackNode.cs
  30. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend.meta
  31. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal.meta
  32. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Utility.meta
  33. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise.meta
  34. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility.meta
  35. 34
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalStrengthNode.cs
  36. 11
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalStrengthNode.cs.meta
  37. 219
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Utility/ColorspaceConversion.cs
  38. 11
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Utility/ColorspaceConversion.cs.meta
  39. 9
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Conversion.meta
  40. 9
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Filters.meta
  41. 9
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Normal.meta
  42. 9
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Logic.meta
  43. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendNode.cs.meta
  44. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendMode.cs
  45. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendMode.cs.meta
  46. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalCreateNode.cs.meta
  47. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendNode.cs
  48. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalCreateNode.cs
  49. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/LevelsNode.cs.meta
  50. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/LevelsNode.cs
  51. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/VoronoiNode.cs.meta
  52. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/SimpleNoiseNode.cs.meta
  53. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph.meta
  54. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph
  55. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/SimpleNoiseNode.cs
  56. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/VoronoiNode.cs
  57. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/PropertyNode.cs.meta
  58. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/VertexInterpolatorNode.cs.meta
  59. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/PreviewNode.cs.meta
  60. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/PreviewNode.cs
  61. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/PropertyNode.cs
  62. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/VertexInterpolatorNode.cs
  63. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/SubGraphNode.cs.meta
  64. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/SubGraphNode.cs
  65. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/ConvolutionFilterNode.cs.meta
  66. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/ConvolutionFilterNode.cs
  67. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalUnpackNode.cs.meta
  68. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalBlendNode.cs.meta
  69. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalBlendNode.cs
  70. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalUnpackNode.cs
  71. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/IFNode.cs.meta
  72. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/CustomCodeNode.cs.meta
  73. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/CustomCodeNode.cs
  74. 0
      /MaterialGraphProject/Assets/NewNodes/Editor/Keep/IFNode.cs

4
MaterialGraphProject/Assets/NewNodes/Editor/Keep/ColorBalanceNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("Art", "Adjustments", "ColorBalance")]
public class ColorBalanceNode : CodeFunctionNode

";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Keep/ParallaxNode.cs


using UnityEngine;
using UnityEditor.Graphing;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "Parallax")]
public class ParallaxNode : AbstractMaterialNode, IGeneratesBodyCode, IGeneratesFunction, IMayRequireMeshUV, IMayRequireViewDirection

return NeededCoordinateSpace.Tangent;
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Kill/AACheckerBoard3dNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "AACheckerboard3d")]
public class AACheckerboard3dNode : CodeFunctionNode

}";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Kill/GradientRampNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "Gradient Ramp")]
public class GradientRampNode : CodeFunctionNode

";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Kill/LineNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "Line")]
public class LineNode : CodeFunctionNode

}";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Kill/MultiLayerParallaxNode.cs


using UnityEngine;
using UnityEditor.Graphing;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "MultiLayerParallax")]
public class MultiLayerParallaxNode : AbstractMaterialNode, IGeneratesBodyCode, IGeneratesFunction, IMayRequireMeshUV, IMayRequireViewDirection

return NeededCoordinateSpace.Tangent;
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Kill/POMNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "ParallaxOcclusionMapping")]
public class ParallaxOcclusionMappingNode : CodeFunctionNode

";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Kill/PulseNode.cs


using System.Reflection;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "Pulse")]
public class PulseNode : CodeFunctionNode

";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Kill/UVPannerNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "UV Panner")]
public class PannerNode : CodeFunctionNode

}";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Kill/UVTileNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "UV Tile")]
public class UVTileNode : CodeFunctionNode

}";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Kill/UVTransform.cs


using UnityEditor.ShaderGraph.Drawing.Controls;
using UnityEditor.Graphing;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("OLD", "Transform")]
public class UVTransform : CodeFunctionNode

";
}
}
}
}*/

90
MaterialGraphProject/Assets/PartyPreview.ShaderGraph


"typeInfo": {
"fullName": "UnityEditor.ShaderGraph.Texture2DNode"
},
"JSONnodeData": "{\n \"m_GuidSerialized\": \"c37a16b0-ba93-4a1c-810f-ab39d7f7f612\",\n \"m_Name\": \"Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 2444.864013671875,\n \"y\": 445.8893737792969,\n \"width\": 208.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Tex\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Tex\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\n \\\\\\\"texture\\\\\\\": {\\\\n \\\\\\\"fileID\\\\\\\": 2800000,\\\\n \\\\\\\"guid\\\\\\\": \\\\\\\"7296f51323ae9485a9c834c4e3d722ed\\\\\\\",\\\\n \\\\\\\"type\\\\\\\": 3\\\\n }\\\\n}\\\"\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_ShaderStage\\\": 0\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true\n}"
"JSONnodeData": "{\n \"m_GuidSerialized\": \"c37a16b0-ba93-4a1c-810f-ab39d7f7f612\",\n \"m_Name\": \"Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 2444.864013671875,\n \"y\": 445.8893737792969,\n \"width\": 208.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Tex\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Tex\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\n \\\\\\\"texture\\\\\\\": {\\\\n \\\\\\\"fileID\\\\\\\": 2800000,\\\\n \\\\\\\"guid\\\\\\\": \\\\\\\"7296f51323ae9485a9c834c4e3d722ed\\\\\\\",\\\\n \\\\\\\"type\\\\\\\": 3\\\\n }\\\\n}\\\"\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_ShaderStage\\\": 0\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true,\n \"m_TextureType\": 0\n}"
"JSONnodeData": "{\n \"m_GuidSerialized\": \"09c801b5-e0d0-47ea-9b0a-1655f726fef5\",\n \"m_Name\": \"Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 3572.60498046875,\n \"y\": 398.38739013671877,\n \"width\": 208.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Tex\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Tex\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\n \\\\\\\"texture\\\\\\\": {\\\\n \\\\\\\"fileID\\\\\\\": 2800000,\\\\n \\\\\\\"guid\\\\\\\": \\\\\\\"9d64a9e7ca6864704ae6b8ca7afc9d85\\\\\\\",\\\\n \\\\\\\"type\\\\\\\": 3\\\\n }\\\\n}\\\"\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_ShaderStage\\\": 0\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true\n}"
"JSONnodeData": "{\n \"m_GuidSerialized\": \"09c801b5-e0d0-47ea-9b0a-1655f726fef5\",\n \"m_Name\": \"Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 3572.60498046875,\n \"y\": 398.38739013671877,\n \"width\": 208.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Tex\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Tex\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\n \\\\\\\"texture\\\\\\\": {\\\\n \\\\\\\"fileID\\\\\\\": 2800000,\\\\n \\\\\\\"guid\\\\\\\": \\\\\\\"9d64a9e7ca6864704ae6b8ca7afc9d85\\\\\\\",\\\\n \\\\\\\"type\\\\\\\": 3\\\\n }\\\\n}\\\"\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_ShaderStage\\\": 0\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true,\n \"m_TextureType\": 0\n}"
},
{
"typeInfo": {

"typeInfo": {
"fullName": "UnityEditor.ShaderGraph.Texture2DNode"
},
"JSONnodeData": "{\n \"m_GuidSerialized\": \"1b5117e6-7dc3-4eed-ac3d-d0fe4d0479f2\",\n \"m_Name\": \"Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 396.2476501464844,\n \"y\": -260.6746520996094,\n \"width\": 208.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Tex\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Tex\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"\\\"\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_ShaderStage\\\": 0\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true\n}"
"JSONnodeData": "{\n \"m_GuidSerialized\": \"1b5117e6-7dc3-4eed-ac3d-d0fe4d0479f2\",\n \"m_Name\": \"Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 396.2476501464844,\n \"y\": -260.6746520996094,\n \"width\": 208.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Tex\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Tex\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"\\\"\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_ShaderStage\\\": 0\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true,\n \"m_TextureType\": 0\n}"
},
{
"typeInfo": {

},
{
"typeInfo": {
"fullName": "UnityEditor.ShaderGraph.HSVtoRGBNode"
},
"JSONnodeData": "{\n \"m_GuidSerialized\": \"97056904-ce20-4254-9a5e-540a85626552\",\n \"m_Name\": \"HSVtoRGB\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 916.9081420898438,\n \"y\": 16.170108795166017,\n \"width\": 208.0,\n \"height\": 278.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"hsv\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"hsv\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"rgb\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"rgb\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.ShaderGraph.HSVtoRGBNode"
},
"JSONnodeData": "{\n \"m_GuidSerialized\": \"bd84c75e-5df3-4e6d-9709-4a7bbdba103c\",\n \"m_Name\": \"HSVtoRGB\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 2339.43212890625,\n \"y\": 88.84814453125,\n \"width\": 208.0,\n \"height\": 278.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"hsv\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"hsv\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"rgb\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"rgb\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true\n}"
},
{
"typeInfo": {
"JSONnodeData": "{\n \"m_GuidSerialized\": \"a93649e3-bf06-4c4f-bc79-1d6976c2783b\",\n \"m_Name\": \"Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 2417.179443359375,\n \"y\": 979.92578125,\n \"width\": 208.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Tex\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Tex\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"\\\"\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_ShaderStage\\\": 0\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true\n}"
"JSONnodeData": "{\n \"m_GuidSerialized\": \"a93649e3-bf06-4c4f-bc79-1d6976c2783b\",\n \"m_Name\": \"Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 2417.179443359375,\n \"y\": 979.92578125,\n \"width\": 208.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Tex\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Tex\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"\\\"\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_ShaderStage\\\": 0\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true,\n \"m_TextureType\": 0\n}"
},
{
"typeInfo": {

"fullName": "UnityEditor.ShaderGraph.NormalizeNode"
},
"JSONnodeData": "{\n \"m_GuidSerialized\": \"dd5b052d-ea79-4079-afd5-fadffc93c548\",\n \"m_Name\": \"Normalize\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 2494.529296875,\n \"y\": 1463.8306884765625,\n \"width\": 139.0,\n \"height\": 94.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"In\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"In\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_PreviewExpanded\": false\n}"
}
],
"m_SerializableEdges": [
},
"fullName": "UnityEditor.Graphing.Edge"
"fullName": "UnityEditor.ShaderGraph.ColorspaceConversionNode"
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"f8d6252d-4ea6-4422-af12-46ebb4c1f4f6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"bd84c75e-5df3-4e6d-9709-4a7bbdba103c\"\n }\n}"
"JSONnodeData": "{\n \"m_GuidSerialized\": \"a2c41b2b-c04e-4836-88b1-a0d00a255363\",\n \"m_Name\": \"Colorspace Conversion\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 944.166259765625,\n \"y\": 23.244869232177736,\n \"width\": 208.0,\n \"height\": 343.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"In\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"In\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true,\n \"m_SpaceListFrom\": 2,\n \"m_SpaceListTo\": 0\n}"
{
"typeInfo": {
"fullName": "UnityEditor.ShaderGraph.ColorspaceConversionNode"
},
"JSONnodeData": "{\n \"m_GuidSerialized\": \"5f8488c9-00f2-4e56-8e0b-75146dde7eb2\",\n \"m_Name\": \"Colorspace Conversion\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 2404.581298828125,\n \"y\": 96.06141662597656,\n \"width\": 208.0,\n \"height\": 343.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"In\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"In\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true,\n \"m_SpaceListFrom\": 2,\n \"m_SpaceListTo\": 0\n}"
}
],
"m_SerializableEdges": [
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"

"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"bd84c75e-5df3-4e6d-9709-4a7bbdba103c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"c69dae11-8467-4f83-8ce8-10c3d4ee0d92\"\n }\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"bb605bad-d8a1-4bef-93c7-ca49e6d864da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"13adf5a7-ec74-4907-88b2-a29da338b6ca\"\n }\n}"
},
{

"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"97056904-ce20-4254-9a5e-540a85626552\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e11a87a7-4091-4f93-ba4d-6514182a4b2f\"\n }\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"c69dae11-8467-4f83-8ce8-10c3d4ee0d92\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"2302da54-9843-4601-b961-3286e538c9dc\"\n }\n}"
},
{

"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"90c1c1dc-6446-4ab7-80b4-d1bf443f287d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"97056904-ce20-4254-9a5e-540a85626552\"\n }\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"af97c503-5103-4bdd-a737-1e8b36d4174b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e2d89727-90ef-44d6-b333-ea69897a4357\"\n }\n}"
},
{

"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"97056904-ce20-4254-9a5e-540a85626552\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d5176343-6330-4c20-a7a4-77502b34dd23\"\n }\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"4c3b5066-b6af-40e9-9eb5-4626f9721d6e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"87f4a7da-bb8f-4a54-8e80-75681ae351bc\"\n }\n}"
},
{

"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"9e517333-68bd-4055-b03f-c63b8a7de8a2\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"85068ec1-6897-4ce3-a992-31c36d021883\"\n }\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"90c1c1dc-6446-4ab7-80b4-d1bf443f287d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a2c41b2b-c04e-4836-88b1-a0d00a255363\"\n }\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a2c41b2b-c04e-4836-88b1-a0d00a255363\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d5176343-6330-4c20-a7a4-77502b34dd23\"\n }\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a2c41b2b-c04e-4836-88b1-a0d00a255363\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e11a87a7-4091-4f93-ba4d-6514182a4b2f\"\n }\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"f8d6252d-4ea6-4422-af12-46ebb4c1f4f6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5f8488c9-00f2-4e56-8e0b-75146dde7eb2\"\n }\n}"
},
{
"typeInfo": {
"fullName": "UnityEditor.Graphing.Edge"
},
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"5f8488c9-00f2-4e56-8e0b-75146dde7eb2\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"c69dae11-8467-4f83-8ce8-10c3d4ee0d92\"\n }\n}"
}
],
"m_SerializedProperties": [

4
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendMode.cs


namespace UnityEditor.ShaderGraph
{
public enum BlendModesEnum
public enum BlendMode
{
Burn,
Darken,

Lighten,
LinearBurn,
LinearDodge,
LinearLight_AddSub,
LinearLightAddSub,
Multiply,
Negation,
Overlay,

244
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Art", "BlendMode")]
public class BlendModeNode : CodeFunctionNode
[Title("Artistic", "Blend", "Blend")]
public class BlendNode : CodeFunctionNode
public BlendModeNode()
public BlendNode()
name = "BlendMode";
name = "Blend";
return System.Enum.GetName(typeof(BlendModesEnum), m_BlendMode);
return System.Enum.GetName(typeof(BlendMode), m_BlendMode);
BlendModesEnum m_BlendMode;
BlendMode m_BlendMode = BlendMode.Overlay;
public BlendModesEnum blendMode
public BlendMode blendMode
{
get { return m_BlendMode; }
set

protected override MethodInfo GetFunctionToConvert()
{
return GetType().GetMethod(string.Format("Unity_Blend{0}", GetCurrentBlendName()),
return GetType().GetMethod(string.Format("Unity_Blend_{0}", GetCurrentBlendName()),
static string Unity_BlendBurn(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Burn(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = 1.0 - (1.0 - bottom)/top;
Out = 1.0 - (1.0 - B)/A;
static string Unity_BlendDarken(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Darken(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = min(bottom, top);
Out = min(B, A);
static string Unity_BlendDifference(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Difference(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = abs(bottom-top);
Out = abs(B - A);
static string Unity_BlendDodge(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Dodge(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = bottom / (1.0 - top);
Out = B / (1.0 - A);
static string Unity_BlendDivide(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Divide(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = bottom / (top + 0.000000000001);
Out = B / (A + 0.000000000001);
static string Unity_BlendExclusion(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Exclusion(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = bottom + top - (2.0 * bottom * top);;
Out = B + A - (2.0 * B * A);
static string Unity_BlendHardLight(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_HardLight(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
{precision}{slot2dimension} result1 = 1.0 - 2.0 * (1.0 - top) * (1.0 - bottom);
{precision}{slot2dimension} result2 = 2.0 * top * bottom;
{precision}{slot2dimension} zeroOrOne = step(top, 0.5);
result = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
{precision}{slot2dimension} result1 = 1.0 - 2.0 * (1.0 - A) * (1.0 - B);
{precision}{slot2dimension} result2 = 2.0 * A * B;
{precision}{slot2dimension} zeroOrOne = step(A, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
static string Unity_BlendHardMix(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_HardMix(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = step(1-top, bottom);
Out = step(1 - A, B);
static string Unity_BlendLighten(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Lighten(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = max(bottom, top);
Out = max(B, A);
static string Unity_BlendLinearBurn(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_LinearBurn(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = top + bottom - 1.0;
Out = A + B - 1.0;
static string Unity_BlendLinearDodge(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_LinearDodge(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = top + bottom;
Out = A + B;
static string Unity_BlendLinearLight_AddSub(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_LinearLightAddSub(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = bottom + 2.0 * top - 1.0;
Out = B + 2.0 * A - 1.0;
static string Unity_BlendMultiply(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Multiply(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = top * bottom;
Out = A * B;
static string Unity_BlendNegation(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Negation(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = 1.0 - abs(1.0 - bottom - top);;
Out = 1.0 - abs(1.0 - B - A);
static string Unity_BlendScreen(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Screen(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = 1.0 - (1.0-bottom) * (1.0 - top);
Out = 1.0 - (1.0 - B) * (1.0 - A);
static string Unity_BlendOverlay(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Overlay(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
{precision}{slot2dimension} result1 = 1.0 - 2.0 * (1.0 - top) * (1.0 - bottom);
{precision}{slot2dimension} result2 = 2.0 * top * bottom;
{precision}{slot2dimension} zeroOrOne = step(bottom, 0.5);
result = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
{precision}{slot2dimension} result1 = 1.0 - 2.0 * (1.0 - A) * (1.0 - B);
{precision}{slot2dimension} result2 = 2.0 * A * B;
{precision}{slot2dimension} zeroOrOne = step(B, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
static string Unity_BlendPinLight(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_PinLight(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
{precision}{slot2dimension} check = step (0.5, top);
{precision}{slot2dimension} result1 = check * max(2.0*(top - 0.5), bottom);
result = result1 + (1.0 - check) * min(2.0 * top, bottom);
{precision}{slot2dimension} check = step (0.5, A);
{precision}{slot2dimension} result1 = check * max(2.0 * (A - 0.5), B);
Out = result1 + (1.0 - check) * min(2.0 * A, B);
static string Unity_BlendSoftLight(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_SoftLight(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
{precision}{slot2dimension} result1= 2.0 * bottom * top +bottom*top - 2.0 * bottom*bottom*top;
{precision}{slot2dimension} result2= 2.0* sqrt(bottom) * top - sqrt(bottom) + 2.0 * bottom - 2.0 * bottom*top;
{precision}{slot2dimension} zeroOrOne = step(0.5, top);
result = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
{precision}{slot2dimension} result1 = 2.0 * B * A + B * A - 2.0 * B * B * A;
{precision}{slot2dimension} result2 = 2.0 * sqrt(B) * A - sqrt(B) + 2.0 * B - 2.0 * B * A;
{precision}{slot2dimension} zeroOrOne = step(0.5, A);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
static string Unity_BlendVividLight(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_VividLight(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
{precision}{slot2dimension} result1 = 1.0-(1.0-bottom)/(2.0*top);
{precision}{slot2dimension} result2 = bottom/(2.0*(1.0-top));
{precision}{slot2dimension} zeroOrOne = step(0.5, top);
result = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
{precision}{slot2dimension} result1 = 1.0 - (1.0 - B) / (2.0 * A);
{precision}{slot2dimension} result2 = B / (2.0 * (1.0 - A));
{precision}{slot2dimension} zeroOrOne = step(0.5, A);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
static string Unity_BlendSubtract(
[Slot(0, Binding.None)] DynamicDimensionVector top,
[Slot(1, Binding.None)] DynamicDimensionVector bottom,
[Slot(2, Binding.None)] out DynamicDimensionVector result)
static string Unity_Blend_Subtract(
[Slot(0, Binding.None)] DynamicDimensionVector A,
[Slot(1, Binding.None)] DynamicDimensionVector B,
[Slot(2, Binding.None)] out DynamicDimensionVector Out)
result = bottom - top;
Out = B - A;
}
";
}

124
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalCreateNode.cs


using System.Linq;
using UnityEngine;
using UnityEditor.Graphing;
using System.Collections.Generic;
using UnityEditor.ShaderGraph.Drawing.Slots;
using UnityEngine.Experimental.UIElements;
[Title("Utility", "Heightmap To Normalmap")]
public class HeightToNormalNode : AbstractMaterialNode, IGeneratesBodyCode, IMayRequireMeshUV
[Title("Artistic", "Normal", "Normal Create")]
public class NormalCreateNode : AbstractMaterialNode, IGeneratesBodyCode, IGeneratesFunction, IGenerateProperties, IMayRequireMeshUV
public const int TextureInput = 0;
public const int TexCoordInput = 1;
public const int TexOffsetInput = 2;
public const int StrengthInput = 3;
public const int NormalOutput = 4;
public const int TextureInputId = 0;
public const int UVInputId = 1;
public const int SamplerInputId = 2;
public const int OffsetInputId = 3;
public const int StrengthInputId = 4;
public const int OutputSlotId = 5;
const string TextureInputName = "Texture";
const string TexCoordInputName = "UV";
const string TexOffsetInputName = "Offset";
const string StrengthInputName = "Strength";
const string NormalOutputName = "Normal";
const string kTextureInputName = "Texture";
const string kUVInputName = "UV";
const string kSamplerInputName = "Sampler";
const string kOffsetInputName = "Offset";
const string kStrengthInputName = "Strength";
const string kOutputSlotName = "Out";
public HeightToNormalNode()
public NormalCreateNode()
name = "HeightToNormal";
name = "Normal Create";
string GetFunctionName()
{
return string.Format("Unity_NormalCreate_{0}", precision);
}
public override bool hasPreview { get { return true; } }
AddSlot(new Texture2DMaterialSlot(TextureInput, TextureInputName, TextureInputName, SlotType.Input));
AddSlot(new UVMaterialSlot(TexCoordInput, TexCoordInputName, TexCoordInputName, UVChannel.uv0));
AddSlot(new Vector1MaterialSlot(TexOffsetInput, TexOffsetInputName, TexOffsetInputName, SlotType.Input, 0.005f));
AddSlot(new Vector1MaterialSlot(StrengthInput, StrengthInputName, StrengthInputName, SlotType.Input, 8f));
AddSlot(new Vector3MaterialSlot(NormalOutput, NormalOutputName, NormalOutputName, SlotType.Output, Vector3.zero));
AddSlot(new Texture2DInputMaterialSlot(TextureInputId, kTextureInputName, kTextureInputName));
AddSlot(new UVMaterialSlot(UVInputId, kUVInputName, kUVInputName, UVChannel.uv0));
AddSlot(new SamplerStateMaterialSlot(SamplerInputId, kSamplerInputName, kSamplerInputName, SlotType.Input));
AddSlot(new Vector1MaterialSlot(OffsetInputId, kOffsetInputName, kOffsetInputName, SlotType.Input, 0.5f));
AddSlot(new Vector1MaterialSlot(StrengthInputId, kStrengthInputName, kStrengthInputName, SlotType.Input, 8f));
AddSlot(new Vector3MaterialSlot(OutputSlotId, kOutputSlotName, kOutputSlotName, SlotType.Output, Vector3.zero));
RemoveSlotsNameNotMatching(new[] { TextureInputId, UVInputId, SamplerInputId, OffsetInputId, StrengthInputId, OutputSlotId });
}
string GetFunctionPrototype(string textureIn, string samplerIn, string uvIn, string offsetIn, string strengthIn, string argOut)
{
return string.Format("void {0} ({1} {2}, {3} {4}, {5} {6}, {7} {8}, {9} {10}, out {11} {12})", GetFunctionName(),
ConvertConcreteSlotValueTypeToString(precision, FindInputSlot<MaterialSlot>(TextureInputId).concreteValueType), textureIn,
ConvertConcreteSlotValueTypeToString(precision, FindInputSlot<MaterialSlot>(SamplerInputId).concreteValueType), samplerIn,
ConvertConcreteSlotValueTypeToString(precision, FindInputSlot<MaterialSlot>(UVInputId).concreteValueType), uvIn,
ConvertConcreteSlotValueTypeToString(precision, FindInputSlot<MaterialSlot>(OffsetInputId).concreteValueType), offsetIn,
ConvertConcreteSlotValueTypeToString(precision, FindInputSlot<MaterialSlot>(StrengthInputId).concreteValueType), strengthIn,
ConvertConcreteSlotValueTypeToString(precision, FindOutputSlot<MaterialSlot>(OutputSlotId).concreteValueType), argOut);
var textureInput = GetSlotValue(TextureInput, generationMode);
var texCoordInput = GetSlotValue(TexCoordInput, generationMode);
var texOffsetInput = GetSlotValue(TexOffsetInput, generationMode);
var strengthInput = GetSlotValue(StrengthInput, generationMode);
var normalOutput = GetVariableNameForSlot(NormalOutput);
string textureValue = GetSlotValue(TextureInputId, generationMode);
string uvValue = GetSlotValue(UVInputId, generationMode);
string offsetValue = GetSlotValue(OffsetInputId, generationMode);
string strengthValue = GetSlotValue(StrengthInputId, generationMode);
string outputValue = GetSlotValue(OutputSlotId, generationMode);
visitor.AddShaderChunk(string.Format("{0}3 {1};", precision, normalOutput), true);
visitor.AddShaderChunk("{", false);
visitor.Indent();
{
visitor.AddShaderChunk(string.Format("{0}2 offsetU = float2({1}.x + {2}, {1}.y);", precision, texCoordInput, texOffsetInput), true);
visitor.AddShaderChunk(string.Format("{0}2 offsetV = float2({1}.x, {1}.y + {2});", precision, texCoordInput, texOffsetInput), true);
var samplerSlot = FindInputSlot<MaterialSlot>(SamplerInputId);
var edgesSampler = owner.GetEdges(samplerSlot.slotReference);
string samplerValue;
if (edgesSampler.Any())
samplerValue = GetSlotValue(SamplerInputId, generationMode);
else
samplerValue = string.Format("sampler{0}", GetSlotValue(TextureInputId, generationMode));
visitor.AddShaderChunk(string.Format("{0} normalSample = UNITY_SAMPLE_TEX2D({1}, {2});", precision, textureInput, texCoordInput), true);
visitor.AddShaderChunk(string.Format("{0} uSample = UNITY_SAMPLE_TEX2D({1}, offsetU);", precision, textureInput), true);
visitor.AddShaderChunk(string.Format("{0} vSample = UNITY_SAMPLE_TEX2D({1}, offsetV);", precision, textureInput), true);
visitor.AddShaderChunk(string.Format("{0} {1};", ConvertConcreteSlotValueTypeToString(precision, FindOutputSlot<MaterialSlot>(OutputSlotId).concreteValueType), GetVariableNameForSlot(OutputSlotId)), true);
visitor.AddShaderChunk(GetFunctionCallBody(textureValue, samplerValue, uvValue, offsetValue, strengthValue, outputValue), true);
}
visitor.AddShaderChunk(string.Format("{0}3 va = float3(1, 0, (uSample - normalSample) * {1});", precision, strengthInput), true);
visitor.AddShaderChunk(string.Format("{0}3 vb = float3(0, 1, (vSample - normalSample) * {1});", precision, strengthInput), true);
visitor.AddShaderChunk(string.Format("{0} = cross(va, vb);", normalOutput), true);
}
visitor.Deindent();
visitor.AddShaderChunk("}", false);
string GetFunctionCallBody(string textureValue, string samplerValue, string uvValue, string offsetValue, string strengthValue, string outputValue)
{
return GetFunctionName() + " (" + textureValue + ", " + samplerValue + ", " + uvValue + ", " + offsetValue + ", " + strengthValue + ", " + outputValue + ");";
public override bool hasPreview
public void GenerateNodeFunction(ShaderGenerator visitor, GenerationMode generationMode)
get { return true; }
visitor.AddShaderChunk(GetFunctionPrototype("Texture", "Sampler", "UV", "Offset", "Strength", "Out"), true);
visitor.AddShaderChunk("{", true);
visitor.Indent();
visitor.AddShaderChunk("Offset = pow(Offset, 3) * 0.1;", true);
visitor.AddShaderChunk(string.Format("{0}2 offsetU = float2(UV.x + Offset, UV.y);", precision), true);
visitor.AddShaderChunk(string.Format("{0}2 offsetV = float2(UV.x, UV.y + Offset);", precision), true);
visitor.AddShaderChunk(string.Format("{0} normalSample = Texture.Sample(Sampler, UV);", precision), true);
visitor.AddShaderChunk(string.Format("{0} uSample = Texture.Sample(Sampler, offsetU);", precision), true);
visitor.AddShaderChunk(string.Format("{0} vSample = Texture.Sample(Sampler, offsetV);", precision), true);
visitor.AddShaderChunk(string.Format("{0}3 va = float3(1, 0, (uSample - normalSample) * Strength);", precision), true);
visitor.AddShaderChunk(string.Format("{0}3 vb = float3(0, 1, (vSample - normalSample) * Strength);", precision), true);
visitor.AddShaderChunk("Out = normalize(cross(va, vb));", true);
visitor.Deindent();
visitor.AddShaderChunk("}", true);
}
public bool RequiresMeshUV(UVChannel channel)

return false;
}
}
}
}

4
MaterialGraphProject/Assets/NewNodes/Editor/Keep/LevelsNode.cs


using System.Collections.Generic;
using System.Reflection;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("Art", "Adjustments", "Levels")]
public class LevelsNode : CodeFunctionNode

";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/RepeatingDotNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("Procedural", "MakeSubgraph", "Repeating Dot")]
public class RepeatingDotNode : CodeFunctionNode

}";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/ParticleNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("Procedural", "MakeSubgraph", "Particle")]
public class ParticleNode : CodeFunctionNode

";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/HexNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("Procedural", "MakeSubgraph", "Hexagon")]
public class HexNode : CodeFunctionNode

";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/FractalNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("Procedural", "MakeSubgraph", "Fractal")]
public class FractalNode : CodeFunctionNode

";
}
}
}
}*/

4
MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph/BoxNode.cs


using System.Reflection;
using UnityEngine;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("Procedural", "MakeSubgraph", "Square")]
public class BoxNode : CodeFunctionNode

}";
}
}
}
}*/

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/SimpleNoiseNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Procedural", "Noise")]
[Title("Procedural", "Noise", "Simple Noise")]
name = "Noise";
name = "Simple Noise";
return GetType().GetMethod("Unity_Noise", BindingFlags.Static | BindingFlags.NonPublic);
return GetType().GetMethod("Unity_SimpleNoise", BindingFlags.Static | BindingFlags.NonPublic);
static string Unity_Noise(
static string Unity_SimpleNoise(
[Slot(0, Binding.MeshUV0)] Vector2 UV,
[Slot(1, Binding.None, 500f, 500f, 500f, 500f)] Vector1 Scale,
[Slot(2, Binding.None)] out Vector1 Out)

10
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/VoronoiNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Procedural", "Voronoi")]
public class VoronoiNoiseNode : CodeFunctionNode
[Title("Procedural", "Noise", "Voronoi")]
public class VoronoiNode : CodeFunctionNode
public VoronoiNoiseNode()
public VoronoiNode()
{
name = "Voronoi";
}

return GetType().GetMethod("Unity_VoronoiNoise", BindingFlags.Static | BindingFlags.NonPublic);
return GetType().GetMethod("Unity_Voronoi", BindingFlags.Static | BindingFlags.NonPublic);
static string Unity_VoronoiNoise(
static string Unity_Voronoi(
[Slot(0, Binding.MeshUV0)] Vector2 UV,
[Slot(1, Binding.None, 2.0f, 0, 0, 0)] Vector1 AngleOffset,
[Slot(2, Binding.None, 5.0f, 5.0f, 5.0f, 5.0f)] Vector1 CellDensity,

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/PreviewNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Preview Node")]
[Title("Utility", "Preview")]
public class PreviewNode : CodeFunctionNode
{
public override bool hasPreview { get { return true; } }

}
static string Unity_Preview(
[Slot(0, Binding.None)] DynamicDimensionVector input,
[Slot(1, Binding.None)] out DynamicDimensionVector output)
[Slot(0, Binding.None)] DynamicDimensionVector In,
[Slot(1, Binding.None)] out DynamicDimensionVector Out)
output = input;
Out = In;
}
";
}

16
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/PropertyNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Property Node")]
[Title("Input", "Property")]
public class PropertyNode : AbstractMaterialNode, IGeneratesBodyCode, IOnAssetEnabled
{
private Guid m_PropertyGuid;

if (property is FloatShaderProperty)
{
AddSlot(new Vector1MaterialSlot(OutputSlotId, "float", "float", SlotType.Output, 0));
AddSlot(new Vector1MaterialSlot(OutputSlotId, "Out", "Out", SlotType.Output, 0));
AddSlot(new Vector2MaterialSlot(OutputSlotId, "V2", "V2", SlotType.Output, Vector4.zero));
AddSlot(new Vector2MaterialSlot(OutputSlotId, "Out", "Out", SlotType.Output, Vector4.zero));
AddSlot(new Vector3MaterialSlot(OutputSlotId, "V3", "V3", SlotType.Output, Vector4.zero));
AddSlot(new Vector3MaterialSlot(OutputSlotId, "Out", "Out", SlotType.Output, Vector4.zero));
AddSlot(new Vector4MaterialSlot(OutputSlotId, "V4", "V4", SlotType.Output, Vector4.zero));
AddSlot(new Vector4MaterialSlot(OutputSlotId, "Out", "Out", SlotType.Output, Vector4.zero));
AddSlot(new Vector4MaterialSlot(OutputSlotId, "Color", "Color", SlotType.Output, Vector4.zero));
AddSlot(new Vector4MaterialSlot(OutputSlotId, "Out", "Out", SlotType.Output, Vector4.zero));
AddSlot(new Texture2DMaterialSlot(OutputSlotId, "T", "T", SlotType.Output));
AddSlot(new Texture2DMaterialSlot(OutputSlotId, "Out", "Out", SlotType.Output));
AddSlot(new CubemapMaterialSlot(OutputSlotId, "C", "C", SlotType.Output));
AddSlot(new CubemapMaterialSlot(OutputSlotId, "Out", "Out", SlotType.Output));
RemoveSlotsNameNotMatching(new[] { OutputSlotId });
}
}

4
MaterialGraphProject/Assets/NewNodes/Editor/Keep/VertexInterpolatorNode.cs


using UnityEngine;
using UnityEditor.Graphing;
namespace UnityEditor.ShaderGraph
/*namespace UnityEditor.ShaderGraph
{
[Title("Vertex Interpolation")]
public class VertexInterpolatorNode : AbstractMaterialNode

static readonly int[] k_ValidSlots = { InputSlotId, OutputSlotId };
}
}
}*/

4
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/SubGraphNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Sub-graph", "Sub-graph Node")]
[Title("Utility", "Sub-graph")]
public class SubGraphNode : AbstractSubGraphNode
, IGeneratesBodyCode
, IOnAssetEnabled

public SubGraphNode()
{
name = "SubGraph";
name = "Sub-graph";
}
public void GenerateNodeCode(ShaderGenerator shaderBodyVisitor, GenerationMode generationMode)

24
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalBlendNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Normal", "Blend Normal")]
public class BlendNormalNode : CodeFunctionNode
[Title("Artistic", "Normal", "Normal Blend")]
public class NormalBlendNode : CodeFunctionNode
public BlendNormalNode()
public NormalBlendNode()
name = "BlendNormal";
name = "Normal Blend";
return GetType().GetMethod("Unity_Blendnormal", BindingFlags.Static | BindingFlags.NonPublic);
return GetType().GetMethod("Unity_NormalBlend", BindingFlags.Static | BindingFlags.NonPublic);
static string Unity_Blendnormal(
[Slot(0, Binding.None)] Vector3 first,
[Slot(1, Binding.None)] Vector3 second,
[Slot(2, Binding.None)] out Vector3 result)
static string Unity_NormalBlend(
[Slot(0, Binding.None, 0, 0, 1, 0)] Vector3 A,
[Slot(1, Binding.None, 0, 0, 1, 0)] Vector3 B,
[Slot(2, Binding.None)] out Vector3 Out)
result = Vector3.one;
Out = Vector3.one;
result = normalize({precision}3(first.rg + second.rg, first.b * second.b));
Out = normalize({precision}3(A.rg + B.rg, A.b * B.b));
}
}

22
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalUnpackNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Normal", "Unpack Normal")]
internal class UnpackNormalNode : CodeFunctionNode
[Title("Artistic", "Normal", "Normal Unpack")]
internal class NormalUnpackNode : CodeFunctionNode
public UnpackNormalNode()
public NormalUnpackNode()
name = "UnpackNormal";
name = "Normal Unpack";
return GetType().GetMethod("Unity_UnpackNormal", BindingFlags.Static | BindingFlags.NonPublic);
return GetType().GetMethod("Unity_NormalUnpack", BindingFlags.Static | BindingFlags.NonPublic);
static string Unity_UnpackNormal(
[Slot(0, Binding.None)] Vector4 packedNormal,
[Slot(1, Binding.None)] out Vector3 normal)
static string Unity_NormalUnpack(
[Slot(0, Binding.None)] Vector4 In,
[Slot(1, Binding.None)] out Vector3 Out)
normal = Vector3.up;
Out = Vector3.up;
normal = UnpackNormal(packedNormal);
Out = UnpackNormal(In);
}
}

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend.meta


fileFormatVersion: 2
guid: f85e7557d4bb9874882ec3fa3044a53e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal.meta


fileFormatVersion: 2
guid: b7f9e0995756c4a4896912f8873eb63c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Utility.meta


fileFormatVersion: 2
guid: 32bf6e8fcb46ec24a9db465ddec10a34
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise.meta


fileFormatVersion: 2
guid: 3f074934a38b41c4ea34460933733201
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility.meta


fileFormatVersion: 2
guid: f3d12703f494d7147b7874aabe94ab18
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

34
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalStrengthNode.cs


using System.Reflection;
using UnityEngine;
using UnityEditor.Graphing;
namespace UnityEditor.ShaderGraph
{
[Title("Artistic", "Normal", "Normal Strength")]
internal class NormalStrengthNode : CodeFunctionNode
{
public NormalStrengthNode()
{
name = "Normal Strength";
}
protected override MethodInfo GetFunctionToConvert()
{
return GetType().GetMethod("Unity_NormalStrength", BindingFlags.Static | BindingFlags.NonPublic);
}
static string Unity_NormalStrength(
[Slot(0, Binding.None, 0, 0, 1, 0)] Vector3 In,
[Slot(1, Binding.None, 1, 1, 1, 1)] Vector1 Strength,
[Slot(2, Binding.None)] out Vector3 Out)
{
Out = Vector3.up;
return
@"
{
Out = {precision}3(In.rg * Strength, 1);
}
";
}
}
}

11
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalStrengthNode.cs.meta


fileFormatVersion: 2
guid: c003a641a03160e478f4ce7ee8ce8da6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

219
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Utility/ColorspaceConversion.cs


using System.Reflection;
using UnityEditor.ShaderGraph.Drawing.Controls;
using UnityEngine;
using UnityEditor.Graphing;
namespace UnityEditor.ShaderGraph
{
public enum Colorspace
{
RGB,
Linear,
HSV
}
[Title("Artistic", "Utility", "Colorspace Conversion")]
public class ColorspaceConversionNode : CodeFunctionNode
{
public ColorspaceConversionNode()
{
name = "Colorspace Conversion";
}
[SerializeField]
private Colorspace m_SpaceListFrom = Colorspace.RGB;
[SerializeField]
private Colorspace m_SpaceListTo = Colorspace.RGB;
[EnumControl("From")]
public Colorspace spaceFrom
{
get { return m_SpaceListFrom; }
set
{
if (m_SpaceListFrom == value)
return;
m_SpaceListFrom = value;
if (onModified != null)
{
onModified(this, ModificationScope.Graph);
}
}
}
[EnumControl("To")]
public Colorspace spaceTo
{
get { return m_SpaceListTo; }
set
{
if (m_SpaceListTo == value)
return;
m_SpaceListTo = value;
if (onModified != null)
{
onModified(this, ModificationScope.Graph);
}
}
}
string GetSpaceFrom()
{
return System.Enum.GetName(typeof(Colorspace), m_SpaceListFrom);
}
string GetSpaceTo()
{
return System.Enum.GetName(typeof(Colorspace), m_SpaceListTo);
}
protected override MethodInfo GetFunctionToConvert()
{
return GetType().GetMethod(string.Format("Unity_ColorspaceConversion_{0}_{1}", GetSpaceFrom(), GetSpaceTo()),
BindingFlags.Static | BindingFlags.NonPublic);
}
static string Unity_ColorspaceConversion_RGB_RGB(
[Slot(0, Binding.None)] Vector3 In,
[Slot(1, Binding.None)] out Vector3 Out)
{
Out = Vector3.zero;
return
@"
{
Out = In;
}
";
}
static string Unity_ColorspaceConversion_RGB_Linear(
[Slot(0, Binding.None)] Vector3 In,
[Slot(1, Binding.None)] out Vector3 Out)
{
Out = Vector3.zero;
return
@"
{
{precision}3 linearRGBLo = In / 12.92;;
{precision}3 linearRGBHi = pow(max(abs((In + 0.055) / 1.055), 1.192092896e-07), {precision}3(2.4, 2.4, 2.4));;
Out = {precision}3(In <= 0.04045) ? linearRGBLo : linearRGBHi;
}
";
}
static string Unity_ColorspaceConversion_RGB_HSV(
[Slot(0, Binding.None)] Vector3 In,
[Slot(1, Binding.None)] out Vector3 Out)
{
Out = Vector3.zero;
return
@"
{
{precision}4 K = {precision}4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
{precision}4 P = lerp({precision}4(In.bg, K.wz), {precision}4(In.gb, K.xy), step(In.b, In.g));
{precision}4 Q = lerp({precision}4(P.xyw, In.r), {precision}4(In.r, P.yzx), step(P.x, In.r));
{precision} D = Q.x - min(Q.w, Q.y);
{precision} E = 1e-10;
Out = {precision}3(abs(Q.z + (Q.w - Q.y)/(6.0 * D + E)), D / (Q.x + E), Q.x);
}
";
}
static string Unity_ColorspaceConversion_Linear_RGB(
[Slot(0, Binding.None)] Vector3 In,
[Slot(1, Binding.None)] out Vector3 Out)
{
Out = Vector3.zero;
return
@"
{
{precision}3 sRGBLo = In * 12.92;
{precision}3 sRGBHi = (pow(max(abs(In), 1.192092896e-07), {precision}3(1.0 / 2.4, 1.0 / 2.4, 1.0 / 2.4)) * 1.055) - 0.055;
Out = {precision}3(In <= 0.0031308) ? sRGBLo : sRGBHi;
}
";
}
static string Unity_ColorspaceConversion_Linear_Linear(
[Slot(0, Binding.None)] Vector3 In,
[Slot(1, Binding.None)] out Vector3 Out)
{
Out = Vector3.zero;
return
@"
{
Out = In;
}
";
}
static string Unity_ColorspaceConversion_Linear_HSV(
[Slot(0, Binding.None)] Vector3 In,
[Slot(1, Binding.None)] out Vector3 Out)
{
Out = Vector3.zero;
return
@"
{
{precision}3 sRGBLo = In * 12.92;
{precision}3 sRGBHi = (pow(max(abs(In), 1.192092896e-07), {precision}3(1.0 / 2.4, 1.0 / 2.4, 1.0 / 2.4)) * 1.055) - 0.055;
{precision}3 Linear = {precision}3(In <= 0.0031308) ? sRGBLo : sRGBHi;
{precision}4 K = {precision}4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
{precision}4 P = lerp({precision}4(Linear.bg, K.wz), {precision}4(Linear.gb, K.xy), step(Linear.b, Linear.g));
{precision}4 Q = lerp({precision}4(P.xyw, Linear.r), {precision}4(Linear.r, P.yzx), step(P.x, Linear.r));
{precision} D = Q.x - min(Q.w, Q.y);
{precision} E = 1e-10;
Out = {precision}3(abs(Q.z + (Q.w - Q.y)/(6.0 * D + E)), D / (Q.x + E), Q.x);
}
";
}
static string Unity_ColorspaceConversion_HSV_RGB(
[Slot(0, Binding.None)] Vector3 In,
[Slot(1, Binding.None)] out Vector3 Out)
{
Out = Vector3.zero;
return
@"
{
{precision}4 K = {precision}4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
{precision}3 P = abs(frac(In.xxx + K.xyz) * 6.0 - K.www);
Out = In.z * lerp(K.xxx, saturate(P - K.xxx), In.y);
}
";
}
static string Unity_ColorspaceConversion_HSV_Linear(
[Slot(0, Binding.None)] Vector3 In,
[Slot(1, Binding.None)] out Vector3 Out)
{
Out = Vector3.zero;
return
@"
{
{precision}4 K = {precision}4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
{precision}3 P = abs(frac(In.xxx + K.xyz) * 6.0 - K.www);
{precision}3 RGB = In.z * lerp(K.xxx, saturate(P - K.xxx), In.y);
{precision}3 linearRGBLo = RGB / 12.92;;
{precision}3 linearRGBHi = pow(max(abs((RGB + 0.055) / 1.055), 1.192092896e-07), {precision}3(2.4, 2.4, 2.4));;
Out = {precision}3(RGB <= 0.04045) ? linearRGBLo : linearRGBHi;
}
";
}
static string Unity_ColorspaceConversion_HSV_HSV(
[Slot(0, Binding.None)] Vector3 In,
[Slot(1, Binding.None)] out Vector3 Out)
{
Out = Vector3.zero;
return
@"
{
Out = In;
}
";
}
}
}

11
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Utility/ColorspaceConversion.cs.meta


fileFormatVersion: 2
guid: 96dd6bbf093ac3d41a5bdaa467b58e6c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

9
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Conversion.meta


fileFormatVersion: 2
guid: 9134a2b351ed9f140bfbb2d46f9075b5
folderAsset: yes
timeCreated: 1495532965
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

9
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Filters.meta


fileFormatVersion: 2
guid: 7ed888a282fe7b54e968311cd68c4862
folderAsset: yes
timeCreated: 1495638073
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

9
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Normal.meta


fileFormatVersion: 2
guid: 8443203ba8104ff4bb0a6a0ed978034e
folderAsset: yes
timeCreated: 1495532369
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

9
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Logic.meta


fileFormatVersion: 2
guid: ccd4e915255073341a538223ae6838f8
folderAsset: yes
timeCreated: 1495614357
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

/MaterialGraphProject/Assets/NewNodes/Editor/Keep/BlendModeNode.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendNode.cs.meta

/MaterialGraphProject/Assets/NewNodes/Editor/Keep/BlendModesEnum.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendMode.cs

/MaterialGraphProject/Assets/NewNodes/Editor/Keep/BlendModesEnum.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendMode.cs.meta

/MaterialGraphProject/Assets/NewNodes/Editor/Keep/HeightToNormalNode.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalCreateNode.cs.meta

/MaterialGraphProject/Assets/NewNodes/Editor/Keep/BlendModeNode.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Blend/BlendNode.cs

/MaterialGraphProject/Assets/NewNodes/Editor/Keep/HeightToNormalNode.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalCreateNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/LevelsNode.cs.meta → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/LevelsNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/LevelsNode.cs → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/LevelsNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/VoronoiNoise.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/VoronoiNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/NoiseNode.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/SimpleNoiseNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/MakeSubgraph.meta → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/MakeSubgraph → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/MakeSubgraph

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/NoiseNode.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/SimpleNoiseNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/VoronoiNoise.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Procedural/Noise/VoronoiNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/PropertyNode.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/PropertyNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/VertexInterpolatorNode.cs.meta → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/VertexInterpolatorNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/PreviewNode.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/PreviewNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/PreviewNode.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/PreviewNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/PropertyNode.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/PropertyNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/VertexInterpolatorNode.cs → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/VertexInterpolatorNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/SubGraph/SubGraphNode.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/SubGraphNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/SubGraph/SubGraphNode.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Utility/SubGraphNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Filters/ConvolutionFilterNode.cs.meta → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/ConvolutionFilterNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Filters/ConvolutionFilterNode.cs → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/ConvolutionFilterNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Normal/UnpackNormalNode.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalUnpackNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Normal/BlendNormalNode.cs.meta → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalBlendNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Normal/BlendNormalNode.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalBlendNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Normal/UnpackNormalNode.cs → /MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Normal/NormalUnpackNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Logic/IFNode.cs.meta → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/IFNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Logic/CustomCodeNode.cs.meta → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/CustomCodeNode.cs.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Logic/CustomCodeNode.cs → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/CustomCodeNode.cs

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Logic/IFNode.cs → /MaterialGraphProject/Assets/NewNodes/Editor/Keep/IFNode.cs

正在加载...
取消
保存