This shader is dependent on the local transform of the polygons. If you put it on a cube, it only works correctly on one face, regardless of the UV's, and appears completely black when viewed from a camera position in the negative axis of the object. Not very useful in this state as you have to create one face in the correct local orientation and copy it around using object transforms. If you reset transforms on the object transformed planes they will break.