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
|
|
}
|
|
}
|
|
}
|