1

私はOpenGL+GLSLで環境の反映に取り組んでいます。

オブジェクトの周囲の環境を可能な限り正確に反映したいと思います。

これを行うには、基本的に2つの方法があります。1つはSphericalMappingと呼ばれ、もう1つはCubeMappingです。

それらはシェーダーコードが異なりますが、実際にはそれらの違いが何であるかを理解していません。

明らかに、キューブマッピングシェーダーの場合、フラグメントシェーダーが正しいピクセルを表示するために必要な6つの画像がキューブに印刷され、スフェリックマッピングシェーダーの場合、フォトレタッチソフトウェアで歪められた、または写真を撮ることによって取得された1つの画像があります。鏡面反射球の。

球面マッピングの欠点は、カメラ(およびカメラを持っている人)が常に画像に表示され、サンプリングが不均一になることです。この最新の声明はどういう意味ですか?球面マッピングにおける「ブラックホール」効果とはどういう意味ですか?

これら2つのアプローチの違いと欠点のインタラクティブなデモンストレーションを見つけたいと思います。キューブマッピングが最適のようですが、理由はわかりません。

あなたの意見では、特にヘッドトラッキングを使用したリアルタイムシミュレーションの場合、2つの中で最も優れているものは何ですか?

4

1 に答える 1

1

スフィアマップは通常、小さくて品質の低いもの用です。

球状マッピングの欠点は、カメラ (およびそれを持っている人) が常に画像に表示されることです。

ここではコンピュータ グラフィックスについて話しています。本物のカメラも本物の人物もありません。「スフィアマップ」をイメージグーグルで検索してみてください。写真に誰も写っていません。

サンプリングが不均一です

これは、スフィアマップの中心には比較的小さな領域のピクセルが多く、境界付近では比較的大きな領域のピクセルが少ないことを意味します。

ほとんどの場合、キューブマップの方が優れています。実行時に簡単に生成でき、ハードウェアのサンプリングが高速で、テクスチャが 1 つではなく 6 つある場合でも、より低い解像度を使用しても同じ品質を得ることができます。

于 2012-07-26T10:01:40.247 に答える