Telegram Web Link
Generative architecture.

#genuary20
22🔥9
#genuary21

Collision detection system (no libs).

Использовал простейшее квадро-дерево (quad-tree). Если использовать элементы с постоянной шириной, то оно вполне решает задачу поиска ближайших соседей, с которыми уже нужно считать пересечение. Достаточно использовать для запроса регион поиска размером с ширину элемента + зазор (если он необходим). Коллизии тут ищутся между кругами, радиусом с ширину линии.

Не обошлось и без ошибки (вторая картинка), но это не ошибка с коллизиями и я даже не стал её искать - с ней даже лучше 🙃
🔥19
Gradients only.

Примитивный шейдер, смешано 5 цветов, при помощи smoothstep от uv.y (текстурные координаты предварительно повернуты на небольшой случайный для каждого шага угол), вторая граница интервала имеет примерно такой вид:

0.1+noise(uv)*0.1

Шум тут определен в интервале от -1 до 1, таким образом все выражение меняется от 0 до 0.2, все это дает такой вот прикольный неравномерный градиент.

В финале поверх всего добавлен еще один градиент слева-направо.

😵‍💫Если долго рассматривать переходы мне кажется что картинка шевелится.

#genuary22
😍25👍7🔥6🥰3🕊1
Gradients only. Vol 2.

Частичный градиент меджу градиентами, шейдер, еще проще чем из прошлого сообщения, меньше сила эффекта, меньше градиента, 7 секций, 5 цветов.

#genuary22
🔥154👍3
Inspired by brutalism.

Это вольная интерпретация здания ЦНИИ РТК («Центральный научно-исследовательский и опытно-конструкторский институт робототехники и технической кибернетики»). Некоторые детали не точны, пропорции не совпадают.

Отрендерено при помощи старого доброго реймаршинга, из эффектов тут только ambient occlusion и освещение точечным источником, теней нет.

Формулу SDF для этой сцены собрал по фото, чтобы не запутаться пришлось выделять отдельные элементы в функции, получилось примерно 140 строчек glsl.

Из примитивов тут нет ничего кроме коробок, цилиндров и плоскостей (ну и булевых операций над ними). Для башни декартовы координаты преобразованы в полярные, которые по окружности повторяются при помощи остатка от деления, это позволяет вот так по окружности повторить элементы.

#genuary23
❤‍🔥17👍41
One line that may or may not intersect itself

Одна линия, точки в ней смещаются по вертикальной оси на случайное число умноженное на обратную яркость в этой точке.

Яркость считается при помощи реймаршинга, на этот раз на CPU, хотя все то же самое можно было бы и на gpu посчитать 🤔 тогда скорость появления картинки сильно увеличится, сейчас это 3-6 секунд на м1, в зависимости от сложности сцены и примененных эффектов(тут это AO и освещение и попытка сделать тени).

Тени так и не доделал, зато получил веселые ошибки с их подсчетом (последние 2 картинки)

#genuary25
❤‍🔥195🥰2
2025/10/21 18:14:46
Back to Top
HTML Embed Code: