当我在cg中编写着色器时,我如何知道我是否需要世界或对象空间



所以我正在写一个着色器,我正在设置光方向和法线方向来制作一个朗伯特着色器。

VOUT.normalDirection = normalize( mul(float4(i.normal,0.0),_World2Object).xyz);
float3 lightDirection = normalize(_WorldSpaceLightPos0.xyz);

我想知道,为什么我需要物体空间中的法线和光在世界空间中?

我怎么知道我什么时候需要把东西放在世界空间还是物体空间?

提前感谢!

这是一个狡猾的方法,但它可能是正确的,因为转换法线的正确方法是将它们乘以用于变换点的矩阵的逆的转置。

相关内容

  • 没有找到相关文章

最新更新