正在学习关于unity Shader,其中我自己总结了一些自己不懂的东西
1、Float Fixed
float : 常见的写法有
float4
和
float3
float3 : 一般情况下我们指的是向量,例如 :float3 normal :NORMAL
float4 : 对那些需要操作的顶点用 float4 来表示 ,例如 : float4 vertex : POSITION
那么我们为什么用
float4
来表示我们想要的顶点呢?
在unity内部,通过矩阵的方式来描述这些点,一般情况下我们觉得 3*3的矩阵就能够描述一个点了,但是这样的点是没有办法进行变换的 : 旋转、缩放还有平移。
因此我们需要扩散到一个
齐次坐标空间
因此对于点的变化我们用
float4
来表示
还有一种理解方式:
链接内容
1、点,用Vector4表示就是(x,y,z,1)。*
2、向量,用Vector4表示就是(x,y,z,0)。
那么