HEXA BLOG
ヘキサブログ
研究・開発
分散シャドウマップ
こんにちは、イワサキです。
梅雨まっただ中で自宅の屋外デッキの塗装ができなくてヤキモキしている今日この頃です。
いつもは技術デモを公開していますが、今回は内製ゲームエンジン「ヘキサエンジン」について一部を紹介してみたいと思います
影表現の代表格はPCF(Percentage-Closer Filtering)です。
セルフシャドウ付きソフトシャドウを表現するときに一般的に用いられる手法です。
この手法と双璧をなすのが「分散シャドウマップ」です。海外のゲームエンジンにも採用されていたりして、PCFよりも高速で見栄えも美しいです
Variance Shadow Maps
http://www.punkuser.net/vsm/
概念については下記ページがわかりやすくて良いと思います。
■3Dグラフィックス・マニアックス 29 影の生成(10)~改良型デプスシャドウ技法(5)
http://journal.mycom.co.jp/column/graphics/029/index.html
この技法は「チェビシェフの不等式」を応用した影のシルエット生成技法です。
式は次のような式になります。
今回は詳細については割愛させていただいて、ヘキサエンジンでの実装例をスクリーンショットで紹介してみたいと思います。
シャドウマップ生成には16bit整数R16G16を使用してレンダリングを行なっています。
精度的にはなんとか足りるということと、32bitフォーマットで高速に動作するということがポイントとなります。
R32G32Fと比較すると2倍以上高速です。又、Zバッファをテクスチャとして読める環境では倍速Z生成を利用可能ですので併用すると効果が高いです。カラーバッファと併用する際にはZバッファを16bitにするなどしてメモリ帯域を圧迫しない工夫が必要になってきます
これもリアルタイム性が要求されるゲームだからこその工夫になります。
それにしてもシャドウマップの略称は数が多くて大変です。
今回のバリアンスシャドウマップはVSMと略されますが、他にもPSM, LiSPSM, TSM, LogSM, ESM, CSM, RSM, 等など・・・色々な技法が存在します。
それだけ多様な研究が行なわれているということなのでしょうね。
それぞれの技法に長所がありますので必要な技法を適切に選択して仕事に役立てていくことも大切ですよね。
ヘキサエンジンはPC(Windows環境)・Xbox360・PlayStation3に対応したマルチプラットフォームゲームエンジンです。
ゲーム開発中の画面にメニュー画面などのウィンドウGUIを表示してプレビューや編集、パラメータの変更が可能になっています。
その場で見たままの画面での編集が可能になります。開発を快適に進めることができるようになっています。
さっそくシャドウバッファを表示してみましょう。
今回の例ではバリアンスシャドウマップを平行投影した場合のテクスチャの内容を表示しています。
実装ではカスケードシャドウマップに対応しています。近景・中景・遠景にあわせて解像度の異なるテクスチャを併用して品質を向上する技法です。
【近景】
【中景】
【遠景】
近くは詳細な遮蔽情報が描画できています。カスケードシャドウマップを使用することで遠景でも品質を損なうことなく解像度感を保つことができます。
ちなみに上図の遠景の小さいスクリーンショットを拡大してみたのが次の図です。
分散シャドウマップだと解像度が下がっても影のエッジが非常に滑らかで綺麗ですね。
シーンに投影されている様子を表示したものがつぎのスクリーンショットです。
わかりづらいかもしれませんが中央にあるものがシーンで、青いグラデーションが視界の視錐台を表しています。白いボックスはテクスチャの投影のされ方を表しています。
バリアンスシャドウマップのメリットは美しいソフトシャドウにあります。
ガウスフィルタと併用したものが次のスクリーンショットです。ぼんやりとした柔らかいシルエットが描画できます。
今回のスクリーンショットでは黒く濃い影表示にしてありますが、本来はこのグレースケールのシルエットが照明の遮蔽項になります。
白いところには照明が当たり、黒い部分には照明が当たらないように計算することで、より正しい照明計算になります。
ヘキサエンジンでは3プラットフォームで同じ結果が得られるように設計・最適化されています
もちろん各環境は全く異なるものですが、ヘキサエンジン上で開発する場合にはそれを感じさせないような工夫が盛り込まれています。
今後もこのようなかたちでヘキサエンジンを紹介できればと思っています。
ヘキサドライブはこれからもどんどん成長していきます
CATEGORY
- about ヘキサ (166)
- 部活動 (6)
- CG (18)
- プロジェクトマネジメント (1)
- 研修 (5)
- 美学 (1)
- いいモノづくり道 (230)
- 採用 -お役立ち情報も- (149)
- プログラム (188)
- デザイン (99)
- ゲーム (274)
- 日記 (1,104)
- 書籍紹介 (113)
- その他 (875)
- 就活アドバイス (20)
- ラーメン (3)
- ライフハック (25)
- イベント紹介 (10)
- 料理 (23)
- TIPS (7)
- 怖い話 (3)
- サウンド (5)
- 子育て (1)
- 筋トレ (1)
- 商品紹介 (21)
- アプリ紹介 (31)
- ソフトウェア紹介 (33)
- ガジェット紹介 (12)
- サイト紹介 (10)
- 研究・開発 (34)
- 回路図 (4)
- アナログゲーム (40)
- 交流会 (21)
- 報告会 (3)
- インフラ (25)
- グリとブラン (6)
- カメラ (9)
- クラフト (27)
- 部活 (14)
- 画伯 (15)
- カレー (6)
- 音楽(洋楽) (6)
- 映画・舞台鑑賞 (43)
- 飼育 (5)
- いぬ (8)
- ねこ (19)
ARCHIVE
- 2024年
- 2023年
- 2022年
- 2021年
- 2020年
- 2019年
- 2018年
- 2017年
- 2016年
- 2015年
- 2014年
- 2013年
- 2012年
- 2011年
- 2010年
- 2009年
- 2008年
- 2007年