Preview_VertexBinormalNode.shader 762 B

123456789101112131415161718192021222324252627282930
  1. Shader "Hidden/VertexBinormalNode"
  2. {
  3. SubShader
  4. {
  5. Pass
  6. {
  7. CGPROGRAM
  8. #pragma vertex vert_img
  9. #pragma fragment frag
  10. #include "UnityCG.cginc"
  11. #include "Preview.cginc"
  12. float4 frag( v2f_img i ) : SV_Target
  13. {
  14. float3 vertexPos = PreviewFragmentPositionOS( i.uv );
  15. float3 normal = PreviewFragmentNormalOS( i.uv );
  16. float3 worldNormal = UnityObjectToWorldNormal(normal);
  17. float3 tangent = PreviewFragmentTangentOS( i.uv );
  18. float3 worldPos = mul(unity_ObjectToWorld, vertexPos).xyz;
  19. float3 worldTangent = UnityObjectToWorldDir(tangent);
  20. float tangentSign = -1;
  21. float3 worldBinormal = normalize( cross(worldNormal, worldTangent) * tangentSign);
  22. return float4(worldBinormal, 1);
  23. }
  24. ENDCG
  25. }
  26. }
  27. }