В Three.js можно создать текстуру из нужного изображения и растянуть объект геометрии по всему экрану, а по движению мыши менять координаты по X, Y, Z. А HTML элементы наложить поверх canvas.
Так же можно наложить любые пост-эффекты. Это путь, если нужны доп. эффекты и все по высшему разряду.
Второй путь просто через CSS3 3D Transforms. Так же забиндить мышь на экран и по событию пересчитывать матрицу трансформации. Советую тут взять библиотеку GreenSock.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
https://codepen.io/Lakston/pen/gwPYvA?q=css+3d+mou...