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