演習で述べているように: Call glBufferData
! 初めて色を設定するために、すでにそれを行っています。
データを変更した後、カラー バッファを で再バインドし、最初と同じ引数を使用してglBindBuffer
への呼び出しを繰り返します。新しいカラー バッファ データが GPU に送信されます。glBufferData
実際にデータを変更する方法については、たとえば、次のようなループを使用して、カラー データ配列の各セルに同じ値を挿入できます。
for (int i = 0; i < 12 * 3; ++i) // Replace 12 with the correct amount of points if it's wrong, the 3 is the amount of components per colour
{
g_color_buffer_data[i] = 1.0f; // Replace 1.0f with your desired colour component value
}
または、色の各コンポーネントに特定の値を挿入する場合:
for (int i = 0; i < 12; ++i)
{
g_color_buffer_data[i*3+0] = 1.0f; // i * 3 is the start of a colour
g_color_buffer_data[i*3+1] = 0.5f; // i * 3 + 1 is the second component
g_color_buffer_data[i*3+2] = 0.0f; // This you should be able to figure out
// Again, replace component values with your own ones
}
glBufferData
これらのループは、レンダリング ループ内のへの呼び出しの前に配置する必要があります。