OSDN Git Service

new project
[mindgames/Mindgames_main.git] / Mindgames / Library / PackageCache / com.unity.shadergraph@6.9.0 / Editor / Data / Nodes / Input / Geometry / BitangentVectorNode.cs
1 using UnityEngine;
2 using UnityEditor.Graphing;
3
4 namespace UnityEditor.ShaderGraph
5 {
6     [Title("Input", "Geometry", "Bitangent Vector")]
7     class BitangentVectorNode : GeometryNode, IMayRequireBitangent
8     {
9         public const int kOutputSlotId = 0;
10         public const string kOutputSlotName = "Out";
11
12         public BitangentVectorNode()
13         {
14             name = "Bitangent Vector";
15             UpdateNodeAfterDeserialization();
16         }
17
18
19         public sealed override void UpdateNodeAfterDeserialization()
20         {
21             AddSlot(new Vector3MaterialSlot(kOutputSlotId, kOutputSlotName, kOutputSlotName, SlotType.Output, new Vector4(0, 0, 1)));
22             RemoveSlotsNameNotMatching(new[] { kOutputSlotId });
23         }
24
25         public override string GetVariableNameForSlot(int slotId)
26         {
27             return string.Format("IN.{0}", space.ToVariableName(InterpolatorType.BiTangent));
28         }
29
30         public NeededCoordinateSpace RequiresBitangent(ShaderStageCapability stageCapability)
31         {
32             return space.ToNeededCoordinateSpace();
33         }
34     }
35 }