フォン反射モデル

フォン方程式の視覚的説明:ここでは光は白色、環境光と拡散光はどちらも青色、鏡面反射光は白色で、表面に当たる光のごく一部が反射されますが、そのハイライトは非常に狭い範囲に限られます。拡散反射成分の強度は表面の方向によって変化し、環境光成分は均一(方向に依存せず)です。

フォン反射モデルフォン照明またはフォン照明とも呼ばれる)は、コンピュータグラフィックス研究者のブイ・トゥオン・フォンによって設計された、表面上の点の局所照明に関する経験的モデルです。3Dコンピュータグラフィックスでは、特に同名の補間法と組み合わせて使用​​される場合、ピクセルシェーダーなど、照明計算が「シェーディング」と呼ばれるような場面では、「フォンシェーディング」と呼ばれることもあります

歴史

フォン反射モデルは、ユタ大学ブイ・トゥオン・フォンが開発し、1975年の博士論文で発表しました。[1] [2]このモデルは、ポリゴン表面モデルからラスタライズされる各ピクセルの計算を補間する方法と併せて発表されました。この補間手法は、フォン以外の反射モデルで使用される場合でも、フォンシェーディングと呼ばれます。フォンの方法は、導入当時は革新的だと考えられていましたが、その後、多くのレンダリングアプリケーションで事実上の基本シェーディング方法になりました。フォンの方法は、レンダリングされるピクセルあたりの計算時間を一般的に効率的に使用するため、人気を博しています。

概念

フォン反射は、局所照明の経験的モデルです。表面が光を反射する方法を、粗い表面の拡散反射と光沢のある表面の鏡面反射の組み合わせとして記述します。このモデルは、光沢のある表面は小さく強い鏡面反射ハイライトを持つのに対し、鈍い表面は大きなハイライトが徐々に減衰するというフォンの非公式な観察に基づいています。このモデルには、シーン全体に拡散する少量の光を考慮するための環境光項も含まれています。

シーン内の各光源について、成分と はそれぞれ、光源の鏡面反射成分と拡散反射成分の強度(多くの場合、RGB値)として定義されます。環境光は単一の項で制御されますが、すべての光源からの寄与の合計として計算される場合もあります。

シーン内のマテリアルには、次のパラメータが定義されています。

は鏡面反射定数であり、入射光の鏡面反射率である。
拡散反射定数、入射光の拡散項の反射率(ランバート反射率)、
は周囲反射定数であり、レンダリングされたシーンのすべての点に存在する周囲項の反射率であり、
これはこのマテリアルの光沢定数であり、表面がより滑らかで鏡面に近いほど大きくなります。この定数が大きいほど、鏡面反射ハイライトは小さくなります。
フォンシェーディングとブリンフォンシェーディングを計算するためのベクトル

さらに、

はすべての光源の集合であり、
は、表面上の点から各光源(光源を指定する)に向かう方向ベクトルである。
、これは表面上のこの点の法線である。
これは、表面上のこの点から完全に反射された光線が進む方向であり、
、視聴者に向けられた方向(仮想カメラなど)です。

次に、フォン反射モデルは、各表面点の照明を計算するための方程式を提供します

ここで方向ベクトルは、表面法線によって特徴付けられる表面上反射として計算され、

帽子はベクトルが正規化されていることを示します。拡散項は、観察者の方向 ( ) の影響を受けません。鏡面反射項は、観察者の方向 ( ) が反射方向 と揃っている場合にのみ大きくなります。それらの揃っているかどうかは、それらの間の角度の余弦の累乗で測定されます。正規化されたベクトルと間の角度の余弦は、それらのドット積 に等しくなりますが大きい場合、ほぼ鏡のような反射の場合、鏡面反射ハイライトは小さくなります。これは、反射と揃っていない視点の余弦は 1 未満になり、これを高累乗すると急速に 0 に近づくためです。

上記の定式化はフォン反射モデルを表現する一般的な方法ですが、各項は、その項のドット積が正の場合にのみ含める必要があります。(さらに、鏡面反射項は、拡散反射項のドット積が正の場合にのみ含める必要があります。)

コンピュータグラフィックスではよくあることですが、色がRGB値として表される場合、この式は通常、R、G、B の強度ごとに個別にモデル化され、異なる反射定数異なる色チャネルが許可されます。

Phong 反射モデルを実装する場合、正確な式を実装するのではなく、モデルを近似して計算を高速化する方法がいくつか存在します。たとえば、Blinn-Phong 反射モデルは Phong 反射モデルの修正版であり、視聴者と光源が無限遠にあるとみなした場合に効率が上がります。

鏡面反射項の指数計算を扱う別の近似法[3]は次の通りである。鏡面反射項はそのドット積が正の場合にのみ考慮されるべきであることを考慮すると、次のように近似できる。

ここで、は実数であり、整数である必要はありませんが2のべき乗、つまりが整数である場合、この式は を2乗することでより効率的に計算できます

この鏡面反射項の近似は、十分に大きな整数(通常は 4 または 8 で十分です)に対して成立します。

さらに、値は、または として近似できます。後者は、フォンのドット積ベースの よりもおよびにおける正規化誤差の影響を受けにくく[引用が必要] 、非常に解像度の低い三角形メッシュを除いて、およびを正規化する必要はほとんどありません[引用が必要]

この方法は、変数の累乗をいくつかの乗算に置き換え、正確な逆平方根ベースのベクトル正規化の必要性を排除します。

逆モデル

フォン反射モデルとフォンシェーディングを組み合わせることで、現実世界の物体の陰影を近似することができます。つまり、フォン方程式は写真に写る陰影と目に見える物体の表面法線を関連付けることができます。逆法線とは、自然画像またはコンピュータで作成された画像から表面法線を推定したい場合を指します。

フォン反射モデルには、物体表面の拡散反射パラメータ(アルベド)など、物体ごとに変化する可能性のある多くのパラメータが含まれています。そのため、写真に写った物体の法線は、光源の数、光の方向、反射パラメータといった追加情報を加えることでのみ特定できます。

例えば、指のような円筒形の物体があり、その物体上の直線上の法線を計算したいとします。ここでは、光源は1つだけ、鏡面反射はなし、そして反射パラメータは既知の(近似値)一様であると仮定します。フォン方程式は次のように簡略化できます。

周囲光と拡散反射に等しい定数を定数として、式を書き直すと次のようになります。

これを円筒形の物体を通る線に書き直すと次のようになります。

たとえば、光の方向が物体の 45 度上にある場合、2 つの未知数を持つ 2 つの方程式が得られます。

式中の2のべき乗のため、法線方向の解は2つ存在します。したがって、正しい法線方向を定義するには、幾何学に関する事前情報が必要です。法線は、物体表面上の直線の傾斜角と直接関係しています。したがって、連続面を仮定すれば、 法線を用いて線積分を用いて物体上の直線の相対的な表面高さを計算することができます。

物体が円筒形でない場合、未知の法線値が3つ存在します。その場合、2つの方程式は依然として法線が視線ベクトルを中心に回転することを許容するため、事前の幾何学的情報から追加の制約が必要になります。例えば顔認識では、顔の深度マップのデータベースに対して主成分分析(PCA)を用いることで、これらの幾何学的制約を得ることができます。この場合、正規分布に見られる表面法線解のみが許容されます。[4]

アプリケーション

フォン反射モデルは、3Dコンピュータグラフィックスソフトウェアで表面のシェーディングを行う際に、フォンシェーディングと組み合わせて使用​​されることが多い。これ以外にも、他の目的にも使用されることがある。例えば、パイオニア探査機からの熱放射の反射をモデル化し、パイオニア異常を説明する試みがなされた[5]

参照

参考文献

  1. ^ Bui Tuong Phong、「コンピュータ生成画像の照明」、Communications of ACM 18 (1975)、第6号、311–317ページ。
  2. ^ ユタ大学コンピューティング学部、http://www.cs.utah.edu/school/history/#phong-ref
  3. ^ Lyon, Richard F. (1993年8月2日). 「ハードウェアレンダラーの簡素化のためのフォンシェーディング再定式化」(PDF) . 2011年3月7日閲覧
  4. ^ ブーム、BJ;スプリューワーズ、LJ; RNJ フェルドハウス (2009 年 9 月)。ジャン・シャオイー。ニコライ・ペトコフ編(編)。制御されていないシナリオにおける顔画像のモデルベースの照明補正。コンピューターサイエンスの講義ノート。 Vol. 5702。33  40ページ。書誌コード:2009LNCS.5702....J。土井:10.1007/978-3-642-03767-2。hdl : 11693/26732ISBN 978-3-642-03766-5
  5. ^ F. Francisco; O. Bertolami; PJS Gil; J. Páramos (2012). 「パイオニア宇宙船の加速に対する反射熱の寄与のモデル化」. Advances in Space Research . 49 (3): 337– 346. arXiv : 1103.5222 . Bibcode :2012AdSpR..49..579S. doi :10.1016/j.asr.2011.10.016.
  • MatlabにおけるPhong反射モデル
  • GLSLにおけるフォン反射モデル
Retrieved from "https://en.wikipedia.org/w/index.php?title=Phong_reflection_model&oldid=1311915114"