永远相信美好的事情即将发生 😊!

Unity Shader 入门精要(冯乐乐著)学习笔记(3)——学习Shader所需的数学基础

学习 Mavis 114℃ 0评论

法线变换

法线(normal)也被称为法矢量(normal vector),上页描述的是如何用变换矩阵来变换一个顶点或者一个方向矢量。需要注意法线是需要特殊处理的一种方向矢量。

切线(tangent)也被称为切矢量(tangent vector),与法线垂直,都是模型顶点携带的信息。

切线可使用与顶点相同的变换矩阵,但是法线不可以,根据计算可以知道使用原变换矩阵的逆转置矩阵来变换法线就可以得到正确的结果。

如果原变换矩阵是正交矩阵(只包含旋转变换),那么可以直接用来变换法线。若还包含统一缩放,则再乘以统一缩放系数k的倒数1/k即可。

Unity Shader 的内置变量

在Cg中,采用float3x3、float4x4来表示矩阵,用mul进行矩阵的乘法,参数的位置决定按列矩阵还是行矩阵进行乘法。参数的位置直接影响结果。在Cg中,对float4x4的变量按行优先填充。unity在脚本中提供的Matrix4x4是采用按列优先填充的。


Mavis , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Unity Shader 入门精要(冯乐乐著)学习笔记(3)——学习Shader所需的数学基础
喜欢 (1)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址