F_Schlick
Implements the Schlick approximation to efficiently simulate the Fresnel effect, where a surface's reflectivity changes with the viewing angle.
Core Advantages
Strikes an excellent balance between performance and visual quality, abstracting complex physics into intuitive `f0` and `f90` parameters, which greatly simplifies PBR material creation.
Common Uses
Calculating specular reflections for both direct and image-based lighting
As the core component for distinguishing between metals and dielectrics
Implementing clear coat effects
Controlling the reflection/refraction ratio for transparent materials
How to adjust
The material is primarily controlled by adjusting the `f0` (base reflectivity) input. Provide a low, grayscale value (e.g., 0.04) for `f0` to create a non-metal (dielectric), or a color value to create a metal. `f90` is typically kept at 1.0.
Code Examples
1// f0: base reflectivity (metal color or ~0.04 for dielectrics)
2// f90: grazing angle reflectivity (typically 1.0)
3// dotVH: dot product of view and half vectors
4const fresnel = F_Schlick.call( { f0, f90, dotVH } );