Как реализовать такой дизайн сайта в один экран и анимационными переходами между экранами?
Для переходов между страницами можно использовать Barba.js. А как именно делать сами анимации - смотрите сами, что вам проще будет делать. По идее в WebGL здесь нет необходимости - все можно сделать на CSS-трансформациях.
Ну сделать такой фон на css просто, подобрать нужное время и кривую анимации. Но производительность такого добра будет оставлять желать лучшего. И чем больше экран, тем хуже. Лучше делать на webgl (glsl), примеров подобных смен картинок - валом.