浏览代码

Merge branch 'master' into node-input-scene

/main
Matt Dean 7 年前
当前提交
ca5e100b
共有 305 个文件被更改,包括 438 次插入313 次删除
  1. 2
      MaterialGraphProject/Assets/NewNodes/Editor/ChannelBlendNode.cs
  2. 2
      MaterialGraphProject/Assets/NewNodes/Editor/FunctionNAddNode.cs
  3. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/ColorBalanceNode.cs
  4. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/ParallaxNode.cs
  5. 4
      MaterialGraphProject/Assets/NewNodes/Editor/Keep/UVTriPlanar.cs
  6. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/AACheckerBoard3dNode.cs
  7. 2
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/CheckerboardNode.cs
  8. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/GradientRampNode.cs
  9. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/LineNode.cs
  10. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/MultiLayerParallaxNode.cs
  11. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/POMNode.cs
  12. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/PulseNode.cs
  13. 2
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/ScatterNode.cs
  14. 2
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/SphericalIndentationNode.cs
  15. 2
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/SpherizeNode.cs
  16. 2
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/ToggleNode.cs
  17. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/UVPannerNode.cs
  18. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/UVTileNode.cs
  19. 6
      MaterialGraphProject/Assets/NewNodes/Editor/Kill/UVTransform.cs
  20. 90
      MaterialGraphProject/Assets/PartyPreview.ShaderGraph
  21. 3
      MaterialGraphProject/Assets/UnityShaderEditor.meta
  22. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/AbstractMaterialGraph.cs
  23. 12
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/AbstractShaderProperty.cs
  24. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/ColorShaderProperty.cs
  25. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/CubemapInputMaterialSlot.cs
  26. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/CubemapShaderProperty.cs
  27. 10
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/DynamicVectorMaterialSlot.cs
  28. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/FloatShaderProperty.cs
  29. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/MaterialSlot.cs
  30. 16
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/PreviewProperty.cs
  31. 4
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/SamplerStateShaderProperty.cs
  32. 36
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/SerializableTexture.cs
  33. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Texture2DInputMaterialSlot.cs
  34. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/TextureShaderProperty.cs
  35. 10
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector1MaterialSlot.cs
  36. 10
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector2MaterialSlot.cs
  37. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector2ShaderProperty.cs
  38. 10
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector3MaterialSlot.cs
  39. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector3ShaderProperty.cs
  40. 10
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector4MaterialSlot.cs
  41. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector4ShaderProperty.cs
  42. 11
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireBitangent.cs
  43. 11
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireNormal.cs
  44. 11
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequirePosition.cs
  45. 11
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireTangent.cs
  46. 12
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireTime.cs
  47. 11
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireViewDirection.cs
  48. 10
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/MaterialGraphChange.cs
  49. 12
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/NeededCoordinateSpace.cs
  50. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/LightweightPipeline/LightweightFastBlinnMasterNode.cs
  51. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/LightweightPipeline/PBRMasterNode.cs
  52. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/LightweightPipeline/UnlitMasterNode.cs
  53. 62
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/AbstractMaterialNode.cs
  54. 20
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/ChannelMixerNode.cs
  55. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/ContrastNode.cs
  56. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/HueNode.cs
  57. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/ReplaceColorNode.cs
  58. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/SaturationNode.cs
  59. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/WhiteBalanceNode.cs
  60. 4
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Mask/ChannelMaskNode.cs
  61. 4
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Mask/ColorMaskNode.cs
  62. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Channel/CombineNode.cs
  63. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Channel/FlipNode.cs
  64. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Channel/SplitNode.cs
  65. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Channel/SwizzleNode.cs
  66. 50
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/CodeFunctionNode.cs
  67. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/ColorNode.cs
  68. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/ConstantNode.cs
  69. 4
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/TimeNode.cs
  70. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/Vector1Node.cs
  71. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/Vector2Node.cs
  72. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/Vector3Node.cs
  73. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/Vector4Node.cs
  74. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/BitangentVectorNode.cs
  75. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/NormalVectorNode.cs
  76. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/PositionNode.cs
  77. 7
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/ScreenPositionNode.cs
  78. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/TangentVectorNode.cs
  79. 7
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/UVNode.cs
  80. 7
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/VertexColorNode.cs
  81. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/ViewDirectionNode.cs
  82. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Matrix/Matrix2Node.cs
  83. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Matrix/Matrix3Node.cs
  84. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Matrix/Matrix4Node.cs
  85. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Matrix/TransformationMatrixNode.cs
  86. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Scene/CameraNode.cs
  87. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Scene/LightProbeNode.cs
  88. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Scene/ReflectionProbeNode.cs
  89. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/CubemapAssetNode.cs
  90. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/CubemapNode.cs
  91. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Delete/CubemapNode.cs
  92. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Delete/SamplerAssetNode.cs
  93. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Delete/TextureLODNode.cs
  94. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/SamplerStateNode.cs
  95. 10
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Texture2DAssetNode.cs
  96. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Texture2DNode.cs
  97. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Time/SinTimeNode.cs
  98. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Time/TimeNode.cs
  99. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Math/Advanced/AbsoluteNode.cs
  100. 2
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Math/Advanced/ExponentialNode.cs

2
MaterialGraphProject/Assets/NewNodes/Editor/ChannelBlendNode.cs


namespace UnityEditor.ShaderGraph
{
/* [Title("Art/ChannelBlend")]
/* [Title("Art", "ChannelBlend")]
public class ChannelBlend : FunctionNInNOut, IGeneratesFunction
{

2
MaterialGraphProject/Assets/NewNodes/Editor/FunctionNAddNode.cs


namespace UnityEditor.ShaderGraph
{
/* [Title("Math/Advanced/Adder")]
/* [Title("Math", "Advanced", "Adder")]
public class AddManyNode : FunctionNInNOut, IGeneratesFunction
{
int m_nodeInputCount = 2;

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


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

";
}
}
}
}*/

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


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

return NeededCoordinateSpace.Tangent;
}
}
}
}*/

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


namespace UnityEditor.ShaderGraph
{
/* [Title("UV/Tri-Planar Mapping")]
/* [Title("UV", "Tri-Planar Mapping")]
public class UVTriPlanar : FunctionNInNOut, IGeneratesFunction, IMayRequireNormal, IMayRequireWorldPosition
{
private int slot0, slot1, slot2, slot3, slot4, slot5, slot6 = 0;

namespace UnityEditor.ShaderGraph
{
[Title("UV/Tri-Planar Mapping")]
[Title("UV", "Tri-Planar Mapping")]
public class UVTriPlanar : FunctionNInNOut, IGeneratesFunction, IMayRequireNormal, IMayRequireWorldPosition
{
private int slot0, slot1, slot2, slot3, slot4, slot5, slot6 = 0;

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


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

}";
}
}
}
}*/

2
MaterialGraphProject/Assets/NewNodes/Editor/Kill/CheckerboardNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("OLD/Checkerboard")]
[Title("OLD", "Checkerboard")]
public class CheckerboardNode : CodeFunctionNode
{
public CheckerboardNode()

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


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

";
}
}
}
}*/

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


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

}";
}
}
}
}*/

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


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

return NeededCoordinateSpace.Tangent;
}
}
}
}*/

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


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

";
}
}
}
}*/

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


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

";
}
}
}
}*/

2
MaterialGraphProject/Assets/NewNodes/Editor/Kill/ScatterNode.cs


namespace UnityEditor.ShaderGraph
{
/* [Title("Procedural/Scatter")]
/* [Title("Procedural", "Scatter")]
public class ScatterNode : FunctionNInNOut, IGeneratesFunction
{

2
MaterialGraphProject/Assets/NewNodes/Editor/Kill/SphericalIndentationNode.cs


namespace UnityEditor.ShaderGraph
{
/*
[Title("UV/Spherize 3D")]
[Title("UV", "Spherize 3D")]
public class SphericalIndentationNode : CodeFunctionNode
{
public SphericalIndentationNode()

2
MaterialGraphProject/Assets/NewNodes/Editor/Kill/SpherizeNode.cs


namespace UnityEditor.ShaderGraph
{
/*
[Title("OLD/SpherizeOLD")]
[Title("OLD", "SpherizeOLD")]
public class SpherizeNode : CodeFunctionNode
{
public SpherizeNode()

2
MaterialGraphProject/Assets/NewNodes/Editor/Kill/ToggleNode.cs


namespace UnityEditor.ShaderGraph
{
/* [Title("Input/Toggle")]
/* [Title("Input", "Toggle")]
public class ToggleNode : PropertyNode, IGeneratesBodyCode
{
[SerializeField]

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


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

}";
}
}
}
}*/

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


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

}";
}
}
}
}*/

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


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

";
}
}
}
}*/

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": [

3
MaterialGraphProject/Assets/UnityShaderEditor.meta


fileFormatVersion: 2
guid: b100142c357c2d745b9707d6e2f987fd
folderAsset: yes
timeCreated: 1444200922
licenseType: Pro
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/AbstractMaterialGraph.cs


m_RemovedProperties.Add(guid);
}
static List<IEdge> s_TempEdges = new List<IEdge>();
public void ReplacePropertyNodeWithConcreteNode(PropertyNode propertyNode)
{
var property = properties.FirstOrDefault(x => x.guid == propertyNode.propertyGuid);

node.drawState = propertyNode.drawState;
AddNodeNoValidate(node);
foreach (var edge in GetEdges(slot.slotReference).ToArray())
s_TempEdges.Clear();
GetEdges(slot.slotReference, s_TempEdges);
foreach (var edge in s_TempEdges)
ConnectNoValidate(node.GetSlotReference(slotId), edge.inputSlot);
RemoveNodeNoValidate(propertyNode);

12
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/AbstractShaderProperty.cs


set { m_Name = value; }
}
string m_DefaultReferenceName;
return string.IsNullOrEmpty(overrideReferenceName)
? string.Format("{0}_{1}", propertyType, GuidEncoder.Encode(guid))
: overrideReferenceName;
if (string.IsNullOrEmpty(overrideReferenceName))
{
if (string.IsNullOrEmpty(m_DefaultReferenceName))
m_DefaultReferenceName = string.Format("{0}_{1}", propertyType, GuidEncoder.Encode(guid));
return m_DefaultReferenceName;
}
return overrideReferenceName;
}
}

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/ColorShaderProperty.cs


{
return new PreviewProperty
{
m_Name = referenceName,
m_PropType = PropertyType.Color,
m_Color = value
name = referenceName,
propType = PropertyType.Color,
colorValue = value
};
}
}

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/CubemapInputMaterialSlot.cs


{
var pp = new PreviewProperty
{
m_Name = name,
m_PropType = PropertyType.Cubemap,
m_Cubemap = cubemap
name = name,
propType = PropertyType.Cubemap,
cubemapValue = cubemap
};
return pp;
}

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/CubemapShaderProperty.cs


{
return new PreviewProperty()
{
m_Name = referenceName,
m_PropType = PropertyType.Cubemap,
m_Cubemap = value.cubemap
name = referenceName,
propType = PropertyType.Cubemap,
cubemapValue = value.cubemap
};
}
}

10
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/DynamicVectorMaterialSlot.cs


{
var pp = new PreviewProperty
{
m_Name = name,
m_PropType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
m_Vector4 = new Vector4(value.x, value.y, value.z, value.w),
m_Float = value.x,
m_Color = new Vector4(value.x, value.x, value.z, value.w),
name = name,
propType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
vector4Value = new Vector4(value.x, value.y, value.z, value.w),
floatValue = value.x,
colorValue = new Vector4(value.x, value.x, value.z, value.w),
};
return pp;
}

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/FloatShaderProperty.cs


{
return new PreviewProperty()
{
m_Name = referenceName,
m_PropType = PropertyType.Float,
m_Float = value
name = referenceName,
propType = PropertyType.Float,
floatValue = value
};
}
}

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/MaterialSlot.cs


public virtual PreviewProperty GetPreviewProperty(string name)
{
return null;
return default(PreviewProperty);
}
public abstract void CopyValuesFrom(MaterialSlot foundSlot);

16
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/PreviewProperty.cs


namespace UnityEditor.ShaderGraph
{
public class PreviewProperty
public struct PreviewProperty
public string m_Name;
public PropertyType m_PropType;
public string name;
public PropertyType propType;
public Color m_Color;
public Texture m_Texture;
public Cubemap m_Cubemap;
public Vector4 m_Vector4;
public float m_Float;
public Color colorValue;
public Texture textureValue;
public Cubemap cubemapValue;
public Vector4 vector4Value;
public float floatValue;
}
}

4
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/SamplerStateShaderProperty.cs


using System;
using System;
using UnityEngine;
namespace UnityEditor.ShaderGraph

public override PreviewProperty GetPreviewMaterialProperty()
{
return null;
return default(PreviewProperty);
}
}
}

36
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/SerializableTexture.cs


namespace UnityEditor.ShaderGraph
{
[Serializable]
public class SerializableTexture
public class SerializableTexture : ISerializationCallbackReceiver
{
[SerializeField]
private string m_SerializedTexture;

public Texture texture;
}
Texture m_Texture;
if (string.IsNullOrEmpty(m_SerializedTexture))
return null;
var tex = new TextureHelper();
EditorJsonUtility.FromJsonOverwrite(m_SerializedTexture, tex);
return tex.texture;
if (m_Texture == null && !string.IsNullOrEmpty(m_SerializedTexture))
{
var tex = new TextureHelper();
EditorJsonUtility.FromJsonOverwrite(m_SerializedTexture, tex);
m_Texture = tex.texture;
m_SerializedTexture = null;
}
return m_Texture;
set
{
if (texture == value)
return;
set { m_Texture = value; }
}
var tex = new TextureHelper();
tex.texture = value;
m_SerializedTexture = EditorJsonUtility.ToJson(tex, true);
}
public void OnBeforeSerialize()
{
var tex = new TextureHelper { texture = texture };
m_SerializedTexture = EditorJsonUtility.ToJson(tex, true);
}
public void OnAfterDeserialize()
{
}
}
}

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Texture2DInputMaterialSlot.cs


{
var pp = new PreviewProperty
{
m_Name = name,
m_PropType = PropertyType.Texture,
m_Texture = texture
name = name,
propType = PropertyType.Texture,
textureValue = texture
};
return pp;
}

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/TextureShaderProperty.cs


using System;
using System;
using System.Text;
using UnityEngine;

{
return new PreviewProperty()
{
m_Name = referenceName,
m_PropType = PropertyType.Texture,
m_Texture = value.texture
name = referenceName,
propType = PropertyType.Texture,
textureValue = value.texture
};
}
}

10
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector1MaterialSlot.cs


{
var pp = new PreviewProperty
{
m_Name = name,
m_PropType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
m_Vector4 = new Vector4(value, value, value, value),
m_Float = value,
m_Color = new Vector4(value, value, value, value),
name = name,
propType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
vector4Value = new Vector4(value, value, value, value),
floatValue = value,
colorValue = new Vector4(value, value, value, value),
};
return pp;
}

10
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector2MaterialSlot.cs


{
var pp = new PreviewProperty
{
m_Name = name,
m_PropType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
m_Vector4 = new Vector4(value.x, value.y, 0, 0),
m_Float = value.x,
m_Color = new Vector4(value.x, value.x, 0, 0),
name = name,
propType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
vector4Value = new Vector4(value.x, value.y, 0, 0),
floatValue = value.x,
colorValue = new Vector4(value.x, value.x, 0, 0),
};
return pp;
}

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector2ShaderProperty.cs


{
return new PreviewProperty()
{
m_Name = referenceName,
m_PropType = PropertyType.Vector2,
m_Vector4 = value
name = referenceName,
propType = PropertyType.Vector2,
vector4Value = value
};
}
}

10
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector3MaterialSlot.cs


{
var pp = new PreviewProperty
{
m_Name = name,
m_PropType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
m_Vector4 = new Vector4(value.x, value.y, value.z, 0),
m_Float = value.x,
m_Color = new Vector4(value.x, value.x, value.z, 0),
name = name,
propType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
vector4Value = new Vector4(value.x, value.y, value.z, 0),
floatValue = value.x,
colorValue = new Vector4(value.x, value.x, value.z, 0),
};
return pp;
}

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector3ShaderProperty.cs


{
return new PreviewProperty()
{
m_Name = referenceName,
m_PropType = PropertyType.Vector3,
m_Vector4 = value
name = referenceName,
propType = PropertyType.Vector3,
vector4Value = value
};
}
}

10
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector4MaterialSlot.cs


{
var pp = new PreviewProperty
{
m_Name = name,
m_PropType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
m_Vector4 = new Vector4(value.x, value.y, value.z, value.w),
m_Float = value.x,
m_Color = new Vector4(value.x, value.x, value.z, value.w),
name = name,
propType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType),
vector4Value = new Vector4(value.x, value.y, value.z, value.w),
floatValue = value.x,
colorValue = new Vector4(value.x, value.x, value.z, value.w),
};
return pp;
}

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Graphs/Vector4ShaderProperty.cs


{
return new PreviewProperty()
{
m_Name = referenceName,
m_PropType = PropertyType.Vector4,
m_Vector4 = value
name = referenceName,
propType = PropertyType.Vector4,
vector4Value = value
};
}
}

11
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireBitangent.cs


using UnityEditor.Graphing;
}
public static class MayRequireBitangentExtensions
{
public static NeededCoordinateSpace RequiresBitangent(this ISlot slot)
{
var mayRequireBitangent = slot as IMayRequireBitangent;
return mayRequireBitangent != null ? mayRequireBitangent.RequiresBitangent() : NeededCoordinateSpace.None;
}
}
}

11
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireNormal.cs


using UnityEditor.Graphing;
}
public static class MayRequireNormalExtensions
{
public static NeededCoordinateSpace RequiresNormal(this ISlot slot)
{
var mayRequireNormal = slot as IMayRequireNormal;
return mayRequireNormal != null ? mayRequireNormal.RequiresNormal() : NeededCoordinateSpace.None;
}
}
}

11
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequirePosition.cs


using UnityEditor.Graphing;
}
public static class MayRequirePositionExtensions
{
public static NeededCoordinateSpace RequiresPosition(this ISlot slot)
{
var mayRequirePosition = slot as IMayRequirePosition;
return mayRequirePosition != null ? mayRequirePosition.RequiresPosition() : NeededCoordinateSpace.None;
}
}
}

11
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireTangent.cs


using UnityEditor.Graphing;
}
public static class MayRequireTangentExtensions
{
public static NeededCoordinateSpace RequiresTangent(this ISlot slot)
{
var mayRequireTangent = slot as IMayRequireTangent;
return mayRequireTangent != null ? mayRequireTangent.RequiresTangent() : NeededCoordinateSpace.None;
}
}
}

12
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireTime.cs


using UnityEditor.Graphing;
}
public static class MayRequireTimeExtensions
{
public static bool RequiresTime(this INode node)
{
var mayRequireTime = node as IMayRequireTime;
return mayRequireTime != null && mayRequireTime.RequiresTime();
}
}
}

11
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/IMayRequireViewDirection.cs


using UnityEditor.Graphing;
}
public static class MayRequireViewDirectionExtensions
{
public static NeededCoordinateSpace RequiresViewDirection(this ISlot slot)
{
var mayRequireViewDirection = slot as IMayRequireViewDirection;
return mayRequireViewDirection != null ? mayRequireViewDirection.RequiresViewDirection() : NeededCoordinateSpace.None;
}
}
}

10
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/MaterialGraphChange.cs


public Guid guid { get; private set; }
}
public class LayerAdded : GraphChange
{
public LayerAdded(LayeredShaderGraph.Layer layer)
{
this.layer = layer;
}
public LayeredShaderGraph.Layer layer { get; private set; }
}
public class LayerRemoved : GraphChange
{
public LayerRemoved(Guid id)

12
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Interfaces/NeededCoordinateSpace.cs


using System;
using System;
using System.Linq;
namespace UnityEditor.ShaderGraph
{

public static class CoordinateSpaceNameExtensions
{
static int s_SpaceCount = Enum.GetValues(typeof(CoordinateSpace)).Length;
static int s_InterpolatorCount = Enum.GetValues(typeof(InterpolatorType)).Length;
static string[] s_VariableNames = new string[s_SpaceCount * s_InterpolatorCount];
return string.Format("{0}Space{1}", space, type);
var index = (int)space * s_SpaceCount + (int)type;
if (string.IsNullOrEmpty(s_VariableNames[index]))
s_VariableNames[index] = string.Format("{0}Space{1}", space, type);
return s_VariableNames[index];
}
public static NeededCoordinateSpace ToNeededCoordinateSpace(this CoordinateSpace space)

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/LightweightPipeline/LightweightFastBlinnMasterNode.cs


namespace UnityEditor.ShaderGraph
{
/* [Serializable]
[Title("Master/Lightweight/Fast Blinn")]
[Title("Master", "Lightweight", "Fast Blinn")]
public class LightweightFastBlinnMasterNode : AbstractMasterNode
{
public const string AlbedoSlotName = "Diffuse";

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/LightweightPipeline/PBRMasterNode.cs


namespace UnityEditor.ShaderGraph
{
[Serializable]
[Title("Master/PBR")]
[Title("Master", "PBR")]
public class PBRMasterNode : MasterNode
{
public const string AlbedoSlotName = "Albedo";

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/LightweightPipeline/UnlitMasterNode.cs


namespace UnityEditor.ShaderGraph
{
[Serializable]
[Title("Master/Unlit")]
[Title("Master", "Unlit")]
public class UnlitMasterNode : MasterNode
{
public const string ColorSlotName = "Color";

62
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/AbstractMaterialNode.cs


[Serializable]
public abstract class AbstractMaterialNode : SerializableNode, IGenerateProperties
{
protected static List<MaterialSlot> s_TempSlots = new List<MaterialSlot>();
protected static List<IEdge> s_TempEdges = new List<IEdge>();
public enum OutputPrecision
{
@fixed,

protected set { m_HasError = value; }
}
string m_DefaultVariableName;
string m_NameForDefaultVariableName;
Guid m_GuidForDefaultVariableName;
string defaultVariableName
{
get
{
if (m_NameForDefaultVariableName != name || m_GuidForDefaultVariableName != guid)
{
m_DefaultVariableName = string.Format("{0}_{1}", GetHLSLSafeName(name), GuidEncoder.Encode(guid));
m_NameForDefaultVariableName = name;
m_GuidForDefaultVariableName = guid;
}
return m_DefaultVariableName;
}
}
protected AbstractMaterialNode()
{
version = 0;

{
foreach (var inputSlot in GetInputSlots<MaterialSlot>())
foreach (var inputSlot in this.GetInputSlots<MaterialSlot>())
{
var edges = owner.GetEdges(inputSlot.slotReference);
if (edges.Any())

// all children nodes needs to be updated first
// so do that here
foreach (var inputSlot in GetInputSlots<MaterialSlot>())
var slots = ListPool<MaterialSlot>.Get();
GetInputSlots(slots);
foreach (var inputSlot in slots)
{
inputSlot.hasError = false;

isInError = true;
}
}
ListPool<MaterialSlot>.Release(slots);
foreach (var inputSlot in GetInputSlots<MaterialSlot>())
s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var inputSlot in s_TempSlots)
{
// if there is a connection
var edges = owner.GetEdges(inputSlot.slotReference).ToList();

foreach (var skippedSlot in skippedDynamicSlots)
skippedSlot.SetConcreteType(dynamicType);
var inputError = GetInputSlots<MaterialSlot>().Any(x => x.hasError);
s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
var inputError = s_TempSlots.Any(x => x.hasError);
foreach (var outputSlot in GetOutputSlots<MaterialSlot>())
s_TempSlots.Clear();
GetOutputSlots(s_TempSlots);
foreach (var outputSlot in s_TempSlots)
{
outputSlot.hasError = false;

}
isInError |= inputError;
isInError |= GetOutputSlots<MaterialSlot>().Any(x => x.hasError);
s_TempSlots.Clear();
GetOutputSlots(s_TempSlots);
isInError |= s_TempSlots.Any(x => x.hasError);
isInError |= CalculateNodeHasError();
hasError = isInError;

public virtual void CollectPreviewMaterialProperties(List<PreviewProperty> properties)
{
var validSlots = GetInputSlots<MaterialSlot>().ToArray();
for (var index = 0; index < validSlots.Length; index++)
s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var s in s_TempSlots)
var s = validSlots[index];
var edges = owner.GetEdges(s.slotReference);
if (edges.Any())
s_TempEdges.Clear();
owner.GetEdges(s.slotReference, s_TempEdges);
if (s_TempEdges.Any())
if (item == null)
if (item.name == null)
continue;
properties.Add(item);

var slot = FindSlot<MaterialSlot>(slotId);
if (slot == null)
throw new ArgumentException(string.Format("Attempting to use MaterialSlot({0}) on node of type {1} where this slot can not be found", slotId, this), "slotId");
return "_" + GetVariableNameForNode() + "_" + GetHLSLSafeName(slot.shaderOutputName);
return string.Format("_{0}_{1}", GetVariableNameForNode(), GetHLSLSafeName(slot.shaderOutputName));
return GetHLSLSafeName(name) + "_" + GuidEncoder.Encode(guid);
return defaultVariableName;
}
public static string GetHLSLSafeName(string input)

20
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/ChannelMixerNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Artistic/Adjustment/Channel Mixer")]
[Title("Artistic", "Adjustment", "Channel Mixer")]
public class ChannelMixerNode : AbstractMaterialNode, IGeneratesBodyCode, IGeneratesFunction
{
public ChannelMixerNode()

properties.Add(new PreviewProperty()
{
m_Name = string.Format("_{0}_Red", GetVariableNameForNode()),
m_PropType = PropertyType.Vector3,
m_Vector4 = channelMixer.outRed
name = string.Format("_{0}_Red", GetVariableNameForNode()),
propType = PropertyType.Vector3,
vector4Value = channelMixer.outRed
m_Name = string.Format("_{0}_Green", GetVariableNameForNode()),
m_PropType = PropertyType.Vector3,
m_Vector4 = channelMixer.outGreen
name = string.Format("_{0}_Green", GetVariableNameForNode()),
propType = PropertyType.Vector3,
vector4Value = channelMixer.outGreen
m_Name = string.Format("_{0}_Blue", GetVariableNameForNode()),
m_PropType = PropertyType.Vector3,
m_Vector4 = channelMixer.outBlue
name = string.Format("_{0}_Blue", GetVariableNameForNode()),
propType = PropertyType.Vector3,
vector4Value = channelMixer.outBlue
});
}

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/ContrastNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Artistic/Adjustment/Contrast")]
[Title("Artistic", "Adjustment", "Contrast")]
public class ContrastNode : CodeFunctionNode
{
public ContrastNode()

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/HueNode.cs


Normalized
};
[Title("Artistic/Adjustment/Hue")]
[Title("Artistic", "Adjustment", "Hue")]
public class HueNode : CodeFunctionNode
{
public HueNode()

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/ReplaceColorNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Artistic/Adjustment/Replace Color")]
[Title("Artistic", "Adjustment", "Replace Color")]
public class ReplaceColorNode : CodeFunctionNode
{
public ReplaceColorNode()

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/SaturationNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Artistic/Adjustment/Saturation")]
[Title("Artistic", "Adjustment", "Saturation")]
public class SaturationNode : CodeFunctionNode
{
public SaturationNode()

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Adjustment/WhiteBalanceNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Artistic/Adjustment/White Balance")]
[Title("Artistic", "Adjustment", "White Balance")]
public class WhiteBalanceNode : CodeFunctionNode
{
public WhiteBalanceNode()

4
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Mask/ChannelMaskNode.cs


using System.Reflection;
using System.Reflection;
using UnityEngine;
using UnityEditor.Graphing;
using UnityEditor.ShaderGraph.Drawing.Controls;

Alpha
}
[Title("Artistic/Mask/Channel Mask")]
[Title("Artistic", "Mask", "Channel Mask")]
public class ChannelMaskNode : AbstractMaterialNode, IGeneratesBodyCode, IGeneratesFunction
{
public ChannelMaskNode()

4
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Artistic/Mask/ColorMaskNode.cs


using System.Reflection;
using System.Reflection;
[Title("Artistic/Mask/Color Mask")]
[Title("Artistic", "Mask", "Color Mask")]
public class ColorMaskNode : CodeFunctionNode
{
public ColorMaskNode()

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Channel/CombineNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Channel/Combine")]
[Title("Channel", "Combine")]
public class CombineNode : CodeFunctionNode
{
public CombineNode()

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Channel/FlipNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Channel/Flip")]
[Title("Channel", "Flip")]
public class FlipNode : AbstractMaterialNode, IGeneratesBodyCode, IGeneratesFunction
{
public FlipNode()

properties.Add(new PreviewProperty()
{
m_Name = string.Format("_{0}_Flip", GetVariableNameForNode()),
m_PropType = PropertyType.Vector4,
m_Vector4 = new Vector4(Convert.ToInt32(m_RedChannel), Convert.ToInt32(m_GreenChannel), Convert.ToInt32(m_BlueChannel), Convert.ToInt32(m_AlphaChannel)),
name = string.Format("_{0}_Flip", GetVariableNameForNode()),
propType = PropertyType.Vector4,
vector4Value = new Vector4(Convert.ToInt32(m_RedChannel), Convert.ToInt32(m_GreenChannel), Convert.ToInt32(m_BlueChannel), Convert.ToInt32(m_AlphaChannel)),
});
}

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Channel/SplitNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Channel/Split")]
[Title("Channel", "Split")]
public class SplitNode : AbstractMaterialNode, IGeneratesBodyCode
{
const string kInputSlotName = "Input";

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Channel/SwizzleNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Channel/Swizzle")]
[Title("Channel", "Swizzle")]
public class SwizzleNode : AbstractMaterialNode, IGeneratesBodyCode, IGeneratesFunction
{
public SwizzleNode()

50
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/CodeFunctionNode.cs


public void GenerateNodeCode(ShaderGenerator visitor, GenerationMode generationMode)
{
foreach (var outSlot in GetOutputSlots<MaterialSlot>())
s_TempSlots.Clear();
GetOutputSlots(s_TempSlots);
foreach (var outSlot in s_TempSlots)
{
visitor.AddShaderChunk(GetParamTypeName(outSlot) + " " + GetVariableNameForSlot(outSlot.id) + ";", true);
}

foreach (var slot in GetSlots<MaterialSlot>().OrderBy(x => x.id))
s_TempSlots.Clear();
GetSlots(s_TempSlots);
s_TempSlots.Sort((slot1, slot2) => slot1.id.CompareTo(slot2.id));
foreach (var slot in s_TempSlots)
{
if (!first)
{

{
string header = "void " + GetFunctionName() + "(";
s_TempSlots.Clear();
GetSlots(s_TempSlots);
s_TempSlots.Sort((slot1, slot2) => slot1.id.CompareTo(slot2.id));
foreach (var slot in GetSlots<MaterialSlot>().OrderBy(x => x.id))
foreach (var slot in s_TempSlots)
{
if (!first)
header += ", ";

return string.Empty;
result = result.Replace("{precision}", precision.ToString());
foreach (var slot in GetSlots<MaterialSlot>())
s_TempSlots.Clear();
GetSlots(s_TempSlots);
foreach (var slot in s_TempSlots)
{
var toReplace = string.Format("{{slot{0}dimension}}", slot.id);
var replacement = GetSlotDimension(slot.concreteValueType);

public NeededCoordinateSpace RequiresNormal()
{
var binding = NeededCoordinateSpace.None;
foreach (var slot in GetInputSlots<MaterialSlot>().OfType<IMayRequireNormal>())
s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var slot in s_TempSlots)
binding |= slot.RequiresNormal();
return binding;
}

var binding = NeededCoordinateSpace.None;
foreach (var slot in GetInputSlots<MaterialSlot>().OfType<IMayRequireViewDirection>())
s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var slot in s_TempSlots)
binding |= slot.RequiresViewDirection();
return binding;
}

s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var slot in GetInputSlots<MaterialSlot>().OfType<IMayRequirePosition>())
foreach (var slot in s_TempSlots)
binding |= slot.RequiresPosition();
return binding;
}

s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var slot in GetInputSlots<MaterialSlot>().OfType<IMayRequireTangent>())
foreach (var slot in s_TempSlots)
binding |= slot.RequiresTangent();
return binding;
}

s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var slot in GetInputSlots<MaterialSlot>().OfType<IMayRequireBitangent>())
foreach (var slot in s_TempSlots)
binding |= slot.RequiresBitangent();
return binding;
}

foreach (var slot in GetInputSlots<MaterialSlot>().OfType<IMayRequireMeshUV>())
s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var slot in s_TempSlots)
{
if (slot.RequiresMeshUV(channel))
return true;

public bool RequiresScreenPosition()
{
foreach (var slot in GetInputSlots<MaterialSlot>().OfType<IMayRequireScreenPosition>())
s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var slot in s_TempSlots)
{
if (slot.RequiresScreenPosition())
return true;

public bool RequiresVertexColor()
{
foreach (var slot in GetInputSlots<MaterialSlot>().OfType<IMayRequireVertexColor>())
s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var slot in s_TempSlots)
{
if (slot.RequiresVertexColor())
return true;

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/ColorNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Basic/Color")]
[Title("Input", "Basic", "Color")]
public class ColorNode : AbstractMaterialNode, IGeneratesBodyCode, IPropertyFromNode
{
[SerializeField]

{
properties.Add(new PreviewProperty
{
m_Name = GetVariableNameForNode(),
m_PropType = PropertyType.Color,
m_Color = color
name = GetVariableNameForNode(),
propType = PropertyType.Color,
colorValue = color
});
}

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/ConstantNode.cs


SQRT2
};
[Title("Input/Basic/Constant")]
[Title("Input", "Basic", "Constant")]
public class ConstantNode : AbstractMaterialNode, IGeneratesBodyCode
{
static Dictionary<ConstantType, float> m_constantList = new Dictionary<ConstantType, float>

4
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/TimeNode.cs


using UnityEngine;
using UnityEngine;
[Title("Input/Basic/Time")]
[Title("Input", "Basic", "Time")]
public class TimeNode : AbstractMaterialNode, IMayRequireTime
{
private const string kOutputSlotName = "Time";

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/Vector1Node.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Basic/Vector 1")]
[Title("Input", "Basic", "Vector 1")]
public class Vector1Node : AbstractMaterialNode, IGeneratesBodyCode, IPropertyFromNode
{
[SerializeField]

{
properties.Add(new PreviewProperty()
{
m_Name = GetVariableNameForNode(),
m_PropType = PropertyType.Float,
m_Float = m_Value
name = GetVariableNameForNode(),
propType = PropertyType.Float,
floatValue = m_Value
});
}

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/Vector2Node.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Basic/Vector 2")]
[Title("Input", "Basic", "Vector 2")]
public class Vector2Node : AbstractMaterialNode, IGeneratesBodyCode, IPropertyFromNode
{
[SerializeField]

{
properties.Add(new PreviewProperty()
{
m_Name = GetVariableNameForNode(),
m_PropType = PropertyType.Vector2,
m_Vector4 = m_Value
name = GetVariableNameForNode(),
propType = PropertyType.Vector2,
vector4Value = m_Value
});
}

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/Vector3Node.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Basic/Vector 3")]
[Title("Input", "Basic", "Vector 3")]
public class Vector3Node : AbstractMaterialNode, IGeneratesBodyCode, IPropertyFromNode
{
[SerializeField]

{
properties.Add(new PreviewProperty()
{
m_Name = GetVariableNameForNode(),
m_PropType = PropertyType.Vector3,
m_Vector4 = m_Value
name = GetVariableNameForNode(),
propType = PropertyType.Vector3,
vector4Value = m_Value
});
}

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Basic/Vector4Node.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Basic/Vector 4")]
[Title("Input", "Basic", "Vector 4")]
public class Vector4Node : AbstractMaterialNode, IGeneratesBodyCode, IPropertyFromNode
{
[SerializeField]

{
properties.Add(new PreviewProperty()
{
m_Name = GetVariableNameForNode(),
m_PropType = PropertyType.Vector4,
m_Vector4 = m_Value
name = GetVariableNameForNode(),
propType = PropertyType.Vector4,
vector4Value = m_Value
});
}

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/BitangentVectorNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Geometry/Bitangent Vector")]
[Title("Input", "Geometry", "Bitangent Vector")]
public class BitangentVectorNode : GeometryNode, IMayRequireBitangent
{
public const int kOutputSlotId = 0;

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/NormalVectorNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Geometry/Normal Vector")]
[Title("Input", "Geometry", "Normal Vector")]
public class NormalVectorNode : GeometryNode, IMayRequireNormal
{
public const int kOutputSlotId = 0;

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/PositionNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Geometry/Position")]
[Title("Input", "Geometry", "Position")]
public class PositionNode : GeometryNode, IMayRequirePosition
{
private const int kOutputSlotId = 0;

7
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/ScreenPositionNode.cs


namespace UnityEditor.ShaderGraph
{
public interface IMayRequireScreenPosition
{
bool RequiresScreenPosition();
}
public enum ScreenSpaceType
{
Default,

};
[Title("Input/Geometry/Screen Position")]
[Title("Input", "Geometry", "Screen Position")]
public class ScreenPositionNode : AbstractMaterialNode, IGeneratesBodyCode, IMayRequireScreenPosition
{
public ScreenPositionNode()

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/TangentVectorNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Geometry/Tangent Vector")]
[Title("Input", "Geometry", "Tangent Vector")]
public class TangentVectorNode : GeometryNode, IMayRequireTangent
{
public const int kOutputSlotId = 0;

7
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/UVNode.cs


namespace UnityEditor.ShaderGraph
{
interface IMayRequireMeshUV
{
bool RequiresMeshUV(UVChannel channel);
}
[Title("Input/Geometry/UV")]
[Title("Input", "Geometry", "UV")]
public class UVNode : AbstractMaterialNode, IGeneratesBodyCode, IMayRequireMeshUV
{
public const int OutputSlotId = 0;

7
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/VertexColorNode.cs


namespace UnityEditor.ShaderGraph
{
interface IMayRequireVertexColor
{
bool RequiresVertexColor();
}
[Title("Input/Geometry/Vertex Color")]
[Title("Input", "Geometry", "Vertex Color")]
public class VertexColorNode : AbstractMaterialNode, IMayRequireVertexColor
{
private const int kOutputSlotId = 0;

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Geometry/ViewDirectionNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Geometry/View Direction")]
[Title("Input", "Geometry", "View Direction")]
public class ViewDirectionNode : GeometryNode, IMayRequireViewDirection
{
private const int kOutputSlotId = 0;

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Matrix/Matrix2Node.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Matrix/Matrix 2x2")]
[Title("Input", "Matrix", "Matrix 2x2")]
public class Matrix2Node : AbstractMaterialNode, IGeneratesBodyCode
{
const int kOutputSlotId = 0;

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Matrix/Matrix3Node.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Matrix/Matrix 3x3")]
[Title("Input", "Matrix", "Matrix 3x3")]
public class Matrix3Node : AbstractMaterialNode, IGeneratesBodyCode
{
const int kOutputSlotId = 0;

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Matrix/Matrix4Node.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Matrix/Matrix 4x4")]
[Title("Input", "Matrix", "Matrix 4x4")]
public class Matrix4Node : AbstractMaterialNode, IGeneratesBodyCode
{
const int kOutputSlotId = 0;

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Matrix/TransformationMatrixNode.cs


WorldToObject
};
[Title("Input/Matrix/Transformation Matrix")]
[Title("Input", "Matrix", "Transformation Matrix")]
public class TransformationMatrixNode : AbstractMaterialNode
{
static Dictionary<TransformationMatrixType, string> m_matrixList = new Dictionary<TransformationMatrixType, string>

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Scene/CameraNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Scene/Camera")]
[Title("Input", "Scene", "Camera")]
public class CameraNode : AbstractMaterialNode
{
const string kOutputSlotName = "Pos";

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Scene/LightProbeNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Scene/Light Probe")]
[Title("Input", "Scene", "Light Probe")]
public class LightProbeNode : CodeFunctionNode
{
public override bool hasPreview { get { return false; } }

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Scene/ReflectionProbeNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Scene/Reflection Probe")]
[Title("Input", "Scene", "Reflection Probe")]
public class ReflectionProbeNode : CodeFunctionNode
{
public ReflectionProbeNode()

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/CubemapAssetNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Texture/Cubemap Asset")]
[Title("Input", "Texture", "Cubemap Asset")]
public class CubemapAssetNode : AbstractMaterialNode, IPropertyFromNode
{
public const int OutputSlotId = 0;

{
properties.Add(new PreviewProperty
{
m_Name = GetVariableNameForSlot(OutputSlotId),
m_PropType = PropertyType.Cubemap,
m_Cubemap = cubemap
name = GetVariableNameForSlot(OutputSlotId),
propType = PropertyType.Cubemap,
cubemapValue = cubemap
});
}

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/CubemapNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Texture/Cubemap")]
[Title("Input", "Texture", "Cubemap")]
public class CubemapNode : AbstractMaterialNode, IGeneratesBodyCode, IMayRequireViewDirection, IMayRequireNormal
{
public const int OutputSlotId = 0;

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Delete/CubemapNode.cs


namespace UnityEditor.ShaderGraph
{
/* [Title("Input/Texture/Cubemap")]
/* [Title("Input", "Texture", "Cubemap")]
public class CubemapNode : PropertyNode, IGeneratesBodyCode, IMayRequireViewDirection, IMayRequireNormal
{
protected const string kUVSlotName = "RefVector";

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Delete/SamplerAssetNode.cs


namespace UnityEditor.ShaderGraph
{
/* [Title("Input/Texture/Sampler Asset")]
/* [Title("Input", "Texture", "Sampler Asset")]
public class SamplerAssetNode : PropertyNode
{

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Delete/TextureLODNode.cs


namespace UnityEditor.ShaderGraph
{
/* [Title("Input/Texture/TextureLOD")]
/* [Title("Input", "Texture", "TextureLOD")]
public class TextureLODNode : PropertyNode, IGeneratesBodyCode, IMayRequireMeshUV
{
protected const string kUVSlotName = "UV";

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/SamplerStateNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Input/Texture/Sampler State")]
[Title("Input", "Texture", "Sampler State")]
public class SamplerStateNode : AbstractMaterialNode
{
[SerializeField]

10
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Texture2DAssetNode.cs


using System.Collections.Generic;
using System.Collections.Generic;
using UnityEditor.ShaderGraph.Drawing.Controls;
using UnityEngine;
using UnityEditor.Graphing;

[Title("Input/Texture/Texture 2D Asset")]
[Title("Input", "Texture", "Texture 2D Asset")]
public class Texture2DAssetNode : AbstractMaterialNode, IPropertyFromNode
{
public const int OutputSlotId = 0;

{
properties.Add(new PreviewProperty
{
m_Name = GetVariableNameForSlot(OutputSlotId),
m_PropType = PropertyType.Texture,
m_Texture = texture
name = GetVariableNameForSlot(OutputSlotId),
propType = PropertyType.Texture,
textureValue = texture
});
}

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Texture/Texture2DNode.cs


Normal
};
[Title("Input/Texture/Texture 2D")]
[Title("Input", "Texture", "Texture 2D")]
public class Texture2DNode : AbstractMaterialNode, IGeneratesBodyCode, IMayRequireMeshUV
{
public const int OutputSlotRGBAId = 0;

public bool RequiresMeshUV(UVChannel channel)
{
foreach (var slot in GetInputSlots<MaterialSlot>().OfType<IMayRequireMeshUV>())
s_TempSlots.Clear();
GetInputSlots(s_TempSlots);
foreach (var slot in s_TempSlots)
{
if (slot.RequiresMeshUV(channel))
return true;

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Time/SinTimeNode.cs


namespace UnityEditor.ShaderGraph
{
/*
[Title("Input/Time/Sine Time")]
[Title("Input", "Time", "Sine Time")]
public class SinTimeNode : AbstractMaterialNode, IMayRequireTime
{
public SinTimeNode()

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Input/Time/TimeNode.cs


namespace UnityEditor.ShaderGraph
{
/*
[Title("Input/Time/Time")]
[Title("Input", "Time", "Time")]
public class TimeNode : AbstractMaterialNode, IMayRequireTime
{
private const string kOutputSlotName = "Time";

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Math/Advanced/AbsoluteNode.cs


namespace UnityEditor.ShaderGraph
{
[Title("Math/Advanced/Absolute")]
[Title("Math", "Advanced", "Absolute")]
public class AbsoluteNode : CodeFunctionNode
{
public AbsoluteNode()

2
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Nodes/Math/Advanced/ExponentialNode.cs


Base2
};
[Title("Math/Advanced/Exponential")]
[Title("Math", "Advanced", "Exponential")]
public class ExponentialNode : CodeFunctionNode
{
public ExponentialNode()

部分文件因为文件数量过多而无法显示

正在加载...
取消
保存