Normals will also look like that if you pass them out through the color output.
Try using the following formula to retool all the 3D vectors into the "color quadrant"??? I think I just made that name up???... or color space if you prefer. Anyways, by this I mean: all positive numbers, between 0.0 and 1.0. as vectors they are -1.0 to 1.0. Colors with negative numbers in them have peculiarities that are not entirely intuitive. For example, what you are seeing there.
When a 3D modeling program range compresses normals from 3D space to a color texture it uses this formula ->
(normal+ 1.0) * 0.5;
For you it would be:
(vViewRay + 1.0) * 0.5;
It squishes all three vectors to half their sizes then pushes everything towards the positive... well... color quadrant.
Your vector should now look like a world space normal map now I'm thinking...