Edited at

続・LumberyardのShaderを覗いてみた

More than 1 year has passed since last update.


前回に続いてLumberyardのShaderを覗いてみます。

前回の記事

https://qiita.com/dgtanaka/items/7901b1b9283eaf148da0

気になるファイル名のシェーダーを適当にチョイスして覗いてみます。


  • PostAA.cfx

     名前の通り、ポストプロセスにるアンチエイリアスのコードですね。

    TAA,SMAA,FXAAの3種類のシェーダーが記述されていますが、SMAAはDEPRECATEDと書かれているので、使われていないようです。

     標準はTAAで、FXAAも使用可能なのはUE4と同じですね。Shaderの中でApplyFilmGrainという関数があって、AntiAliasの後にFilm Grainを足しています。Film Grainはフィルム撮影独特の粒子状のノイズですね。


  • PostEffectsGame.cfx

     こちらはゲーム向けのポストエフェクト、水滴、雨、雪、閃光など。KillCameraFilterなんてのも実装されています。これは周辺減光とノイズと色変換ぽいですね。


  • CommonSVO.cfi

     Sparse voxel octree global illumination、Lumberyardの目玉、ボクセルベースのリアルタイムGIの実装。UE4が割りと早い段階で諦めたやつですねw

     どの程度使い物になるのか興味あるので、時間ができたらじっくり触ってみたい。


  • DeferredShading.cfx

     Deferred Shadingの処理がぎゅっと詰まっています。

     Deferred DecalとかSSR(Screen Space Reflections)とかSSDO(Screen Space Directional Occlution)とかいろいろ入ってます。

     Deferred DecalのMip LevelをgetDecalMipLevelsという関数で補正してるところとか個人的に見どころ。



まとめ

 こんな短いのにまとめも無いですが、時間がなくてちょっとしか書けませんでした。

 こんなんでもアドカレが途切れるよりは良いかなと思ったので、恥ずかしながら投稿させていただきました。

 シェーダーコード見てるだけで時間は過ぎていくのですが、記事としてまとめられる事って思ったほど無いものです。