Blinn-Phong 光照模型,又称为 Blinn-phong 反射模型(Blinn–Phong reflectionmodel)或者 phong 修正模型(modified Phong reflection model),是由 Jim Blinn于 1977 年在文章“Models of light reflection for computer synthesized pictures”中对传统 phong 光照模型基础上进行修改提出的。和传统 phong 光照模型相比,Blinn-phong 光照模型混合了 Lambert 的漫射部分和标准的高光,渲染效果有时比 Phong 高光更柔和、更平滑,此外它在速度上相当快,因此成为许多 CG 软件中的默认光照渲染方法。此外它也集成在了大多数图形芯片中,用以产生实时快速的渲染。在 OpenGL 和 Direct3D 渲染管线中,Blinn-Phong 就是默认的渲染模型。
phong 光照模型中,必须计算V • R 的值,其中 R 为反射光线方向单位向量,V 为视线方向单位向量,但是在 Blinn-phong 光照模型中,用 N • H 的值取代了V • R 。Blinn-phong 光照模型公式为:
通常情况下,使用 Blinn-phong 光照模型渲染的效果和 phong 模型渲染的效果没有太大的区别,有些艺术工作者认为 phong 光照模型比 blinn-phong 更加真实,实际上也是如此。Blinn-phong 渲染效果要更加柔和一些,Blinn-phong 光照模型省去了计算反射光线方向向量的两个乘法运算,速度更快。由于 Blinn-phong和 phong 模型的唯一区别一个使用半角向量,一个使用反射光方向向量