物理ベースレンダリング

提供: MonoBook
Physically Based Renderingから転送)
ナビゲーションに移動 検索に移動

物理ベースレンダリング(Physically Based Rendering、PBR)とは、3DCGにおいて物体の「素材(マテリアル)」を考慮してライティングする手法をいう。

概要[編集 | ソースを編集]

「物理」というと物理演算のようなものを思い浮かべるかもしれないが、それは「レイトレーシング」や「パストレーシング」の世界である。物理ベースレンダリングはそこまで壮大ではない。

シェーダーの教科書によくあるLambertPhongではディフューズスペキュラーを計算してその結果を単純に足し合わせることで色を決めている。「光」ばかり計算してモデル側は色と法線くらいしか考慮していない。

 PixelColor = ambient + diffuse + specular;

一方、PBRでは「モデルの素材(マテリアル)」という概念を追加して、ディフューズやスペキュラーに「鏡面反射の度合い」や「透明度」などの係数をかけ合わせることで「質感」を表現しようというものである。

マテリアル[編集 | ソースを編集]

PBRの「素材の要素」は実装により異なる。よくあるのは「メタリック」と「ラフネス」だ。この2つはほぼ確実に実装されている。さらに「透明度」や「屈折率」、「発光」といった要素を採用している実装もある。

メタリック[編集 | ソースを編集]

メタリックは金属感を表し、主にディフューズに作用する。

  • 範囲:0.0 - 1.0
  • 「0.0」のときはベースカラーがそのまま使われ、
  • 「1.0」のときは鏡面反射しまくりとして処理される。

ラフネス[編集 | ソースを編集]

ラフネスはザラザラ感を表し、主にスペキュラーに作用する。

  • 範囲:0.0 - 1.0
  • 1.0に近づくほど「ザラザラである」とされスペキュラーが弱まる。

関連項目[編集 | ソースを編集]