以前から読もう読もうと思っていた、コチラの西川善司さんの本。
「ゲーム制作者になるための3Dグラフィックス技術」
最近詐欺が横行しているAmazonマーケットプレイスで無事に購入しました。
ゲームの3D技術の歴史から、各機能の実装方法について分かりやすく説明されています。限られたリソースでハードウェアのポテンシャルを工夫で越えているものも紹介されています。そういった作品は技術的にチャレンジングなことをしていてとても勉強になります。
執筆時期が2013年ですが、あまり基礎力が伴ってない自分にとっては非常にありがたい書籍で、もっと早く購入すればよかったです。
ところで、書籍の中でモーションブラーについて書かれてあったので、まずは自分で考えてコードを書いてみようと思いました。
モーションブラーもいろんな方法がありますが、今回はシンプルな映像フレーム全体に一様にかけるカメラブラーをやります。
処理の流れ
- フレーム毎のフレームバッファを保持(今回は3枚)
- 保持したバッファをシェーダ内で合成
処理自体メチャシンプルですので、説明する部分はほぼありません。RenderTextureを複数保持し、1フレーム毎にずらして書き込みそれらを合成して画面に出すだけです。
サンプルコード
このように動いた部分全てにブラーがかかるようになりました。 今回の実装ではサンプル数(Tex0, Tex1の部分)次第でリッチさが変わってくると思います(+負荷も)。