View Full Version : Blinn highlight vs. Phong highlight

 Schkieward02 February 2006, 07:06 PMI was wondering today, what is the essential diffrence between these two, they have slightly different settings yes, but i would be glad if someone would explain further. Also where the names come from?
pgraham
02 February 2006, 08:03 PM
a google search for "blinn phong" reveals a few explanations, this one is pretty good.
http://www.lighthouse3d.com/opengl/glsl/index.php?ogldir2

The difference is in the way the specular highlight is calculated. Phong highlights always appear circular (on flat surfaces) and Blinns stretch out if you are viewing the surface from a shallow angle. Blinns are supposed to be faster to render. They are named after the people who invented each method.

Schkieward
02 February 2006, 11:01 AM
thanks, this was enlightening.

floze
02 February 2006, 10:27 PM
a google search for "blinn phong" reveals a few explanations, this one is pretty good.
http://www.lighthouse3d.com/opengl/glsl/index.php?ogldir2

The difference is in the way the specular highlight is calculated. Phong highlights always appear circular (on flat surfaces) and Blinns stretch out if you are viewing the surface from a shallow angle. Blinns are supposed to be faster to render. They are named after the people who invented each method.
It's the other way around: Phongs are faster than blinns, since blinn invokes a fresnel calculation which makes it more expensive. There's also mixed types around, sometimes called blong or blinn-phong.

pgraham
02 February 2006, 02:45 AM
It's the other way around: Phongs are faster than blinns
"Blinn proposed a simpler and faster model, knows as the Blinn-Phong model that is based on the half-vector"
- from the link I posted.

A fresnel calculation is not in the basic Blinn model, perhaps in a certain program the shader named "Blinn" has that option.

floze
02 February 2006, 11:25 AM
"Blinn proposed a simpler and faster model, knows as the Blinn-Phong model that is based on the half-vector"
- from the link I posted.

A fresnel calculation is not in the basic Blinn model, perhaps in a certain program the shader named "Blinn" has that option.
I dont want to nit-pick, but that link is about the blinn-phong (blong) model, not the regular blinn. Here's an article about the true blinn (torrance-sparrow) model:

http://www.siggraph.org/education/materials/HyperGraph/illumin/specular_highlights/blinn_model_for_specular_reflect_1.htm

But still.. doesnt the blong's additional calculation to get the half vector instead of the simple cosine make it still slower than the phong? I'm neither mathematician nor programmer, so correct me if I'm wrong please.

stew
02 February 2006, 11:41 AM
Cosines are expensive, calculating the half vector is usually much cheaper. That said, the difference in performance between Phong and Blinn can be neglected in most cases, as the overhead of highlight calculations is tiny compared to other shading operations (Oren-Nayar or BSSRDF for example).

"Phong" in the context of shading can stand for two things: The reflection model and normal interpolation between vertices (as opposed to Gouraud shading which interpolates color). I have often seen Blinn-Phong used to describe Blinn highlights on Phong interpolated surfaces.

pgraham
02 February 2006, 04:39 PM
Here's an article about the true blinn (torrance-sparrow) model:
okay, I guess I'm just used to Blinn-Phong and assumed that's what is actually implemented as a "Blinn." I think Maya's Blinn is Blinn-Phong, not Torrance-Sparrow.

floze
02 February 2006, 04:53 PM
okay, I guess I'm just used to Blinn-Phong and assumed that's what is actually implemented as a "Blinn." I think Maya's Blinn is Blinn-Phong, not Torrance-Sparrow.
Actually the specular roll off is the fresnel term, the eccentricity the shadowing/masking factor. Afaik XSI has a blinn-phong implementation, would be pretty simple to port it to maya since the mi_blong_specular function is already easily available in mentalray.

CGTalk Moderation
02 February 2006, 04:53 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.

1