Rotate mesh through material using World Position Offset

Here is how you correct the normals with “RotateAboutAxis” for 1 direction:

And here is how you add multiple Rotations together:

As a bonus this is how you correct for non uniform scaleing: