1

私は大量の星(粒子)を持っており、広大な空間にほとんど散らばっていません。ナビゲーションを含め、このスペースを何らかの方法で視覚化する必要があります。明らかに、パーティクルのすべての実空間座標を OpenGL にフィードすることはできません。厳しい処理を実行して、OpenGL に適したテクスチャや少量のポイントなど、簡単にレンダリングできるものを考え出す必要があるようです。座標。問題は、このタスクを解決するための一般的な手法があるかどうかです。ない場合は、どのようにしますか?

4

2 に答える 2

6

深度バッファの精度制限をかなり簡単に回避できます。すべての星をさまざまな距離に分類するだけです。名前があるかどうかはわかりませんが、いくつかの場所で説明されているのを見ただけです

精度の問題が発生する前に、深度バッファー/投影マトリックスが 10,000 になる可能性がありますが、星が 27,000 まで離れているとします。星がどれだけ離れているかによって星を分類します。0 から 10,000 離れた星は最初のビンに、10,000 から 20,000 の星は 2 番目のビンに、といった具合です。

  1. 色と深度のバッファをクリアする
  2. 射影行列を near=20,000 および far=30,000 に設定します
  3. 20,000 から 30,000 の間のすべての星を描きます
  4. 深度バッファのみをクリアする
  5. 射影行列を near=10,000 および far=20,000 に設定します
  6. 10,000 から 20,000 の間のすべての星を描きます
  7. 深度バッファのみをクリアする
  8. 射影行列を near=0 および far=10,000 で設定します
  9. 0 から 10,000 までのすべての星を描画します

10-20 ビンのすべての星が 20-30 ビンのすべての星の前にあることがわかっているので、深度バッファを安全にクリアして、深度バッファの精度制限を回避し、次のように描画することができます。好きなだけ遠くへ

于 2012-09-19T20:38:37.000 に答える
0

スターとオブジェクトをレンダリングするレイヤー化されたスカイ キューブの方法を使用できます。物事が比較的近い場合は、立方体の「マトロシュカ」配置で視差スクロール方法を使用できます。

于 2012-09-18T08:52:08.683 に答える