Shaders XYZ Retroreflector Challenge + Breakdown

Anthony pilon light setup 0
Competition lighting setup
Anthony pilon light setup 1
Evening + headlight
Anthony pilon light setup 2
Morning
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

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.