私は現在、学校のプロジェクトで初めての 3D ゲームを開発しています。ゲームの世界は完全に Minecraft にインスパイアされています (世界は完全に立方体でできています)。私は現在、頂点バッファー オブジェクトを実装しようとしてパフォーマンスを改善しようとしていますが、行き詰まっています。このメソッドは既に実装されています: フラスタム カリング、露出面のみの描画、および距離カリングですが、次の疑問があります。
現在、私の世界には約 2^24 の立方体があり、16*16*64 の立方体の 1024 チャンクに分割されています。現在、フラスタム カリングでうまく機能する即時モード レンダリングを行っています。チャンクごとに 1 つの VBO を実装すると、カメラを移動するたびにその VBO を更新する必要があります (視錐台を更新するため)。これでパフォーマンスに影響はありますか?
各 VBO のサイズを動的に変更できますか? それとも、それぞれを可能な限り最大のサイズ (オブジェクトで完全に満たされたチャンク) にする必要がありますか?
訪問した各チャンクをメモリに保持する必要がありますか、それともその VBO を効率的に削除し、必要に応じて再作成できますか。