One of the most fundamental terminological conflicts among 3D Artists is the Shader-Material dilemma. There are many views on inclusion. The view we accept is the Shader > Material system. Our article will be about it.
Shader
Speaking of the shader in 3d, it is a set of various parameters that control how an object interacts with light. It is a container,a package.
In general, it carries parameters such as diffuse, specular, reflection, refraction, emission, transmission, bump, normal, displacement, opacity, environment. Shaders are inclusive. The essence. With a single shader model, we can make a particular mesh (object without shade) behave as unrelated objects such as water, stone, wood, glass, milk, meat. You can see some shader examples below:
3d Studio Max, Maya and Cinema 4D Material Editors... Before you thinking that all of those are materials, think carefully. They are just interfaces to create a material. Look at the preview spheres. They all black. There is no data. If there is no data then there is no material.
As you can see in the pictures, all the parameters are available for us to create any material, but none of the parameters are active or has value, and if you assign this "material" to any object, it will not interact with the light and this simply makes no material.
There are three similar Shader models above. If, a parameter activated, for example, if the Diffuse channel is activated and a green color is given, we will obtain a green matte wall material in its simplest form. If you assign wood texture to the same channel, you will have wood material. If you activate reflection and refraction you will have a glass, change IOR you have water, diamond, assign a brick texture to the diffuse, bump, displacement channels etc. All materials we mentioned are born from a single shader model.
The main reason for shader confusion is the emergence of shader models with different parameters over time. This means that the shader goes from general to specific. At the same time, it is a situation that makes the work of the users easier.
Lets take a look at general examples:
Toon/Ink&Paint Shader
Allows the object to interact with light in a cartoon style. It has the parameters of its own like Lighted Color, Shaded Color, Highlight Color, Ink Color, Ink Width, Outline Color, Outline Width, Stroke which differs from standard models. Likewise, when you assign a parameter to this shader, you get an object-specific Toon material.
Car Paint Shader
This type, as the name suggests, is a special type of shader used to create car paint. Modern car materials consist of several layers. In its simplest form, the first layer contains the color pigments of the paint, but there is also another thing included, micro metal particles called Flake, which increase the shine. On top of this, another glossy, highly reflective layer added which is called coating. Custom parameters of this shader model are Flake Color, Flake Size, Rotation, Seed, Coating Color, Strength etc. If we assign values to parameters? We will have car paint material.
Hair Shader
Container of hair material. Has unique parameters like Thickness, Length, Scale, Frizz, Kink, Curl, Bend etc. to shape and shade the hair/fur.
Skin/SSS Shader
Shader model customized for creating the Sub Surface Scattering materials we talked about earlier. Parameters are SSS Amount, Radius, Layer Colors, Weight etc...
Shader diversity is entirely at the discretion of the manufacturers. With the Octane Universal, Arnold Standard or Redshift Standard Shaders we can create SSS, Car Paint, Toon&Ink Materials!
Texture
Basically texture is the different types of data like color, pattern which we assign to the parameters of a shader.
It can be a bitmap or parametric functions like noise, tile, fresnel, falloff etc.
Mainly color or luminance data drives almost all shader parameters. While we can use vector data to manipulate and create directional shading, in the end shader will require color data to show something.
For example, if we want a falloff texture on a sphere, we can drive color, reflection etc. parameter strength with normal vector but without color information assigned to different angles, the output will be nothing. Normal vector is a mathematical value not a visible one.
Lets imagine a green wall with some paintings on it. At it is most basic level we can just create a file in Photoshop with green background and paint something on top of it then assign it to the Diffuse channel of a shader. So we get simple wall material. But!
There is a big but. In reality things doesn't work that simple. In order to create a realistic material, we must first separate the structure into its core components:
1 - Wall Color = Diffuse Color
2 - Wall Reflection = Reflection Strength, Color.
3 - Reflection Scattering = Reflection Roughness/Glosiness
3 - Micro irregularities on the wall mesh = Bump Map, Normal Map
4 - Big irregularities on the wall mesh = Displacement Map
5 - Paint Colors = Diffuse Color
6 - Reflection of Paint = Reflection Strength, Color, Roughness/Glosiness
7 - Micro trails and directions of brush strokes = Bump Map, Anisotropy Map.
We saw the most basic compounds to create a realistic material. In order to get that realizm we need specified texture maps to drive each compound.
These are some parameters that can change name by software, by render engine, but properties are the same:
Diffuse - Albedo = Both refer to the base color of the material.
Transparency - Refraction - Transmission = All of them controls the light transmission.
Reflection - Specular = Both controls the Reflection.
Glossiness - Roughness = Both control the blur or clarity of reflection/refraction.
Only difference is that the colors used inverted. For example while roughness uses white to make blurry reflection, glosiness uses opposite, the black color to make it blurry and vice versa for clarity.
Dispersion-Abberation = Both refer to the separation of color frequencies.
Emission - Self Illumination = Both defines the material as the light source.
Stay safe.
Comments