directionVector.x = ( event.clientX / window.innerWidth ) * 2 - 1;
directionVector.y = -( event.clientY / window.innerHeight ) * 2 + 1;
Wie und wo registrierst du den Event-Handler.
Nimmt dein Canvas wirklich die gesamte Viewport-Höhe/Breite ein?