日曜プログラム PBR的ななにか
ということで、いろいろいじくってみたものの。
うん、もちょっと時間かけないと、わからん。
いろいろなモデルもあるし、計算量もいろいろだし、実装してみてもうまくいってんのか間違ってんのかよくわからんし、結局もどき&もどきでそれっぽいところに近づける程度のことしかできない感じ。
大変優しく説明してくださっている方々のをよんでみるものの、絶望的に難しい印象。
わからんなりにいろいろな上記サイト等を参考にさせて頂きつつ引っ付けては外し、適当にパラメータいじったりしてみたものが上の動画。
拡散反射BRDFについてまずやってみるも、見た目ぜんぜん違い分からず、ただのLambert拡散反射に戻す。
鏡面反射BRDFについては、正規化Blinn-Phongで実装してみるも、普通のPhongとの違い分からずなりにそのまま。
fresnel項についても、shlickの近似式で実装してみるも、なんか尖んない?ような気がして乗数とかも適当にいじる。
くだんのMetalnessについては拡散反射と鏡面反射の比率として使うようなことが書いてあったけど、そのままやるとめっちゃ暗くなる。拡散のほうからは外す。適当。
Roughnessについても実装上どう扱うもうわからん。1から引いてスペキュラーのかかり具合にしてみる。吐きそう。
葉っぱがMetalness低くRougness高いので、反射せずガサガサっぽい。漆塗りっぽいところはMetalness高くRoughness低いので、てかる。フレネルでエッジに鏡面が強くなる。的なできあがり。
と、ここまでぐちゃぐちゃやってみていたけど、Khronosさんによるそのももズバリのviewerがソース&解説とともに用意されていることに気づく。
次はこれみて修正かな。結局全コピペになるかもしれない(笑)
モデル出展元>
この記事が気に入ったらサポートをしてみませんか?