我正在写一个香椿水上着色器,我希望它被定向灯照亮。我得到了它的工作,但我认为法线有问题,因为波浪之间没有阴影。我希望有人能找到我犯的错误,并提前感谢你。
connections = 0
while connections < 10 # or however many
begin
try_connecting
break # only called when no error raised
rescue Mongo::ConnectionFailure => ex
connections += 1
sleep(0.5)
end
end
答案 0 :(得分:0)
快速回答一下你的法线
float3 normalDirection = normalize( mul( float4( VOUT.nor, 0.0 ), _World2Object).xyz);
法线在本地aka对象空间中给出。你需要转换为世界空间。乘法的顺序是错误的。它应该是:
float3 normalDirection = normalize( mul( _World2Object, float4( VOUT.nor, 0.0 )).xyz);
相当于:
float3 normalDirection = normalize( mul( float4( VOUT.nor, 0.0 ), _Object2World).xyz);
通常将变换矩阵放在要变换的矢量之前。