OpenGL会自动截断它还是错误?
我有一条讨厌的OpenGL代码似乎是在程序中使用glUniform4fv设置一个float4x3数组,其中有一个大数组,其中包含float4值(即每行4个浮点数而不是3个),似乎上班。也就是说,OpenGL只将3个值复制到矩阵的每一行,并跳过第四个。可以假设这将始终有效吗?
答案 0 :(得分:0)
GLSL规范非常明确:glUniform*
调用的大小和类型必须完全匹配着色器中声明的大小和类型(采样器和布尔值除外)。因此,如果您调用glUniform4fv
,则必须在vec4
类型的数组变量中设置count
类型的单个变量或vec4
个数组的数组。