声明:只是自己看书的理解,可能有错的地方或者忽略一些要点,请斟酌取舍。

学习Shader,最常用的就是矢量矩阵
只是简单的看了一下,头大,所以只是列出个提纲,如果后续编写代码的时候遇到,可以有目的的去查找。
1.坐标系(不再多说)
2.矢量(主要是点积叉积
点积(主要作用:求投影,求模,求夹角(判断方向))
公式一: a·b = (ax,ay,az)·(bx,by,bz)= axbx + ayby + azcz
公式二: a·b = 丨a丨丨b丨cosθ
叉积(主要作用:计算垂直于一个平面或者三角面的矢量,判断三角面片的朝向。)
公式一:a×b = (ax,ay,az)×(bx,by,bz)= (aybz-azby,azbx-axbz,axby-aybx)
模:丨a×b 丨=丨a丨丨b丨sinθ
3.矩阵(这个真的让人头大)
特殊矩阵:方块矩阵(方阵),单位矩阵,转置矩阵,逆矩阵,正交矩阵。(先记些名字,用到再查。)
矩阵的意义:变换
平移,缩放,旋转。
绝大多数情况下变换顺序为:先缩放,再旋转,最后平移
4.坐标空间的变换过程
模型空间,世界空间,观察空间,裁剪空间,屏幕空间,
《Unity Shader 入门精要》学习笔记04---学习Shader所需的数学基础
5.法线变换
计算光照的时候需要。
6.Unity Shader 的内置变量(数学篇)
Unity内置的变换矩阵(自行查阅)
Unity内置的摄像机和屏幕参数(自行查阅)

相关文章: