-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 に答える