You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

31 lines
786 B

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