What relationship is there, if any, of "materials" and vertex/pixel shaders (or the "effects" that combine the latter two)?
I have the impression that before the advent of HLSL, materials were explicitly handled by Direct3D or OpenGL. I also have the impression that with HLSL, many prior effects are now handled directly (and generically) via the rendering pipeline in vertex/pixel shaders. In other words, I hae the impression that materials are often little more than what DirectX would call an "Effect." If so, this means that many models that specify materials would be transformed by a content pipeline into an "Effect".
Is this correct? Where can I get a little more history/info that either corroborates or corrects the impression I have?
"then how were materials implemented before shaders came along?"
...with register combiners, blending, texture modulation modes and fixed functions. See glMaterial/glFog/glLight for OpenGL equivalents, and DirectX APIs before DX9.
– jpaver Sep 03 '10 at 20:48