summaryrefslogtreecommitdiff
path: root/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader')
-rw-r--r--Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader31
1 files changed, 31 insertions, 0 deletions
diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader
new file mode 100644
index 00000000..f54cf44b
--- /dev/null
+++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader
@@ -0,0 +1,31 @@
+Shader "Hidden/VertexBinormalNode"
+{
+ SubShader
+ {
+ Pass
+ {
+ CGPROGRAM
+ #pragma vertex vert_img
+ #pragma fragment frag
+ #include "UnityCG.cginc"
+
+ float4 frag( v2f_img i ) : SV_Target
+ {
+ float2 xy = 2 * i.uv - 1;
+ float z = -sqrt(1-saturate(dot(xy,xy)));
+ float3 vertexPos = float3(xy, z);
+ float3 normal = normalize(vertexPos);
+ float3 worldNormal = UnityObjectToWorldNormal(normal);
+
+ float3 tangent = normalize(float3( -z, xy.y*0.01, xy.x ));
+ float3 worldPos = mul(unity_ObjectToWorld, vertexPos).xyz;
+ float3 worldTangent = UnityObjectToWorldDir(tangent);
+ float tangentSign = -1;
+ float3 worldBinormal = normalize( cross(worldNormal, worldTangent) * tangentSign);
+
+ return float4(worldBinormal, 1);
+ }
+ ENDCG
+ }
+ }
+}