2

最速の球体マッピング アルゴリズムが必要です。Bresenhamの線画のようなもの。
Star Control 2 (回転する惑星) で見た実装のようなもの。
これに対してすでに発明および/または実装されている手法はありますか?

私は本当に自転車を再発明したくありません。助けてください...

問題の説明。
球体が表示されなければならない 2D サーフェス上の場所があります。球体 (地球としましょう) は細かいマップでテクスチャリングする必要があり、自由に拡大縮小および回転できる必要があります。マップまたは座標のいくつかの単純な変換関数を使用して実装したいと思います。球の 2D イメージ上の各ピクセルは、球の円筒マップからのピクセル数として定義されます。これにより、結果の画像のアンチエイリアシングを実装することができます。また、結果の画像の1つのピクセルが元のマップの複数のピクセルに対応する場合(たとえば、球の極に近い場合)、ミップマップを使用してマッピングを実装することも考えています。心の奥底では、これは簡単な数学で実装できると感じています。しかし、これらの考えはすべて私の考えです。

この質問は、これに少し関連しています:強い歪みのないテクスチャ球体 、しかし私の質問に対する回答はありませんでした。

UPD:ハードウェア サポートがないと思います。クロスプラットフォーム ソリューションが必要です。

4

4 に答える 4

2

この種のマッピングを行う標準的な方法は、キューブ マップです。球体はキューブの 6 つの面に投影されます。最新のグラフィックス カードは、フル テクスチャ フィルタリングを含む、この種のテクスチャをハードウェア レベルでサポートしています。ミップマッピングもサポートされていると思います。

別の方法 (ハードウェアでは明示的にサポートされていませんが、プロシージャル シェーダーによって妥当なパフォーマンスで実装できます) は放物線マッピングです。正方形のテクスチャ)。放物線射影は射影変換ではないため、数学を「手動で」処理する必要があります。

どちらの場合も、歪みは厳密に制限されています。ハードウェア サポートのため、キューブ マップをお勧めします。

于 2009-02-19T09:49:39.817 に答える
2

これを行うための優れた新しい方法があります: HEALPixです。

他のマッピングに対する利点:

  1. ビットマップは等分に分割できます (歪みはほとんどありません)。
  2. 任意の精度を持つ球の非常に単純な再帰的ジオメトリ。

例の画像

于 2009-02-19T10:07:57.260 に答える
1

ジム・ブリンの記事「球の描き方」をご覧になりましたか?私は完全な記事にアクセスできませんが、あなたが必要としているもののようです。

于 2009-02-26T07:10:17.867 に答える