質問
前回、UFOでいくつかのゲームで、きめの細かいボール、惑星、その他の球体を見てきました。 uおよびw座標として緯度/経度にテクスチャをスプラッタするだけで、極に多くのtextureいテクスチャの歪みが生じます。
私は、歪みを最小限に抑えた球面地図を実装する1つの方法だと考えています。正方形ではなく三角形にマッピングすることにより。しかし、私はアルゴリズムを知りません。そのような球の頂点とテクスチャ座標を生成する方法は?
また、単純な平らな正方形のマップから完全な球状のマップを生成する方法がわかりません。このようなマップを実際に問題なく描画するための直感的な方法はありますか?
ただし、歪みを最小限または最小限に抑えて球体をレンダリングする他のアルゴリズムはありますか?
レイトレーシングとラスタライズの両方のアルゴリズムが興味深い。
解決
毛深いボールの定理は、球体上の連続的なテクスチャ座標を定義することは不可能であると述べています。テクスチャを歪ませる極はありません。
他のヒント
Lat / lon" spheres"定義により歪みます。プログラミングに興味がある場合は、[四面体]( http://en.wikipedia.org/から始めてください。 wiki / Tetrahedron Tetrahedron)および必要に応じて各三角形を細分化する 4つの三角形に分割し、中心から指定した半径で中点を再配置します。
モデリングに興味がある場合は、GeoSphere(前述)または同様のものが問題を解決します。
ポイントは、三角形には緯度に依存しない一定量の歪みがあることです。
また、(閉じた)表面の細分化により、(C)LOD はかなり簡単です。
テクスチャリングは別の話ですが、良い球体ができたら少ない問題。
これがあなたの想像力を刺激することを願って:)
極付近で増加する縦方向のぼかしが付いた長方形のマップを使用できます(赤道のなしから北に60度まで)。 mip-mapsと併用すると、言及している効果の一部が根絶されるはずです。
ドリュー・オルブリッチは、球体をテッセレーションして直方体を作成するというすばらしい方法を思いつきました。頂点の数を増やすと、かなりまともな球形のテッセレーションが得られます。
または、キューブマップを使用できます。それは一般に、環境マッピングを行うための好ましい方法です。これは基本的にあなたが説明していることです。
球体を経度と緯度で分割しないでください。代わりに、3Ds MaxでGeoSphereと呼ばれるものを使用してください。 (実際には、多面体、測地線。