-1

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

1 回答 1

3

是的,您可以按照您的想法在不同批次的图纸之间更换制服。

于 2012-06-03T17:56:24.290 回答