【发布时间】:2023-12-28 04:05:01
【问题描述】:
我知道顶点属性位置总是 4 分量,但我不完全确定它是否也适用于 mat2(和其他 mat2 类型)。
【问题讨论】:
我知道顶点属性位置总是 4 分量,但我不完全确定它是否也适用于 mat2(和其他 mat2 类型)。
【问题讨论】:
这取决于您所说的“没有任何问题”。
是的,mat2 是顶点属性的有效类型。但是,when used as attributes,所有 矩阵类型都被视为矩阵列的数组。并且对数组进行处理,使得每个数组元素都是一个单独的属性。
所以mat2 算作两个 属性,而不是一个(特别是每个属性的前两个组件)。如果这对您来说不是问题,那么您可以这样做。
如果要将mat2 填充到一个属性中,则必须手动执行:
layout(location = X) in vec4 matrix_attrib;
...
void main()
{
mat4 mAttrib(matrix_attrib.xy, matrix_attrib.zw);
}
【讨论】: