PDA

View Full Version : Deferred shading: material ID



zenux
07-02-2010, 10:22 AM
Hi all,

When I read documents about deferred shading, it is said that we need to store in the g-buffer, the following data:
- normal
- position
- color
- material ID

What is it the material ID? A pointer to a material, I guess! How get a material ID? How get data of the material in a fragment shader from a material ID?

Thank you in advance.

Sorry for my english: it isn't my mothertongue :p[/B]

aqnuep
07-03-2010, 07:10 AM
Material ID can be whatever you would like.
Usually the material ID is a simple integer value that will be evaluated in the light shaders and the lighting equation used to calculate the illumination value of the fragment will depend on this value.
E.g.:
material ID = 1 => basic Blinn diffuse model
material ID = 2 => full Phong specular model
material ID = 3 => isotropic Ward model
material ID = 4 => anisotropic Ward model
......

Anyway, using a material ID is optional as if you would like to do all your lighting with the classing Phong model when you don't need it at all.
I hope this helped.

zeoverlord
07-03-2010, 02:27 PM
usually you can get away with just using specular intensity and specular roughness/power maps instead of material id, it makes the shader system simpler