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