美文网首页
shader 常用数据类型

shader 常用数据类型

作者: Rayson | 来源:发表于2020-06-11 09:18 被阅读0次

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)。

那么,向量是两个点相减组成,得到:
(x1,y1,z1,1)- (x2,y2,z2,1) = (x1 - x2, y1 - y2,z1 - z2,0)
就可以表示两个点相减是一个向量。

如果用Vector3表示一个点的话,就不知道两个点相减是什么了。

然后我们再来看看 ShaderLab属性类型和Cg变量类型的匹配关系

这样就能理解为什么使用 float4 类型了。

相关文章

网友评论

      本文标题:shader 常用数据类型

      本文链接:https://www.haomeiwen.com/subject/ywuvtktx.html