UnityObjToViewPosHlpNode.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. // Amplify Shader Editor - Visual Shader Editing Tool
  2. // Copyright (c) Amplify Creations, Lda <info@amplify.pt>
  3. using System;
  4. namespace AmplifyShaderEditor
  5. {
  6. [Serializable]
  7. [NodeAttributes( "Object To View Pos", "Object Transform", "Transforms a point from object space to view space" )]
  8. public sealed class UnityObjToViewPosHlpNode : HelperParentNode
  9. {
  10. protected override void CommonInit( int uniqueId )
  11. {
  12. base.CommonInit( uniqueId );
  13. m_funcType = "UnityObjectToViewPos";
  14. //TODO: revisit this later
  15. m_funcLWFormatOverride = "TransformWorldToView( TransformObjectToWorld( {0}) )";
  16. m_funcHDFormatOverride = "TransformWorldToView( TransformObjectToWorld( {0}) )";
  17. m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT3, false );
  18. m_outputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT3, false );
  19. m_outputPorts[ 0 ].Name = "XYZ";
  20. AddOutputPort( WirePortDataType.FLOAT, "X" );
  21. AddOutputPort( WirePortDataType.FLOAT, "Y" );
  22. AddOutputPort( WirePortDataType.FLOAT, "Z" );
  23. m_previewShaderGUID = "b790bc1d468a51840a9facef372b4729";
  24. }
  25. protected override void OnUniqueIDAssigned()
  26. {
  27. base.OnUniqueIDAssigned();
  28. m_localVarName = "unityObjectToViewPos" + OutputId;
  29. }
  30. }
  31. }