Допустим есть дно сайта(какая то текстура) поверх него налита вода (по щиколотку ирл, вода чистая) Элементы сайта плавают в воде, причем некоторые могут плавать глубже , чем другие, при взаимодействии с элементами сайта(например клик) он немного погружается и получаются волны.
Лично я представляю всего один вариант реализации - webgl. Нашел только одну подходящую воду, остальные не прозрачные
Water. Но там не очень удобный api.
Возможно кто то знает лучший вариант ? Возможно можно как то умудриться вообще без webgl, ведь мне вода нужна будет только в 2d пространстве ? Например расположить Dom Элементы с помощью css в 3d пространстве , и поверх положить 2dcanvas полотно. Может быть даже есть вариант с svg , так поддержка браузерами будет больше , но возможны лаги из за того, что это DOM. Последний вариант это на плюсах написать и скомпилить в wasm(тут с поддержкой совсем плохо).