In offline rendering, KD, KS, and KT (representing the diffuse reflection coefficient, mirror reflection coefficient, and transmission coefficient of an object respectively) can be used to briefly describe the basic material of an object. For example, we set an object to: Kd = 0, Ks = 0.1, KT = 0.9, that is, after a bunch of light hits the surface of the object, 90% of it is transmitted (refraction ), the other 10% is reflected back by the surface. This means that no matter what angle the light hits the object's surface, its reflectivity and transmittance are the same. But is it true in real life?
Imagine that when you stand by the lake and look down at the water at your feet, you will find that the water is transparent and the reflection is not very strong. If you look at the distant lake, you will find that the water is not transparent and the reflection is very strong. In short, when the line of sight is perpendicular to the surface, the reflection is weak. When the line of sight is not vertical, the smaller the angle, the more obvious the reflection. If you look at a ball, the center reflection of the ball is weak and close to the edge is strong. This is the "freell effect ". Different materials have different strength in the freell effect, and the freell reflection effect of conductor (such as metal) is very weak. For example, the reflectivity of Aluminum remains above 86% at all angles, there is little variation with angle, and the freell Effect of Insulator Material is obvious. For example, for glass with a refractive index of 1.5, the reflectivity in the direction of surface vector is only 4%, however, when the line of sight and the surface method vector have a large angle, the reflectivity can be close to 100%, which makes the metal and the non-metallic look different.
In Graphics, we can also add the freell reflection effect to make the reflection of glass, porcelain, water surface and other objects more realistic. The equations of freell reflection can be derived from the Maxwell electromagnetic equation (because in essence, freell reflection uses the theory of fluctuation to explain the reflection of light ). For transparent objects, the result is:
The Kr and KT in the formula represent the final reflectivity and refractive index respectively, and θ represents the relative refractive index of the object. θ I and θ t represent the incident angle and refraction angle respectively. It can be seen that for a transparent object, how much light energy is reflected is related to the relative refractive index and incident angle of the object. It is worth noting that, this formula is not applicable when total reflection occurs.
In addition, the freell reflection effect can also be used on non-transparent materials such as diffuse reflection to describe the reflectivity of the non-transparent materials at various incident angles. However, this situation is slightly more complex, it is usually difficult to solve directly, but it can be approached by rational polynomials. For example, when processing subsurface scattering, Fresnel is added:
However, I added the freell reflection for transparent objects in the Code and tested the same scenario. It seems that the difference is not obvious (dizzy + _ + ). Not added with freell reflection:
Fresnel reflection)