私はマルチプレイヤーゲームに取り組んでおり、プレイヤーの近くに他のプレイヤーを表示します。最大で16人のプレイヤーがゲーマーの近くにいる可能性がありますが、0人もいる可能性があります。私が考えているのは、16個の空のVBOを設定して、クライアントがそれらを受け取ったときにキャラクターの位置をロードできるようにすることです。空のVBOを作成することは有効ですか?そうでない場合は、サーバーがクライアントに送信しているものに応じて、そこにある場合とない場合があるデータをレンダリングするにはどうすればよいですか?
1 に答える
4
あなたの質問は私を混乱させます。なぜVBOを使用して位置を保存するのですか?VBOは、描画しているものすべての頂点を持つことができ、描画時にmodelMatrixに基づいて位置を移動できます。
単純な擬似コード:
LoadVBO(player_model);
for(int i=0;i<16;i++){
if(player[i].visible) {
modelMatrix = player[i].position;
glUniform(modelMatrix);
DrawVBO(player_model);
}
}
これだけでは不十分な場合は、詳細をお知らせください。描画呼び出しをスキップするフラグを設定するのではなく、なぜ空のvboを描画しようとするのですか?
于 2012-04-16T20:21:25.190 に答える