反射特性を考慮した実時間グレア描画手法
以下の動画は、すべて実際にマウスで操作している様子を,ビデオ出力端子を通してそのままMPEGファイルに録画したものです。
使用ハードウェア:Silicon Graphics Onyx3000 (CPU 400MHz,IR4グラフィックス)
モデルの鏡面反射指数nを変えたときのグレアの違いを示しています.n = 13, 40, 80, 128となっていき,最後にn = 13に戻ります.ティーポット表面は単純に環境マッピングを施してあるだけで,鏡面反射指数は特に考慮していません.
ティーポットを縦に回転しました.曲率の違いでグレアの拡がり具合が変わっていきます.
映りこみの面積が広い場合,グレア部分を隠していったとき,グレアが小さくなりながらも,覆い隠すもの(そそぎ口)の手前に飛び出す様子がわかります.
物体が横に移動すると,グレアのstreakが回転しながら移動します.まつげに対して高輝度の反射光が横に移動することによって起こる現象を模擬しています.
スポーツカーのモデルに,太陽を想定した光源マップを用いてグレアを付けました.ボディよりもガラスの鏡面反射指数を高くしてあります.
グレアの数が多いために少し表示速度が落ちていますが,何とかインタラクションができる速度で動いています.
海面の角度が変わって見えるように旋回してみました。
光源マップとして,白熱灯を想定した色の光源を複数(11個)配置したものを使いました.ダイヤモンドのモデルは,ここでは透明物体ではなく,不透明な鏡面反射物体として扱っています.
Masanori Kakimoto
kaki@sgi.co.jp