Шум Перлина: реализация отражения в воде в реальном времени

Однажды я побывала повелительницей водной стихии. Была готова анимированная картинка ночного города с мерцающими неоновыми огнями и блуждающими светом прожекторов. В реальном времени нужно было сделать отражение этой анимации в воде.

На помощь пришёл шум Перлина (алгоритм псевдослучайной генерации чисел). Обычно он используется для создания облаков, дыма, тумана, огня и многого другого.

Чтобы сделать движение воды более естественным, я решила разбить пространство, предполагавшееся для воды, на 3 условные полоски: ближнюю (относительно зрителя), среднюю и дальнюю, которая находится у самого берега. Это создало эффект того, что около пользователя вода колышется более интенсивно, нежели чем у берега вдалеке. Причём свет при движении был актуальным как на самой анимированной картинке, так и в отражении в воде.

P. S. К сожалению, видео не прикрепляется.

#прикольнаяработа

Шум Перлина: реализация отражения в воде в реальном времени | Сетка — социальная сеть от hh.ru Шум Перлина: реализация отражения в воде в реальном времени | Сетка — социальная сеть от hh.ru