ClampNode.cs 814 B

1234567891011121314151617181920212223242526272829303132
  1. using System.Reflection;
  2. namespace UnityEditor.ShaderGraph
  3. {
  4. [Title("Math", "Range", "Clamp")]
  5. class ClampNode : CodeFunctionNode
  6. {
  7. public ClampNode()
  8. {
  9. name = "Clamp";
  10. }
  11. protected override MethodInfo GetFunctionToConvert()
  12. {
  13. return GetType().GetMethod("Unity_Clamp", BindingFlags.Static | BindingFlags.NonPublic);
  14. }
  15. static string Unity_Clamp(
  16. [Slot(0, Binding.None)] DynamicDimensionVector In,
  17. [Slot(1, Binding.None)] DynamicDimensionVector Min,
  18. [Slot(2, Binding.None, 1, 1, 1, 1)] DynamicDimensionVector Max,
  19. [Slot(3, Binding.None)] out DynamicDimensionVector Out)
  20. {
  21. return
  22. @"
  23. {
  24. Out = clamp(In, Min, Max);
  25. }";
  26. }
  27. }
  28. }