2

いくつかの一般的なガイダンスを探しているだけですが、ひどいしゃれを許していただければ、私が3Dをいじってから非常に長い時間が経ち、風景が大きく変化しました.

ブラウザーでレンダリングする必要がある現実世界の地形スキャンから生成された、非常に詳細な 3D モデル (それぞれ 300 万以上の面) が多数あります。それらは「不規則」であり、グリッド/DEM などからレンダリングすることはできません。

モデルを小さなオブジェクトに分割し、各オブジェクト (3 レベル) に対して LOD を生成しました。これにより、頂点の共通セットと、JS クライアントに段階的にストリーミングする頂点の一部またはすべてを参照する 3 つのインデックス バッファーが生成されます。

カメラからの距離に基づいて各オブジェクトの LOD を指定することにより、1 フレームあたり 500k ~ 1M のポリゴンをレンダリングするつもりです。

私の質問は、これらのレベルを効率的に切り替えるにはどうすればよいですか?

データが GPU に送信されるときに、フレーム レートに自然にバンプとグリッチを生成する単純なアプローチを試しました。しかし、すべてのデータ (頂点と 3 つのインデックス バッファー) を GPU メモリに送信し、低解像度バッファーなどの特定のインデックス バッファーでレンダリングするように指示してから、中解像度または高解像度に切り替える方法を探していました。カメラが近づくにつれて res バッファー。

Three.LOD() ソリューションは、単純なソリューションと同じ fps グリッチを生成するだけなので、何の役にも立たないようです。

一般的ですが、いくつかのガイダンスをいただければ幸いです。乾杯!

4

1 に答える 1