Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Matrix3ShaderProperty.cs 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using UnityEngine;
  3. using UnityEditor.Graphing;
  4. using UnityEditor.ShaderGraph.Internal;
  5. namespace UnityEditor.ShaderGraph
  6. {
  7. [Serializable]
  8. [BlackboardInputInfo(71)]
  9. class Matrix3ShaderProperty : MatrixShaderProperty
  10. {
  11. public Matrix3ShaderProperty()
  12. {
  13. displayName = "Matrix3x3";
  14. value = Matrix4x4.identity;
  15. }
  16. public override PropertyType propertyType => PropertyType.Matrix3;
  17. internal override string GetPropertyAsArgumentString(string precisionString)
  18. {
  19. return $"{precisionString}3x3 {referenceName}";
  20. }
  21. internal override AbstractMaterialNode ToConcreteNode()
  22. {
  23. return new Matrix3Node
  24. {
  25. row0 = new Vector3(value.m00, value.m01, value.m02),
  26. row1 = new Vector3(value.m10, value.m11, value.m12),
  27. row2 = new Vector3(value.m20, value.m21, value.m22)
  28. };
  29. }
  30. internal override PreviewProperty GetPreviewMaterialProperty()
  31. {
  32. return new PreviewProperty(propertyType)
  33. {
  34. name = referenceName,
  35. matrixValue = value
  36. };
  37. }
  38. internal override ShaderInput Copy()
  39. {
  40. return new Matrix3ShaderProperty()
  41. {
  42. displayName = displayName,
  43. value = value,
  44. };
  45. }
  46. public override int latestVersion => 1;
  47. public override void OnAfterDeserialize(string json)
  48. {
  49. if (sgVersion == 0)
  50. {
  51. // all old matrices were declared global; yes even if flagged hybrid!
  52. // maintain old behavior on versioning, users can always change the override if they wish
  53. overrideHLSLDeclaration = true;
  54. hlslDeclarationOverride = HLSLDeclaration.Global;
  55. ChangeVersion(1);
  56. }
  57. }
  58. }
  59. }