0816被充记录

来源:互联网 发布:json字符串转json对象 编辑:程序博客网 时间:2024/05/01 13:21
//计算法线空间


//副法线 v.tangent.w 决定副法线方向
float3 binormal = cross(normalize(v.normal), normalize(v.tangent.xyz)) * v.tangent.w;
//计算rotation矩阵
float3x3 rotation = float3x3(v.tangent.xyz,binormal,v.normal);


//上述计算可用内置函数实现
TANGENT_SPACE_ROTATION
//rotation 矩阵空间


切线空间法线计算
fixed4 packedNormal = tex2D(_BumpMap,i.uv.zw);
fixed3 tangentNormal;
tangentNormal.xy = (packedNormal.xy*2-1)*_BumpScale;
tangentNormal.z = sqrt(1 - saturate(dot(tangentNormal.xy,tangentNormal.xy)));


如果_BumpMap为 Normal Map模式:
fixed4 packedNormal = tex2D(_BumpMap,i.uv.zw);
fixed3 tangentNormal =UnpackNormal(packedNormal);
tangentNormal.xy *= _BumpScale;
tangentNormal.z = sqrt(1 - saturate(dot(tangentNormal.xy,tangentNormal.xy)));
原创粉丝点击