MatrixTransposeNode.cs 846 B

12345678910111213141516171819202122232425262728293031323334353637
  1. using System.Reflection;
  2. using UnityEngine;
  3. namespace UnityEditor.ShaderGraph
  4. {
  5. [Title("Math", "Matrix", "Matrix Transpose")]
  6. class MatrixTransposeNode : CodeFunctionNode
  7. {
  8. public MatrixTransposeNode()
  9. {
  10. name = "Matrix Transpose";
  11. }
  12. public override bool hasPreview
  13. {
  14. get { return false; }
  15. }
  16. protected override MethodInfo GetFunctionToConvert()
  17. {
  18. return GetType().GetMethod("Unity_MatrixTranspose", BindingFlags.Static | BindingFlags.NonPublic);
  19. }
  20. static string Unity_MatrixTranspose(
  21. [Slot(0, Binding.None)] DynamicDimensionMatrix In,
  22. [Slot(1, Binding.None)] out DynamicDimensionMatrix Out)
  23. {
  24. return
  25. @"
  26. {
  27. Out = transpose(In);
  28. }
  29. ";
  30. }
  31. }
  32. }