0

OpenGL会自动截断它还是这是一个错误?

我有一段讨厌的 OpenGL 代码,它似乎在程序中设置了一个 float4x3 数组,方法是使用 glUniform4fv 和一个包含 float4 值的大数组(即每行 4 个浮点数而不是 3 个),它似乎可以工作。也就是说,OpenGL 只将 3 个值复制到矩阵的每一行并跳过第 4 个值。可以假设这将始终有效吗?

4

1 回答 1

0

GLSL 规范对此非常明确:glUniform*调用的大小和类型必须与着色器中声明的大小和类型完全匹配(采样器和布尔值除外)。因此,如果您调用glUniform4fv,您必须设置类型的单个变量vec4或类型count数组变量中的条目数组vec4

于 2012-08-22T21:34:23.383 回答