フォンの反射モデルは物理的根拠を持たず、しかも物理的には間違っています。スペキュラー反射をうまくモデル化できる上に、後述するハーフベクトルを用いた簡易計算法があることと相まって、長く使われています。内積$<n,l>$を計算し、2倍してベクトル$n$の各成分に掛け、ベクトル同士の引き算を行い、もう一度内積を計算する必要があります。計算機の処理性能が低い頃にはさけたい演算でした。フォンの反射モデルには次のような簡易計算法があります。いう「ハーフベクトル」$h$を用意します。$h$は視線方向$v$と入射方向$l$の中間の方向を向いていて、ノルムを1に正規化されています。簡易計算法では、スペキュラー反射を次のように計算します。$$R_{\mathrm{specular}}(p,v)=k_{\mathrm{specular}}(p)<n,h>^{S}L(p)$$これはフォンの考えたモデルとは異なりますが、レンダリング結果はかなりフォンのモデルに近くなります。この式は「ブリン(Blinn)の近似」、として知られています。いう風に変化しています。これらを実装する際には内積が負にならないよう気をつける必要があり、次のようにします。$$R_{\mathrm{specular}}(p,v)=k_{\mathrm{specular}}(p)\max(<n,h>^{S},0)L(p)$$金属の反射モデルフォンの反射モデルでは、金属質の反射をうまく再現できません。そこで、フォンの反射モデルの改良版がいくつか提唱されています。これらの改良モデルの共通点は、フォン/ブリンの反射モデルに現れる$<n,h>^{S}$の項を物理的に意味のある量に置き換えようとすることです。そもそも$<n,h>^{S}$の項は、ハイライト(鏡面反射)のボケを表す項です。このボケがどこからくるのかといえば、物体表面が鏡のようにツルツルしているわけではなく、微細な凸凹があるためです。この微細な凸凹を構成する微小な面ひとつひとつのことを「マイクロファセット」と呼びます。マイクロファセットが色々な方向を向いているから、ハイライトがボケるわけです。ブリンは以上のような仮定から、フォンの反射モデルを次のように書き換えることを提唱しました。分母の$<n,v>$は視点から見たマイクロファセットの濃度を正規化する係数です。マイクロファセット分布関数$D$は、マイクロファセットが面の法線$n$に対してどの程度ズレて分布しているのかを記述する関数です。ここで、$d$には$<n,h>$を代入することになります。$S$は面の荒さを決める定数で、小さいほどシャープなハイライトになります。この関数$D$は「ベックマン(Beckmann)分布」として知られています。使われます($S'$と$S''$は定数)。この関数$D$は「ガウス(Gauss)分布」です。提案しました($S'''は定数$)。$G$は、マイクロファセットが他のマイクロファセットの反射の邪魔をする効果を表します。