Understanding Basic Shading Networks & Surface Materials
Shading network or surface material or better known as Shader can be defined as the set of instructions attached with a particular 3D model which instructs the render engine how the model’s surface interact with light. Going by the definition of colors, technically colors are differentiated on the basis of absorption and reflection of light; hence we can say that without a shader a 3D model would essentially be unseen and would exist only as a group of raw data points. In general Shader is what provides a 3D model a visual presence.As one can observe numerous surface types in the real world like metallic, plastic, polymer or resin, stone, wood, ceramic and many more for an entire 3D scene typically designer would need dozens of different shaders to accurately describe it; for example a 3D object with dull or non-reflective surface like a cloth requires an entirely different shader type as compared to a glossier surface like plastic or gold.
Shading network for designers differ a lot on the basis of end rendering engine; for example for a pre-rendered scenes like visual effects or computer animation in a movie, designer can spend great deal of time to each frame so every polygonal object can have its own dedicated shading network whereas things become much more complicated in real-time graphics like in case of games or simulations where the real-time rendering happens as a result the same 3D Model would be combined into a single seamless mesh in order to save system resources and improve frame rates, this is when surface maps become very important.
So how are these shaders made? Shading networks in itself is an indepth and technical subject to discuss but to give our readers an overview there are high-level shader languages like Direct3D or OpenGL to code these shaders in primarily three different types – vertex shaders, pixel shaders and geometry shaders. Thankfully, most (if not all) of the 3D software or render engines are pre-installed with wide variety of generic base shaders which can readily be applied to a model and be easily modified towards desired appearance. Some of the generic shader types that come pre-installed with 3DsMax and Maya are:
Lambert: Of all the standard shader types Lambert is the most “diffuse” that means that light is evenly scattered about the surface rather than being directly reflected.
Blinn/Phong: Specifically for reflective surfaces like ceramic or metal these almost visually identical shading networks are used. 3D Model surface where Blinn / Phong shader is applied will strongly define a specular highlight (direct reflection of light)
Anisotropic: In case of Anisotropic shader though it also shows distinct highlight but the reflection appears as an elongated ellipse; surfaces with directional grain that causes long, repeated highlights like hair or brushed metal or grass are represented via Anisotropic shader.