Retro-reflections

(Available in the upcoming v.1.1 release)

Retroreflection is an optical phenomenon where light scatters back to its source along the inverted incident direction. Materials with retroreflection properties are used for safety garments to help enhance visibility in low-light conditions like roads at night when illuminated by car headlights. Traffic signs and pavement markings also use materials with such properties to ensure drivers safety while driving at nighttime.

Basically the light that hits a retroreflectors is bounced back on the inverted direction from where it comes from and because for example car headlights are aligned with our eyes, the light that will be bounced will hit our eyes back highlighting the road or a subject wearing a retroreflective material.

There're two main ways to model retroreflectors. By using the so called prismatic sheeting or by using sphere beds. The former is generally used for garments, the latter on road infrastructures.

We don't use plain mirrors first because they reflect on the inverted incident direction only if light is perfetly perpendicular to the surface, second because the light bouncing back would be too strong, making us blind for some instants when hitting our eyes.

Then visually, retroreflectors have a typical appearance. They look super bright compared to other materials under the same lighting situation and also they do not reflect directly on other materials because they reflect only the light that is aligned with the obsever. However when they are not hit by direct light they may look as normal materials.

Let's see how with ReflectRetro we can easily approach retroreflectors. 

We have a three layers material. The layer on top is the specular layer, then we have the prismatic sheet and evetually the diffuse layer. These three layers added together will approach our complete material. They are modelled as in real world. Where there's a base diffuse then a prismatic sheet and on top of that a specular cover to protect the sheet. 

Above we're simply using a map/mask to let the traffic barrels have two distinct materials applied, a standard material with diffuse principled rombo shader and the retroreflective one. The map is white where there're the retroreflective stripes and black otherwise.

We see also that our retroreflective material is still a PBR material.

It has the usual parameters one expects to find on a PBR material, weight color roughness and IOR. Because the prismatic sheet is mirror like we have an high IOR set for that by default, also the default roughness should be ok for most situations. The other params are exactly those we find on any other PBR material and will cover the specular and diffuse part. 

When a retroreflective material is not hit by direct light aligned with the observer eyes it will look like any other material. It's there we use the specular and diffuse layers. 

Let's see retroreflectors behaviour while animating the camera. In the scene we have three traffic cones and three walking stripes illuminated by two area lights that resembles car headlights.

To better match reality where the re-scattered light enters an optical lens system we can use glare/bloom imager. 

Eventually let's see how we can approach a realistc 'traffic cones' material.

We already saw we have three layers to approach that and that when hitting light is not aligned with the view, the material resembles a normal material. So we can use the diffuse layer to plug a prismatic sheet texture and the specular layer to bring the covering reflective layer on top of that. This is to approach the appearance of a traffic cone material when its retroreflection property is passive because of the light and viewing conditions.

We then use a retro mask (a map plugged into retro color or weight) to let appear retroreflections only on the retroreflective part of the cone. So when light and viewing dirs are aligned the retroreflective part starts getting active. 

A last note. Take care it is really important to not use too big area lights. We cannot use big 'diffusers' to have retroreflections because then the re-scattered light will be too widely spread to really look like retroreflections.. this happens also in reality. So use small area lights to mimic car headlights for example.

Scene below is available as demo scene. 

One thought on “Retro-reflections

Leave a Reply