Glossiness describes the surface irregularities that cause light diffusion or in other words it represents how smooth the surface is and dictates the sharpness and intensity of specular reflections. 1 (white) represents a glossy/smooth surface and 0 (black) represents a rough surface. As the Microfacet Theory suggests, the direction of reflected rays from a surface will vary randomly based on the surface roughness. This changes light direction, but the light intensity remains constant. A glossy/smooth surface has very low microsurface detail, or none at all, so light bounces off in uniform ways, creating clear reflections. A rough surface has high peaks and troughs in its microsurface detail, so light bounces off in a wide range of angles which, when averaged out, create a diffuse colour with no clear reflections.
A comparison of low, medium and high values for Glossiness (left to right), as a diagram of the theoretical microsurface detail of a material. The yellow lines represent light rays hitting the surface and reflecting off the angles encountered at varying levels of glossiness.
Some confusion might appear when one is constantly reading about surface Glossiness and surface Roughness throughout the same topic. These terms relate to the exact same information but are just the names used in two different workflows - the Specular/Glossiness and the Metal/Roughness one. The only difference in their visual representation is that their scale is inverted - 1.0 Glossiness equals 0.0 Roughness or a completely glossy/smooth surface, while 0.0 Glossiness equals 1.0 Roughness or a very rough surface. As the Specular/Glossiness workflow is the older one most render engines still use the Glossiness term - V-Ray and Corona are an example of this. However, when PBR appeared as a concept the newer Metal/Roughness workflow was developed. Nowadays, you will find mostly Roughness maps rather than Glossiness maps online as most artists have adopted the naming conventions of the newer and more popular workflow. In all honesty, it is in fact easier to talk about how rough a surface is as opposed to how glossy it is.
As mentioned both maps have the exact same information. To use a Roughness map in a Specular/Glossiness workflow we simply need to invert it. In fact, V-Ray has native support for Roughness and you can simply switch from Glossiness to Roughness from the material BRDF options. This means that you don't need to invert the map before plugging it in into the Glossiness map slot (or what will become a Roughness map slot).
Glossiness should be controlled with a texture. Even polished and clean surfaces have surface imperfections (e.g. scratches, fingerprints, smudges, grime etc. ) and even though they are hardly visible they are not invisible. Creating materials using only pure glossiness amount/colour will result in perfect-looking unrealistic surfaces. The Glossiness map is the most artistic map in a material and we, as artists, need to use this freedom. We've observed that IOR for Non-Metals doesn't vary greatly and in some cases Plastic, Concrete and Ceramic might look exactly the same way if they don't have a proper Glosiness map to characterize and truly describe their surface.
Glossiness/Roughness textures are greyscale and there are two ways of producing them. The first one is the automatic, true to life cross-polarized specular scan. The second one is to build them from scratch.
When we are creating (or authoring, as it is commonly referred to in the PBR community) Glossiness textures we have complete artistic freedom. There is no right or wrong way. However, there are still bad and good textures and the ones that really shine are usually ones that come from a lot of observation of real-life surfaces. It's important to understand the different types of layers that such a map might contain - one layer can be from physical damage like scratches and another might contain a trace of very thin foreign materials on top of the surface like fingerprints and smudges. It's also important to think about local and global surface imperfections - every individual plank on a wooden floor will have its own wood pattern that will slightly show through and alter the look of the lacquer on top, however scratches made by moving around the stools will go over a few planks at a time. In contrast, scratches produced while installing the floor might have a more individual character.
One of the best ways of creating Glossiness textures is using a dedicated texturing software. At the moment there are quite a few programs out there, however industry standard is limited but to a few. The Substance pack composed of Substance Designer (used for procedural textures) and Substance Painter (used for texture painting), and Mari (used mostly for texture painting) are on the top. Substance is used primarily in the Arch-Viz, Product and Automotive industries while Mari is used mostly in Cinema and high end TV. Best results often come from a mixture of both worlds. These programs offer great control over the looks of textures and at the end of the process export baked maps for use in different render engines.
And while the aforementioned programs can deliver amazing results another way to produce Glossiness maps is directly into the render engine, in our case in V-Ray. With the simple maps that V-Ray offers one can create a very complex network of maps which can then be used as a template as well. Here is an example of a Glossiness map template:
This example shows how we can split different types of surface imperfections into layers and add them on top of one another. We can change the mapping of all of them individually, change their blend amount, their contrast or even completely swap them with new textures of the same kind. This gives us a simple, yet flexible template that can be adjusted for all sorts of materials. This method is a basic version of what we would usually do in a program like Substance Designer. The benefit is that we can control everything directly in the render engine. The downfall is that the more complex it gets, the longer time it will take to be rendered as opposed to just a simple Glossiness map.
The workflow you use for creating your Glossiness maps has to work for you but also be as simple as possible for other people to pick up. If you choose to build your maps in V-Ray you can use the "Render Map" feature of the material editor to bake them into a single texture when you're pleased with how they work. This will save a lot of rendertime and will make your teammates life a lot easier if they need to use your materials in the future.
As an additional note: values lower than 0.4 (40%) Glossiness are a bit extreme and should be avoided except in very special cases. For textures this means 168 sRGB or 102 Linear RGB.
For proper Linear Workflow, Glossiness maps need to be loaded with Gamma 1.0 (VRayHDRI: Inverse Gamma: 1.0).
Sometimes we want to edit our Glossiness textures to make surfaces appear more polished or rough. The usual way to do this is to add an Output map (or a Color Correction - not advisable if you don't know how it works) and change the exposure of the texture to make it brighter or darker. Other times we want to only adjust the contrast of the texture without affecting the Glossiness amount. We can resort to the exact same tools to do so, however, exposure and contrast are tightly related so even though we are adjusting only one of these at a time, the other one also shifts. Finally, we might want to create a more complex Glossiness blending multiple maps like in the example above. We can do a small trick to isolate the Glossiness amount from the detail and contrast of the map.
Having the material above, let's say we want to control the Glossiness amount separately from the contrast/detail of the texture. Here's how to do it:
1. We need to find out what is the average Glossiness that our texture has. The map needs to be blurred which will average all its values (just like the Average function in Photoshop works). Go inside the map node (be it Bitmap or VRayHDRI) and under Coordinates set Blur offset to 1.0.
2. We should now have a pure color in our map. We can sample this color using a VRayColor map to determine the average Glossiness that the texture produces. The resulting value is around 0.35 Glossiness.
Note that the sRGB button is switched off in the Corona Color Picker. As the Glossiness map is a Value map, we are interested in Linear values.
3. Now that we've established what our base Glossiness amount is (we will need this later on to re-create our texture back) we have to get this texture as close as possible to 50% grey. We can either use an Output map or the Output section within the Bitmap/VRayHDRI itself. In our case, we start with a value of 0.35, therefore we need to start increasing the RGB Level until we get to 0.50. Don't use Output Amount instead as it affects both gamma and exposure and you will ruin the contrast of the texture.
Change the RGB Level to get the averaged texture as close as possible to 50% grey. You will need to change the value and sample the color multiple times to get there.
4. After the averaged texture is, in the current case, brightened to 50% grey, set the Blur offset back to 0.0. It's now time to put everything together:
Create a VRayColor map (or use the one used for sampling the colors) and set its value to 0.35 - this is our base Glossiness.
Create a Composite map and connect the VRayColor map as the first Layer.
Make a second Layer and connect the adjusted Glossiness texture.
Set the blending mode of the second layer to Spotlight.
You can see that the VRayHDRI Glossiness looks identical to the Composite map. They are not 100% identical, but very close. It's important to understand how the Spotlight blending mode works. It basically says - every value of the current layer that is above 50% grey will be used to brighten the layer below and every value that is below 50% grey will be used to darken the layer below. That's why we had to get our texture to average at 50% grey.
Hopefully, you can understand the benefits of this technique. Glossiness can now be adjusted way more intuitively using the VRayColor map. Furthermore, this is a good way to blend multiple Glossiness textures without affecting the overall Glossiness amount and also keeping the ability to always go back and change it to your taste.
Micro Roughness is very similar to Glossy Fresnel (but definitely not the same) in V-Ray. It states that a rough surface will appear more glossy towards the 90-degree viewing angle. This works in both ways - rough surfaces can appear more glossy (shiny) at grazing angles, while glossy surfaces can appear rougher (dull). This effect is caused by the global change of orientation of microfacet nomals (Microfacet Theory) towards the 90-degree viewing angle. The grazing angle on a rough surface has normals that are not as acute as ones on a smooth surface, meaning that they point towards the camera more compared to a glossy surface. Therefore, grazing angles of a rough surface will have smoother reflections as compared to their reflections at F0. This effect is called Retro Reflection by Disney.
The effect is incorporated in the GGX BRDF that we currently use. However, is some cases you might need to emphasize it. For example rough wood or plastic tend to have a more prominent Micro Roughness effect than the one which is hardcoded in the GGX BRDF.
Left image shows the default behavior of the Micro Roughness effect hardcoded in GGX. Right image is an emphasized version of the effect.
The effect can be simulated with different setups. The most simple one is with a Falloff map - just plug your Glossiness map into both slots of the Falloff map and use the blend amount to blend between white and the map. The less the blend amount, the more glossy the material will be at grazing angles. Falloff type can be set to Fresnel and you can control the spread of the effect by adjusting the IOR. Values between 1.2-2.0 work quite well.
The strength of the effect is controlled by the blend amount. The IOR controls how tight/spread the effect will be or at what angle it will start being noticeable.
Glossiness is used to to describe how smooth/rough a surface is on a microscopic level.
Glossiness and Roughness are two interchangeable terms. Roughness is simply the inverse of Glossiness.
Every surface has microscopic details no matter how smooth it might appear. We need to use Glossiness maps to replicate this.
The Glossiness map is the most artistic map in the material and it will give the true character of the surface.
Avoid using Glossiness values below 0.4 (168 sRGB or 102 Linear RGB for textures).
Micro Roughness is an effect which we might want to emphasize when doing plastics or rough wood.
Linear Workflow: for Glossiness maps we use Gamma 1.0 (VRayHDRI: Inverse Gamma: 1.0).