フォト

Google AdSense

  • AdSense
無料ブログはココログ

« 雨 | トップページ | 卒業の季節 »

2005.03.23

バーチャルディスプレースメントマッピング

昨年は、結構色んなバーチャルディスプレースメントマッピング手法を見る機会(SIGGRAPHのポスターとかNVIDIA SDKの【Effects】にあるFX Conposer向けサンプルとか)があったのですが、ちょうどspinでもそれが取り上げられてますね。

Fabio Policarpo氏の実装は実はNVIDIA SDK(気づいている方もいるでしょうが、8.5ではNVSDKで9.0ではNVIDIA SDKと微妙にですが名称が変わっています)やFX Composerの一部のバージョン(たぶん、ベータ版時代)に入ってます。

"relief_maps" is a sample from our skilled friend Fabio Policarpo. It uses "relief mapping," an alternative to the usual bump or normal mapping. Not only does relief mapping disturb the surface normals, but also creates realistic geometric displacments in the shading -- and even casts shadows from those displacements. (NVIDIA SDK 9.0 のEffectsの記述)

ただ、今回の記事で紹介されているのは新バージョンとのことなんで、どう変わったかのはこれから見てみたいと思います。

さて、個人的には一時期は「頂点テクスチャフェッチでディスプレースメントマッピングが実装できるのにバーチャルディスプレースメントマッピングなんて有用なのか?」という疑問がありました(過渡期的な手法かと思っておりました)。

しかし、最近ではそれなりに有用な手法ではないかと考えております。と、いうのも頂点テクスチャフェッチでディスプレースメントマッピングが出来たとしても、適応型のテセレーションが有効でない現在ではディスプレースメントマップの解像度を高めてディスプレースする場合には、それなりの頂点数がないと滑らかには見えません。ですので、そういった意味ではピクセル処理で凹凸があるっぽく見せるのはそれなりに有効な気がします(ただし、凹凸が微細な場合)。

あと、IntelのGMA 900(近いうちにGMA 950が出るんでしたっけ?)やRADEON IGPのように頂点シェーダはハードウェアで実装していないけど、ピクセルシェーダはハードで動くようなオンボードグラフィックチップではこうした手法を使うしかないですね(ただし、速度面はあまりよい結果が出ないかも)。

そんなわけで、バンプマップの延長上としてディスプレースメントマッピングを使いたいというのであれば、意義はあるのかなぁと思ってたりします。ただ、やはりディスプレースメントマッピングで地形生成とかたとえば、PCWatchのGDC 2005記事(該当記事)なんかにあるような基本の人体形状を元に頂点テクスチャで人間やクリーチャーにしちゃう手法はやはりバーチャルディスプレースメントマッピングではきついですよねぇ…。

vdm
NVIDIA SDK に付属するFX Composer用のrelief_maps

« 雨 | トップページ | 卒業の季節 »

Programming」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2210/3406206

この記事へのトラックバック一覧です: バーチャルディスプレースメントマッピング:

« 雨 | トップページ | 卒業の季節 »