简单的问题,希望是一个简单的答案。
发送到顶点着色器的属性数据表示为四维向量。关于表示位置数据,字段通常命名为X
,Y
,Z
和W
。我的问题涉及W
。
默认情况下,如果未提供任何信息,则属性包含:
[ 0, 0, 0, 1 ]
为什么在第四个字段中存在差异,其中默认为1
而不是0
与其他字段不同?是风格,数学还是其他推理?
除了好奇心之外,这个问题没有真正的原因。谢谢你的时间。
答案 0 :(得分:2)
因为它可能具有最普遍有用的价值。
如果你要发送一个3元素的颜色(RGB),第四个组件自动用1填充是非常有帮助的。类似地,如果您发送3向量位置,则第4个分量为1对于乘以4x4矩阵非常有用。
当您尝试将它们与4x4矩阵一起使用时,唯一的责任就是法线(或类似方向,如切线和bitangents)。