一点小错误,记一下

o.normalDir = normalize(mul(float4(i.normal,0.0),_World2Object).xyz);

呐。。。本来这是在vertex中计算法线的函数嘛~ 如果写成下面的

o.normalDir = normalize(mul(float4(i.normal,0.0),_World2Object)).xyz;

就完全错了,我勒个去,拜托哥哥你把基础弄扎实点好么。。。哎。。。找了半天问题,竟然是这种错误 = =#

第一行代码是将mul之后的取xyz,然后单位化,第二行是mul之后的四元数进行单位化,然后取xyz,当然不一样了 T T

原文地址:https://www.cnblogs.com/AZ-ZK/p/4437670.html