Microfacet-based Normal Mapping for Robust Monte Carlo Path Tracing [Schüssler 2017]

f:id:mizuooon:20180127185756p:plain

SIGGRAPH ASIA 2017 の論文。 古典的なノーマルマッピングはジオメトリの形状を変えずに法線情報のみに変更を加えるため 物理的に正しくないモデルになっており、物理ベースのレイトレーシングを行った際には種々の問題を引き起こす。 例えば上図のように、 視線方向が法線の裏側になってしまったり 反射したレイの方向がジオメトリの内部に行ってしまったりしてエネルギーロスが起きてしまうなど。 この論文では以上のような問題の解決のため、 マイクロファセットをベースとして古典的なバンプマッピングを置き換えるモデルを提案している。

なお、この論文を読んで再現実装をしてみたものを自分の github リポジトリ上にアップしている。

GitHub - mizuooon/Xitils

続きを読む

Separable Subsurface Scattering [Jimenez 2015]

Separable Subsurface Scattering

vimeo.com

Computer Graphics Forum 2015 の論文。 サブサーフェススキャッタリング (SSS) を行う際、 表面下拡散のカーネルやら入射光やらが 軸ごとの関数に可分 (Separable) であるという仮定を置くと 高速に計算できてリアルタイムでも SSS できちゃうねという手法。 略称は SSSS でなんだかすごそうな感じがする。

続きを読む

『ボタン同時押し』実装を考える

たまにはゲーム制作っぽいのも書く。

横スクロールの格ゲーっぽいゲームを作る時を考える。 このとき、攻撃ボタンを押すとパンチが出て、下キーを押してしゃがみながら攻撃するとキックが出るようにしたいとする。 面倒なのでコマンド攻撃とか諸々は考えない。

この状態遷移図的なのを描くと以下のようになる。 今のフレームでの状態と押しているボタンによって、次フレームの遷移先状態が決まる。

f:id:mizuooon:20171019215019p:plain:w250

だが、実際作ってみるとわかるがこのまま愚直に実装すると恐ろしく手触りが悪くなる。 というのも、立っている状態からキックを出そうとすると結構な割合で出ないのである。 これはボタンの同時押しに対応した実装になっていないからである。 今回はこれを"いい感じ"にすることについて考える。

続きを読む

Importance Caching for Complex Illumination [Georgiev 2012]

https://graphics.cg.uni-saarland.de/2012/importance-caching-for-complex-illumination/

EUROGRAPHICS 2012 の論文。

ある点がシーン中全ての VPL から受ける寄与を計算する際に、 少ない数の VPL を確率的にサンプリングすることで効率的にその近似を行うとする。 このとき、 遮蔽の多いシーンでは特に重要なことだが、 寄与の大きい VPL を優先的にサンプリングする必要がある。 この論文は疎な点群で VPL に対する重要度を計算してキャッシュを作成し、 レンダリング時には周囲のキャッシュから補間を行うことで任意の点について VPL の重要度を計算するという方法を示している。

続きを読む

A Spherical Cap Preserving Parameterization for Spherical Distributions [Dupuy 2017]

A Spherical Cap Preserving Parameterization for Spherical Distributions – Unity Blog

www.youtube.com

早速ブログ放置しかけてたけどしれっと再開。

SIGGRAPH 2017 の論文。

球面上に定義された分布の表現方法として、 Spherical Pivot Transformed Distribution (SPTD) というものを提案している。 これは任意の spherical cap 上、またはそれを組み合わせた領域上での積分が便利に扱えちゃうよということらしい。

続きを読む

A Multiview and Multilayer Approach for Interactive Ray Tracing [Vardis 2016]

AUEB Computer Graphics Group - Publications

www.youtube.com

I3D 2016 の論文。

複数ビューの組み合わせとフラグメントの重なりを表現するデータ構造の実装により、 スクリーンスペースのエフェクトを実装する際に問題となる 『視界の中の物体しか反映されない』問題を解決する方法を示している。

続きを読む