Phong and blinn and gouroud and it is a little confusing

DMaes

Newcomer
Hello people,

I'm diving into 3D as i said in a previous post, and i'm taking it serious. The books i'm reading are pretty advanced though and something is bothering me.
I see a lot of different names coming by: like Gouroud, Phong, blinn,Terrence and Cook, Lambert. However it seems like especially Phong is used in different contexts. This is somwhat confusing to me.

It seems like Phong "invented" Phong shading model (should i call it shading model? ) which is a different form of shading than flat, or gouroud shading. This is the way vectors are either interpolated or used for the whole primitive.

On the other hand, Phong also created a reflection model ( should i call it reflection model? or is maybe lighting model a beter name? ) that exists next to the newer reflection models made by blinn, and terrance and cook. It describes the way light is reflected at surfaces by the use of BRDF's in terms of diffuse and specular color.

Am I going in the right direction?? and can anyone elaborate a little bit on the subject? Is there anything else these people are involved with that I should know of beside the shading models, and the reflection models?

maybe I should even ask if I have the right understanding of the definition of the terms "shading model" and "lighting model".

I hope you guys can give me a little better understanding :).

Greets,

David
 
You're right.
Flat shading, Gouraud shading (interpolate vertices colours over surface), Phong shading (interpolate vertices normals over surface).
Phong BRDF (Bidirectional Reflectance Distribution Function), Blinn BRDF and Blinn-Phong BRDF are "old" lighting/BRDF models, but still widely in use.
(Although they have started being replaced by physically correct BRDF and/or micro-facets ones.)

Broadly : shading is the act of computing the colour of a surface at a sample location, a BRDF is a function that describes light-matter interactions, you use it to compute shading.
Today you can consider we use Phong shading with a bump/perturbation map (the normal map), to get a wrinkled/non-smooth surface.
 
Thank you Rodéric, It clarified a lot to me. The thing that i still wonder about is that i read about multiple lighting models being used in a 3D-engine. Why wouldn't one just pick one that looks good, and stick with it? What is the reasoning behind useing multiple lighting models ( at least with multipass rendering, it seems to be a lot harder to accomplish using deferred rendering as every pixel is pushed trough the same shaders )
 
A BRDF simulating all materials would be quite expensive, when possible we prefer to cut the cost of being general by having surface specific BRDF.

I don't get what you meant between parenthesis, sorry :(
 
A BRDF simulating all materials would be quite expensive, when possible we prefer to cut the cost of being general by having surface specific BRDF.

I don't get what you meant between parenthesis, sorry :(

Actually it wouldn't be that expensive if you choose the most accurate BRDFs for both diffuse and specular direct lighting terms.

I've yet to see any of the games use the more physically plausible BRDFs that could cover almost 90% of most materials now.

Oren-Nayar is an excellent microfacet model for simulating a rough surface and you get a velvet like sheen just by increasing the roughness.

GGX is the most accurate specular model that I've seen before (outside of a real measured BSDF) - having a really wide tail for it's specular rolloff (mimicing a metal surface really well with low roughness values) and can be extended for anisotropic highlights.

The other models to really worry about would be SSS and Hair, which games just roughly approximate.

-M
 
Thank you Rodéric, It clarified a lot to me. The thing that i still wonder about is that i read about multiple lighting models being used in a 3D-engine. Why wouldn't one just pick one that looks good, and stick with it? What is the reasoning behind useing multiple lighting models ( at least with multipass rendering, it seems to be a lot harder to accomplish using deferred rendering as every pixel is pushed trough the same shaders )

You can. But you'd have to choose something that's physically plausible in order to do that. Games just don't have the budget to allocate for that when the average person won't tell the difference anyway.
 
Back
Top