ゲームグラフィクスアルゴリズム資料一覧
(最終更新:2015/09/27)
ゲームグラフィクスに興味のある人向けに資料を分類して集めました。
新しいの見つけたら増やしたり分類し直したりします。
※以下は応用的な内容なので、復習も兼ねて基礎的なアルゴリズム(CG数学、パイプラインとかシャドウマップ、法線マップなど)のページも後で作ろうかと思ってます。
Physically Based Rendering
物理的な観察に基づいたパラメータを用いたシェーディングモデル、スペキュラ反射
エネルギー保存則に従ったライティング、エリアライト
資料 | 概要 | 実装 |
---|---|---|
Real Shading in Unreal Engine 4 | PBR全般,エリアライト | UnrealEngine4 |
Moving Frostbite to PBR | PBR全般,エリアライト | Frostbite |
シリコンスタジオの最新テクノロジーデモ技術解説 | PBR全般,TemporalAA | MIZUCHI |
Moving to the Next Generation - The Rendering Technology of Ryse | PBR全般 | Ryse: Son of Rome |
「FINAL FANTASY 零式HDにみる 新しいHDリマスター」講演資料 完全版 | PBR全般,TemporalAA | FINAL FANTASY 零式 HD |
Global Illumination
光源から直接照らされる光を直接光、光源以外の表面に一回以上反射した後の光を間接光というが、
グローバルイルミネーション(大域照明)では間接光を取り扱う。
複数回の反射計算を行う必要が有るため負荷が非常に高く、ライトマップなどの事前計算を行うか、リアルタイムの場合大幅な近似が必要となる。
またZバッファの情報を利用したスクリーンスペースの手法も記載する。
資料 | 概要 | 実装 |
---|---|---|
Multi-Scale Global Illumination in Quantum Break | 粒度の粗い軽量な事前計算ボクセルツリーによるGIと、スクリーンスペースでのGIの組み合わせ。SpecularIBLの自動配置。 | Quantum Break |
トゥモローチルドレンで採用したVoxel Cone Tracing技術について | VoxelConeTracing | トゥモローチルドレン |
Light Propagation Volumes in CryEngine 3 | プレイヤーを中心としたボクセルに光源からのライティング情報を挿入し、繰り返し隣接ボクセルにライティング情報を伝搬し、間接光を表現する。ライティング情報はSHで格納する。 | CryEngine3 |
Cascaded Light Propagation Volumes for Real Time Indirect Illumination | LPVを階層化 | CryEngine3 |
Image-Space Horizon-Based Ambient Occlusion | 深度バッファの情報を用い、シェーディングピクセルから各方向の地平線(最も角度が大きい点)を求め平均し、環境光の遮蔽率を求める | - |
Line-Sweep Ambient Obscurance | ピクセル単位で地平線を求めるかわりに、コンピュートシェーダを用い各方向毎にスイープを行って逐次的に最大地平線を求め、最後に結果を平均化する。HBAOの速度改良版。 | - |
Hierarchical Screen Space Indirect Illumination For Video Games | SSIL | - |
Specular Reflection
拡散反射(DiffuseReflection)とは異なり、鏡面反射(SpecularReflection)は視線方向(見る角度)に大きく依存し、
ライトマップに事前ベイクしておくことが出来ない。そのため別の手法が必要となる。
資料 | 概要 | 実装 |
---|---|---|
Image-based Lighting approaches and parallax-corrected cubemap | 通常のCubemapは無限遠の反射として扱うため、実際の反射とはズレが生じる。この手法では、BOXで周辺環境を近似し反射レイの衝突位置を求め、比較的正確な反射にする。 | - |
Parallax-Corrected Cubemap | 上記の日本語での解説 | - |
Screen Space Ray Tracing | 深度バッファの情報を用いレイマーチングを行い、反射レイの衝突位置を求める。 | - |
GPU-Based Importance Sampling | インポータンスサンプリングのGPU実装 | - |
Stochastic Screen-Space Reflections | SSRの改良。インポータンスサンプリング,Hi-Z SSR,隣接ピクセルレイの再利用,TemporalReprojectionなどを全て活用 | Frostbite |
Anti Aliasing
高周波領域(ポリゴンの境界、カットアウト表現)におけるサンプリング数の不足を補い、エイリアス(ジャギーやフリッカー)を低減させる。
資料 | 概要 | 実装 |
---|---|---|
High Quality Temporal Supersampling | TemporalAA | UnrealEngine4 |
SMAA: Enhanced Subpixel Morphological Antialiasing | AA | CryENGINE |
Post Process
ライティング後の後処理
資料 | 概要 | 実装 |
---|---|---|
Next Generation Post Processing in Call of Duty: Advanced Warfare | ポストプロセス全般、モーションブラー、被写界深度、ブルーム | Call of Duty : Advanced Warfare |
A Fast and Stable Feature-Aware Motion Blur Filter | MotionBlur | - |
魅力ある絵作りのために知っておきたい色光学豆知識,実践!シネマティックレンズエフェクト | 基礎知識、被写界深度 | - |
Volume Rendering
気体のレンダリング
資料 | 概要 | 実装 |
---|---|---|
Towards Unified and Physically-Based Volumetric Lighting in Frostbite | ボリュームレンダリング | Frostbite |
Sky
空とか雲とか
資料 | 概要 | 実装 |
---|---|---|
The Real-time Volumetric Cloudscapes of Horizon: Zero Dawn | 雲生成、雲レンダリング | Horizon:Zero Dawn |
Precomputed Atmospheric Scattering | 大気散乱 | - |
Spherical Harmonics
球面調和関数は、いくつかの係数だけで球体上の値(輝度など)の分布を表現できる関数。
Cubemapの代わりとして、ライティング情報の圧縮などに用いられる。
資料 | 概要 | 実装 |
---|---|---|
Spherical Harmonics for Lighting | SH | - |