2 using UnityEditor.Graphing;
4 namespace UnityEditor.ShaderGraph
6 [Title("Input", "Geometry", "Bitangent Vector")]
7 class BitangentVectorNode : GeometryNode, IMayRequireBitangent
9 public const int kOutputSlotId = 0;
10 public const string kOutputSlotName = "Out";
12 public BitangentVectorNode()
14 name = "Bitangent Vector";
15 UpdateNodeAfterDeserialization();
19 public sealed override void UpdateNodeAfterDeserialization()
21 AddSlot(new Vector3MaterialSlot(kOutputSlotId, kOutputSlotName, kOutputSlotName, SlotType.Output, new Vector4(0, 0, 1)));
22 RemoveSlotsNameNotMatching(new[] { kOutputSlotId });
25 public override string GetVariableNameForSlot(int slotId)
27 return string.Format("IN.{0}", space.ToVariableName(InterpolatorType.BiTangent));
30 public NeededCoordinateSpace RequiresBitangent(ShaderStageCapability stageCapability)
32 return space.ToNeededCoordinateSpace();