每次调用glDrawElements时,如何将不同的统一vec4传递给着色器?

时间:2012-06-03 17:49:34

标签: opengl glsl

正如标题所说,每次调用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(..);

1 个答案:

答案 0 :(得分:3)

是的,你可以按照你想的那样改变绘图批次之间的制服。