1

たとえば、頂点が似ている 2 つの立方体があるとします。たとえば、

float pVerts[] = 
{
    0.0, 0.0, 0.0,
    1.0, 0.0, 0.0,
    ...
};
glGenBuffer(1, &mVertexBuffer);
glBindBuffer(...);
glBufferData(...);

後で使用するために、この一連の頂点をキャッシュすることはできますか? または、言い換えれば、(まったく同じ頂点データを持つ) 2 つ目の立方体が必要な場合、別の頂点バッファーを生成する必要がありますか?

シェーダーについても同じことが当てはまりますか? これらの立方体を描画するために同じプログラムを使用できますか?

4

1 に答える 1

4

同じ頂点バッファーを使用して、必要な数のオブジェクトを描画できます (シェーダーかどうかに関係なく)。2 番目のオブジェクトを描画する場合は、モデル マトリックスを変更して再度描画します。

シェーダーについても同じです。同じシェーダーを使用して、必要な数のオブジェクトを描画できます。シェーダーをバインドして、必要な数のドロー コールを起動するだけです。

于 2012-10-29T19:09:44.770 に答える