normal mapping transform based off face normal axis rather than world space axis

by zander   Last Updated April 16, 2019 03:15 AM

so I'm trying to make a "holographic' or "rainbow chrome" material by having each color reflect off the surface at a different modified normal angles by plugging the Geometry normal input node vector through different x,y,z mapping rotations and this is the result

enter image description here

It's close to what I want but the problem now is that the normals are changing in a world space, rather than changing based off the face normal orientation. The result is when i rotate the object it gives a different reflection despite having the light source hitting it from he same dead on angle like in this picture.

enter image description here

How do i rotate normals based off the face axis rather than the world axis so that i get consistent reflections?

Related Questions

Updated May 12, 2018 00:15 AM

Updated July 14, 2017 05:15 AM

Updated December 14, 2017 15:15 PM

Updated August 29, 2017 12:15 PM

Updated April 04, 2018 15:15 PM