2012年11月20日

視神経モデル網膜シミュレーション -Retina simulation of Human Visual System-

気がつけば冬の到来雪。皆様風邪などひいてないでしょうか?
こんにちは、イワサキです。

以前からだいぶ間が空いてしまいまして、久々に技術デモを掲載してみようと思います。
今までもコンピュータグラフィックス以外の他の分野にも目を向けながら技術デモを紹介してきていますが、
今回は医学の分野に少し触れてから、その切り口でゲームCGを考えてみようと思います。

写実的なリアリティを目指していこうとすると、最終的に行き着くのは「本物の再現」になります。
今後DirectX11世代からはその考えがゲームCGでも加速していくのは間違いないと思いますが。そうなってくると、シーンの計算が終わった後、最終的な画面への反映の方法も重要になってきます。
現実世界には光を受けて映像化するデバイスは数あれど、主に次のどれかに分類できると思います。
カメラフィルム
カメラセンサー
目肉眼

感光フィルムは昔ながらのスチルカメラカメラで感光剤を塗布したフィルムを感光させる方式です。
感光センサーはCCDセンサーなどの光の強さを数値化することができるもののことです。
肉眼は普段日常で皆さんが目で見ている景色がまさにそれです目
カメラ的な表現はゲームCGの中でもToneMappingとしてすでに多くの作品がHDR表現として取り入れていますが、今回は人体に備わっている感光センサー「網膜」にフォーカスしてみたいと思います。
そんなわけで「網膜シミュレーション」を今回のお題にしたいと思います。

…と、その前に、原理の解説が長くなるためにまず先にデモを紹介します。
ダウンロードして実際に実行することができます。

2010-10-14-0.png


このデモは以下からダウンロードすることができます。
今回もWindowsXPでも閲覧実行可能にするためにDirectX9でデモを作成しました。
実際にはDirectX11で実装することで実行効率を上げ、さらに速度を向上させることができるようになります。

2012-11-20-0.jpg

2012-11-20-1.jpg2012-11-20-2.jpg

◎動作可能な環境

 <動作条件>
 Windows XP/Vista/7 DirectX9.0c
 ShaderModel 3.0 以降
 ※注意※ 今回のデモは大変複雑なシェーダーになっています。
 ShaderModel 3.0 以降対応でもドライバの問題などで動作しない場合があります。
 なるべく最新版のグラフィックドライバをご利用ください。
 尚、デモの中でfp16浮動小数点バッファを使用していますので、SM3.0対応GPUでもfp16に非対応のGPUでは起動できません。


Download
HexaRetina.zip (約5.9MB)

【動作確認済ハードウェア】
・NVIDIA GeForce GT 520
・AMD Radeon HD 7750
【操作方法】
左マウスクリック+ドラッグ…視点を回転


このデモでは、残像現象を主に表現しています。
その効果がわかりやすいように残像を2倍強調されて出るようにしています。
(実際にはこの半分の残像量になります)

今後網膜上の明順応暗順応が実装されれば、一般的なTonemappingとは少し違った見え方で表現できそうです。

見え方をよりそれらしくするために次の技法も併用しています。

ひらめき散乱グレア
ひらめき周辺減光
ひらめきHDRモーションブラー(カメラを回した時に効果が確認できます)

続きを読む

posted by 管理人 at 15:07 | 研究・開発