blob: f54cf44bcdab9412a70238fe7ca4e801f22d2627 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
}
}
}
|