レリーフテクスチャ


~ Relief Texture Mapping ~







下の画像をクリックすると、アニメーションが見られます。


■はじめに

さて、日ごろひそかに注目している方の一人にSFC(慶應義塾大学 湘南・藤沢キャンパス )の藤田将洋 さんがいらっしゃいます。
そちらのページでは、サブサーフェス散乱やシルエットエッジレンダリングのような興味深い研究が公開されています。
その中でも特に興味を引いた研究はレリーフテクスチャに関しての研究でした。
レリーフテクスチャはCgのコーディングコンテストの3回目で応募されていた方がいらっしゃったり、 とても興味深いネタだと思います。
今回は、DirectX9のパワーを利用して、逆ワーピング法でレリーフテクスチャを実装してみたいと思います。
ちなみに、上の画像はポリゴンを1枚レンダリングしただけです。

まぁ、いつものように適当にファイルが入っています。
APP WIZARD から出力されるフレームワークのファイルは紹介を省かせていただきます。

hlsl.fxシェーダの入ったエフェクトファイル
main.hアプリケーションのヘッダ
main.cppアプリケーションのソース
depth.bmp:深度テクスチャ color.bmp:デカールテクスチャ

あと、実行ファイル及び、プロジェクトファイルが入っています。

さらに、メッシュからリリーフテクスチャのための画像を作るためのプログラムも作ってみました。
メッシュを読み込んで色、深度、法線ベクトルを表示します。
左右のカーソルで見る方向を変えることができます。
手を抜いたので、保存する方法がありませんので、 「Print Screen」ないし、画面キャプチャで気に入った画像を取り出してください。最低限の機能ですが、現在表示されているテクスチャを保存する機能をつけました。また、中心座標をあわせるように調整しました(2003 Jan. 15日追加)。
MRTを3枚使っているので、動くかどうか保証できません。ご注意ください
(駄目だったら報告をお願いします)。





もどる

imagire@gmail.com