Media is too big
VIEW IN TELEGRAM
Op Art.
Это шейдер и тут все относительно просто - регулярные вращающиеся квадраты, сменяются с черных на белые со сдвигом, рисуются поверх искаженного 2d пространства.
Искажение подобрано на глаз так, чтобы выглядело как выпуколсть:
Анимация uv как будто немного вращает сцену добавляя иззлюзию выпуклости:
Двигающиеся хроматические аберрации немного все это оживляют..
#genuary19
Это шейдер и тут все относительно просто - регулярные вращающиеся квадраты, сменяются с черных на белые со сдвигом, рисуются поверх искаженного 2d пространства.
Искажение подобрано на глаз так, чтобы выглядело как выпуколсть:
uv = mix(uv, uv/2., smoothstep(1.0,0.0,log(length(uv)*5.)));
Анимация uv как будто немного вращает сцену добавляя иззлюзию выпуклости:
uv += vec2(sin(time),cos(time))*0.1*(0.5-length(uv));
Двигающиеся хроматические аберрации немного все это оживляют..
#genuary19
#genuary21
Collision detection system (no libs).
Использовал простейшее квадро-дерево (quad-tree). Если использовать элементы с постоянной шириной, то оно вполне решает задачу поиска ближайших соседей, с которыми уже нужно считать пересечение. Достаточно использовать для запроса регион поиска размером с ширину элемента + зазор (если он необходим). Коллизии тут ищутся между кругами, радиусом с ширину линии.
Не обошлось и без ошибки (вторая картинка), но это не ошибка с коллизиями и я даже не стал её искать - с ней даже лучше 🙃
Collision detection system (no libs).
Использовал простейшее квадро-дерево (quad-tree). Если использовать элементы с постоянной шириной, то оно вполне решает задачу поиска ближайших соседей, с которыми уже нужно считать пересечение. Достаточно использовать для запроса регион поиска размером с ширину элемента + зазор (если он необходим). Коллизии тут ищутся между кругами, радиусом с ширину линии.
Не обошлось и без ошибки (вторая картинка), но это не ошибка с коллизиями и я даже не стал её искать - с ней даже лучше 🙃