Change in direction of a wavefront at an interface between two different media so that the wavefront returns into the medium from which it originated.
In the world of 3D rendering, understanding how light interacts with different materials is crucial. Two key concepts in this regard are reflectivity and refractivity. This article will delve into these concepts and how they can be implemented in shaders using Blender's Shader Editor.
Reflectivity refers to the ability of a surface to reflect light. In the real world, all surfaces reflect light to some degree. The amount and manner of reflection depend on the material's properties. For instance, a mirror has high reflectivity, while a piece of charcoal has low reflectivity.
In Blender, reflectivity is primarily controlled using the Glossy shader. The color of the Glossy shader determines the color of the reflected light, while the Roughness value controls how sharp or blurry the reflections are. A Roughness value of 0 will create a perfect mirror reflection, while higher values will create more diffuse reflections.
Refractivity, on the other hand, refers to the bending of light as it passes through a transparent or semi-transparent object. This is why a straw appears bent when it's in a glass of water. The degree of bending, or refraction, depends on the material's Index of Refraction (IOR).
In Blender, refractivity is controlled using the Glass shader. The IOR value can be adjusted to simulate different materials. For example, the IOR of water is approximately 1.33, while the IOR of diamond is around 2.42.
The Fresnel effect is a phenomenon where the amount of reflectivity increases as the viewing angle becomes more oblique. This is why a flat body of water can look like a mirror when viewed from a low angle.
In Blender, the Fresnel effect can be simulated using the Fresnel or Layer Weight nodes. These nodes output a value between 0 and 1, representing the amount of reflectivity. This value can be used as the Factor input in a Mix Shader node to blend between a Diffuse and Glossy shader, creating a realistic Fresnel effect.
Now that we understand these concepts, we can start to implement them in our shaders. For example, to create a realistic glass shader, we could mix a Glossy shader (for reflections) and a Glass shader (for refractions) using a Mix Shader node. The Factor input of the Mix Shader could be controlled by a Fresnel node to simulate the Fresnel effect.
By understanding and implementing reflectivity, refractivity, and the Fresnel effect, we can create more realistic shaders and improve the overall quality of our 3D renders.