2017年06月08日

キューブマップとスフィアマップの作成

キューブマップとかスフィアマップとか出てきたのでパノラマ画像[1]をキューブマップやスフィアマップに変換するプログラムを作成してみました。

キューブマップは球面調和関数を試していたころに作っていた関数があったのでそのまま使用しました。積分などは行わずに極座標変換してレイが当たったところの色をそのままとっていたと思います。

スフィアマップの方は[2]を参考にさせていただきました。細かい話ですが、ray[2]とray[3]はray[1]とray[2]の間違いですね。ちゃんと見ていませんが、fire_ray関数の実装はなさそうでしたので、rayをワールド座標に見立てて、それを極座標に変換してキューブマップと同じ方法で変換してみました。

実行結果

cubemap_001.png
HDR画像を開いた後です。一応輝度値の最小/最大も表示するようにしています。255が1.0になるようにしているので、普通の画像は0〜1になります。

cubemap_002.png
キューブマップ変換後です。1枚にまとめたものと、各方向個別の6枚も出力するようにしました。

cubemap_003.png
スフィアマップ変換後です。これで合っているのかどうかはいまいちわかりませんが、[3]のミラーボールに似た結果になっているので良いことにします。

参考サイト
[1] http://vgl.ict.usc.edu/Data/HighResProbes/
[2] ftp://ftp.sgi.com/opengl/contrib/blythe/advanced99/notes/node179.html
[3] http://steradian.co.jp/adv3d/3dcg/HDRShop/PanoramicImage.html
posted by シンドラー at 21:20 | Comment(0) | TrackBack(0) | OpenGL & Metasequoia | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/450688356
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック