正如标题所说,每次调用glDrawElements时,如何将不同的统一vec4(或其他)值传递给着色器?可以这样做:
着色器:
uniform vec4 material_ambident;
void main(void)
{
// Do somethings
}
和render()如下:
glUseProgram(program);
glUniform4fv(unf_matrial_ambident, 2, &float_array[0]);
// Bind buffer or somethings ...
glDrawElements(..);
glUniform4fv(unf_matrial_ambident, 2, &another_float_array[0]);
// Bind another buffer
glDrawElements(..);
答案 0 :(得分:3)
是的,你可以按照你想的那样改变绘图批次之间的制服。