Relationship between Phong and Blinn lighting model

version : 1.1 – Living blog – First version was 29 March 2012

Phong and Blinn are the two most used lighting models in game development. The properties of the two have been debate a lot of time and I won’t discuss this here. See [1] to know why you should use Blinn rather  than Phong when you do physically based rendering. The point of interest I would discuss is the relationship between Phong lobe shape and Blinn lobe shape. This relationship matter when you use image based lighting (IBL). In this case you generally have only one cubemap sample and can only emulate Phong shape highlight (see AMD Cubemapgen for physically based rendering). The problem come when you want to use IBL and try to match it with analytic Blinn lighting model use for direct lighting. The highlight shape don’t match. Here is a comparison between an analytic Phong (Left) and Blinn (Right) highlight with the same specular power (Click for high rez).

This post will study what we can do to better match Blinn and Phong highligh. There is really few paper about this subject [2] [3]. About Phong and Blinn relationship, it can be show that the Phong angle is twice the Blinn angle [3]:

cos^{-1}(R.E) = 2 cos^{-1}(N.H)

This relation allows to write

cos^\rho(\theta) = cos^{x \rho} (\frac{\theta}{2})

Where \rho is the specular power, \theta is the Phong angle ( cos^{-1}(R.E) ) and x is our unknown parameter. Finding the value of x which best fit this equation will provide our relationship between Phong and Blinn.

Yoshiharu Gotanda give 4.2 for the value of x in [2]. Frederick Fisher and Andrew Woo give 4 in [3]. Following sections will discuss these results.

Read more of this post