Creating mirrors and reflective surfaces
Specular materials reflect light when objects are viewed from certain angles. Unfortunately, even the Fresnel reflection, which is one of the most accurate models, does not reflect light from nearby objects correctly. The lighting models we examined in the previous chapters only took light sources into account; they ignored light that is reflected from other surfaces. With what you've learned about shaders so far, making a mirror is simply not possible.
GI makes this possible by providing PBR shaders with information about their surroundings. This allows objects to have not just specular highlights, but also real reflections, which depend on the other objects around them. Real-time reflections are very costly and must be set up and tweaked to work. When done properly, they can be used to create mirror-like surfaces, as shown in the following screenshot: