Pull to refresh

Comments 6

да разложение фурье позволяет смоделировать многие вещи, это так сказать универсальная вещь, давно пользую
Интересный эффект получается когда смотришь вертикально вниз
Очень круто.
Особенно нравится вторая демка, как наиболее реалистичное. Хотя меня больше всего впечатлило https://www.shadertoy.com/view/XdsGDB

Вообще Shadertoy настоящий кладез информации, а на сайте Inigo Quilez (если не ошибаюсь один из создателей Shadertoy) можно найти кучу очень интересных практических алгоритмов

Синусы можно неплохо аппроксимировать в 1-2 итерации, вот статья:
lab.polygonal.de/2007/07/18/fast-and-accurate-sinecosine-approximation

На машине с процессором Intel Skylake модифицированный код из статьи работал от 2 до 12 раз быстрее функций из стандартной библиотеки Си (сильная зависимость итоговой скорости от настроек компиляции).
Вы конечно правы, апрохимация в ряд Тейлора вполне может заменить синус. Он в данном случае нужен для получения просто псевдослучайного значения в любом интервале входных данных. Более того можно избавится от динамического бранчинга, если просто синус заменить на более упрощенное frac((x + x*x)/6.28) например. Но тем не менее изначальная проблема остается и увеличение скорости даже с 1 до 3 фпс сильно не поможет
Sign up to leave a comment.