Website powered by

Shaders XYZ Retroreflector Challenge + Breakdown

This one is done almost entirely with surface normal tricks; Blender lets you arbitrarily edit normals before you pass them to shader layers, allowing for some very poweful techniques. The main reflection layer has its normals replaced with the vector to the camera, which makes it reflect whatever is in the area of the camera. Retroreflection, essentially. This breakdown covers the essentials, everything else is just fiddling around with values and grunge maps.

Anthony pilon light setup 0

Competition lighting setup

Anthony pilon light setup 1

Evening + headlight

Anthony pilon light setup 2


Setups 1 & 2 in action

Anthony pilon retroreflector structure

Cube-corner structure used on real-world signs

Anthony pilon mechanics

What happens on the cube-corner layout vs. with the shader hack

Anthony pilon 00 breakdown incoming

How to calculate the Incoming vector if your package doesn't do it for you

Anthony pilon 01 breakdown retroreflection

Base setup; the extra glossy and diffuse nodes are to keep it from being too perfect of a reflection

Anthony pilon 02 breakdown glossydispersion

Glossy dispersion setup in world-space normals. Useful in all kinds of situations

Anthony pilon 03 breakdown backreflection

Adding the extra highlight bands present in the reference

Anthony pilon reflector height 01

Cube corner heightmap for bump