ShaderTips

シェーダーTips

主にUnityシェーダーについての記事を書いています。

物理ベースレンダリングって何?

物理ベースレンダリングとは

物体表面における光の反射や※1媒質内における散乱などの物理現象

光源からシーンを経てカメラに入射する光の伝搬などを計測して数式でモデル化したもの用いてレンダリングすること

 

1光などの物理的作用を他へ伝えるもの

 

電磁波の一種。電磁波とは電場と磁場の変化によって作られる波

放射・・・光エネルギーを放出または伝達する

媒質によって※1伝播される

1伝わり広まること

 

吸収と散乱

散乱・・・光が微小の粒子にぶつかったときに、進行方向を変える

吸収・・・光エネルギーが物質との相互作用によって、他の形のエネルギーに変わる

媒体の厚さは吸収や錯乱される度合いに影響する

1媒質となる物体

 

光の特性

直進性

障害物がなく均一な物体の中を通る限り直進する

 

反射性

鏡や金属の表面や白いものの表面で反射する

反射の法則により、完全に平坦な表面上においては、入射角と反射角が等しくなる(完全反射)

しかし、表面に凹凸がある場合はいろんな方向に反射する(乱反射)

 

屈折性

光は通り抜ける物体によって速度が変わる。

そのため、密度の違う物質の境界では光が折曲がって進む

 

吸収性

物質は特定の波長の光を吸収する

Ex 赤い物質は白色光が当たると赤以外の波長の光を吸収して赤を反射する

これにより、人間の目には赤く見える

変化した量に応じて光の強さは減衰するが、光線の方向は変わらない

 

光のエネルギー

光は何度も反射や屈折を繰り返して、眼に色として視覚される

 

光線

光線が表面に当たるといずれか、もしくは両方発生

 

  1. 光線が表面で反射し、異なる方向へ

光線は表面で速度が変わり、屈折して一方の媒体からもう一方の媒体へと通り抜ける

 

 

 

鏡面反射光(スペキュラー)

物体表面に当たって反射された光

凹凸のない表面・・・完全反射し、反射した光は鮮明になる

凹凸のある表面・・・反射する光の方向は鏡面反射方向に拡散、反射した光はぼやけて見える

 

 

拡散反射光(ディフューズ)

光線が別の媒体に入ったとき、その媒体の中で何度も散乱、吸収される

吸収されずに元の媒体に屈折して出射されること

表面下散乱・・・拡散反射光は入射位置と発射位置が異なる現象

 

 

微小面

物体表面は肉眼では確認できないほどの小さな凹凸は小さい面が集まっているローカルオクルリュージョン

セルフシャドウ・・・光が物体表面に到達するまでの間に物体表面によって遮られる

セルフマスキング・・・光が物体表面で反射された後に物体表面から遠ざかる間に遮られる