Reflections, or specular reflections are what we see when the light is reflected back from the outermost layer of the surface.
For non-metals 99% of the time, these reflections are grayscale.
They also always have something called the Fresnel effect, which means that the strength of reflections depends on the angle of incidence. The reflections are at their weakest when the surface normals are pointing directly at the viewer (0 degree incidence angle) and they are 100% strong when the surface normals are pointing at a perpendicular angle relative to the viewer (90 degree incidence angle)
Measured data for real world objects (non-metals) defines the strength of reflections at 0 degree incidence angle to be about 2~5%. No more and no less.
This part is actually easy to do in vray, no calculations or anything. Just set the Reflection value to pure white and make sure Fresnel is on and set to the IOR value of 1.5
The frensel calculation takes care of the rest and the reflectivity at 0 degrees is exactly 4%
For liquids, lower the Fresnel IOR 1.3~1.49
If you need to boost reflections a bit increase it up to 1.6
That’s it, 90% of the shaders should just use 1.5 value.
A lot of folks take the measured reflectance values and use them incorrectly – The reflection amount combined with Fresnel makes sure that the full strength is only reached at grazing angles, The measured amount at 0 degrees is set by the IOR. You don’t have to calculate anything, just use white and adjust Fresnel IOR. Even adjusting Fresnel IOR for non liquids is non essential. It’s quite hard to tell the difference between 4% reflectance and 6% reflectance, so you probably shouldn’t even bother.
Here’s a simple test setup so you can see that it works correctly for yourself. Pure white environment, simple sphere with pure black Diffuse and pure white Reflection.
When measuring linear reflection channel values in VFB we can see they match perfectly.
The only exception for non-metallic materials, where you might go higher with the Fresnel value is for gemstones and coated reflective glass. These can have the IOR go up to 2.4 (actual reflectance at 0 degrees up to ~17% )
The specular look of the shader is mostly controled by the Glossiness, or roughness. This value imitates microscopic imperfections of the surface and makes the reflections appear blurrier.
For pure, clean materials you don’t need to use a Reflection texture, only a Glossiness map.
It get’s a bit more complicated for dirty/layered/mixed/rough/metallic surfaces but I’ll cover that later.
The glossiness itself is worthy of our attention – there is something similar to the Fresnel effect going on in respect to the blurriness of reflections. Even relatively rough surfaces have sharp reflections at grazing angles.
Here’s a simple example photo (yes, that’s my actual phone, I’m still stuck in the last century).
As you can see the reflection becomes sharper as the viewing angle approaches parallel to the surface normals.
Try it for yourself with a relatively rough object against a brighter object.
Even things like cardboard have sharpish, strong reflections at glancing angles.
To imitate this effect, my standard practice has become using a Falloff map with a custom curve in the Glossiness slot.
The texture, if needed is used in the First color slot, while the second slot sets the upper limit for Glossiness. For most materials it should be just pure white. For rougher surfaces you should lower it to medium/light gray, as rougher surfaces never seem to reach full sharpness even at grazing angles.
The falloff curve itself looks something like this. It’s not set in stone and you can tweak it a bit in either direction, I’m afraid there’s no convenient measured data to use here, so you will have to use your own judgement. The important thing is that the effect itself is present.
I use this approach for all my shaders, except for perfectly smooth surfaces (float glass, water, etc)
Interestingly enough, even things like painted walls, fabrics, bricks and other surfaces that don’t ‘seem’ reflective, should have pretty strong reflections.
They should just be blurred quite a lot.
Here’s a link to an interesting article with some examples of specular reflections – http://filmicgames.com/archives/557
Overall the light is bounced more around the scene and it looks a bit brighter and more physically correct, when using reflections for all surfaces, even ones where the reflections are very blurred. The downside is longer rendertimes than with “cheat” materials (no reflections on things like plastered ceiling, or other seemingly non-reflective objects).
To make things a bit more balanced, reduce the amount of bounces on materials with blurry reflections, it could help out a bit with rendertimes, while still keeping a more physically accurate look. I’ve found that 1~2 bounces on blurry surfaces is all it takes to make a difference.
One final note about reflections – you really should be using the new GGX (GTR) BRDF for all your shaders, it gives a much more realistic rendering of the highlight areas ,especially when using falloff maps in the glossiness slot.
In the next lesson, I’ll focus on Metallic materials. They are a whole different beast and require some advanced techniques, so stay tuned!