Генканал
289 subscribers
30 photos
15 videos
1 file
30 links
Здесь мы собираем самые интересные работы из нашего основного чата по генарту @gen_c
Download Telegram
Вы наверняка заметили, что в Генканале стали выходить посты. Пока мы планируем здесь собирать работы, получившие много лайков, интересные посты, записи митапов, чтобы всё самое интересное и красивое не терялось в бесконечной ленте.

Так же, такой формат будет более удобен для людей в статусе read only, коих, судя по опросам не так мало.

Присоединяйтесь к движухе, если у вас есть проект, который интересен вам, даже самый маленький - напишите краткое описание на пару абзацев и скидывайте одному из админов чата. Мы с радостью запостим это в канал!

И не стесняйтесь предлагать рубрики и форматы, давайте вместе сделаем Генканал эссенцией генарта и настоящей площадкой!

❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2162
This media is not supported in your browser
VIEW IN TELEGRAM
@algalgalg поигрался с моделью Курамото на GLSL.

Это математическая модель, где множество осцилляторов пытаются синхронизироваться друг с другом через взаимодействие по фазе.
Реализация оказалась довольно компактной — каждый пиксель это отдельный осциллятор, а его фаза хранится в альфа-канале текстуры. Взаимодействует он с соседями через простейшую синусоидальную связь.

Самое интересное в этой модели — возникновение квазичастиц (вихрей). Они появляются в местах, где фазы осцилляторов не могут согласоваться между собой, образуя "дефекты" в поле фаз. Эти вихри ведут себя как настоящие частицы: рождаются и аннигилируют парами, отталкиваются или притягиваются в зависимости от "заряда".
При слабой связи система хаотична и полна таких вихрей, а при усилении связи квазичастицы постепенно исчезают, и система синхронизируется.

https://twigl.app/?ol=true&ss=-OOXEL8ILIgpduGBePCv

Большое спасибо @speginel за помощь в имплементации!
22🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Интересная реализация глитча от @coding_with_kangaroo.

Если вы пилите что-то на Метале, то можете воспользоваться UB в Metal Shading Lnaguage (С++14) и получить натуральный глитч:

Вариант 1. Через безвозвратную функцию:

float4 garbage() {

}

fragment float4 fshTextureQuad() {
return garbage();
}


Вариант 2. Через неинициализированную переменную:

fragment float4 fshTextureQuad() {
float4 garbage;
return garbage;
}


Есть еще один способ - взять мусор и записать его в выходную текстуру, но он не стабилен и может возврщать черный или мадженту - без спецэффектов.


let descriptor = MTLRenderPassDescriptor()
pass.colorAttachments[0].texture = someTexture
pass.colorAttachments[0].loadAction = .dontCare
if let encoder = commandBuffer.makeRenderCommandEncoder(descriptor: descriptor) {
encoder.endEncoding()
}


Самые классные спецэффекты с глитчем на весь монитор (или два - сколько их у вас) можно получить, устроив stack overflow на видюхе (например в кернеле).

#glitch
7
Стилизация изображения под картину от @sofiemart.

В посте представлены несколько примеров стилизаций на основе одного изображения, но разных топологий.

"В одном из проектов занималась генерацией 3D моделей картин из bitmap изображений. Самым важным этапом в этом процессе была подготовка так называемой топологии картины (или PBR слоев -  карты глубины (depth map), карты нормалей (normal map) и т.д.).

Для карты глубины (она отвечает за видимую текстуру) использовала микс из нескольких заготовок, например текстуры мазков кистей скомбинированные с исходным изображением, или дисплейсмент исходного изображения (я делала в TouchDesigner, но можно в любом редакторе). С проявлением генеративных моделей вообще стало круто - можно сгенерировать pbr слои на основе исходного изображения и промта, типа «картина маслом с импасто мазками в рандомных направлениях»

Дальше, PBR слои собираются в единую модель и рендерятся (я работала в Houdini, но видела похожие пайплайны и для Blender)."
2👍1
Подробнее почитать про проект можно тут:
https://sofiem.art/generative-brushstrokes

#stylize
10
Генеративное_и_Процедурное_Искусство
<unknown>
Вы, наверное, уже наслышаны о новом инструменте Google Notepad и его киллер-фиче - создании подкастов на основе различных источников.

🎙Чтобы не отставать от трендов мы попробовали сделать подкаст на тему генарта на основе нашей вики, нескольких бесед в чате на тему "что генарт, а что нет" и пары общих статей по теме.

Получилось довольно поверхностно, однако, некоторых болезненных и интересных тем ведущие всё же коснулись.

Особенно повеселило, как они с умным видом прочитали название p5.js.

🔴Приятного прослушивания и делитесь впечатлениями в коментах
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7🔥4👍3
Продолжая тему вчерашнего боткаста (патентуем термин), предлагаем поближе познакомиться с Musikalisches Würfelspiel Кирнбергера и самостоятельно потыкать алгоритм, точнее, современное воплощение доработанной Моцартом в 1792 году его версии по ссылке
👍51
Media is too big
VIEW IN TELEGRAM
Physarum Polycephalum
от @coding_with_kangaroo

Изначально это название плесени, здесь - симуляция на базе агентов.

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

В данной симуляции пространство тороидально, а для красоты на поле накладывается градиентмап.

Приложение на AppStore
Видео на ютубе
#physarum
🔥95👍2
3D синтезатор Anukari

Я ещё не привык к 2D синтезаторам, а какие-то учёные уже сделали 3D. Вчера на Hacker News обсуждали новый софтовый синтезатор Anukari, который даёт сложному физмодельному движку новое измерение, превращает его в песочницу-конструктор. В интерфейсе довольно тяжело распознать синтезатор звука ведь на ползунках там вместо привычных dB написаны какие-то mN/s и KPa. Основное окно вовсе напоминает 3D CAD типа Блендера или по меньшей мере редактор в Roblox.

Физмодельные звуковые движки это те, которые описывают поведение реальных объектов для извлечения звука (например струн) с помощью сложного матана. В процессе получается контролировать кучу параметров этих формул. Это позволяет моделировать звук несуществующих инструментов. Изменять длину струн, их материал, количество, объём деки резонатора прямо в процессе.

Из строительных блоков типа пружин, масс, кулачков, смычков и пр предлагается собирать звуковую сцену, которая может звучать сама по себе, или искажать входящий аудиосигнал как процессор эффектов. В реальном времени можно изменять геометрию системы и настраивать кучу параметров каждого её элемента. Если хотели послушать как звучат 1000 осцилляторов на одной ноте с детюном, которые модулируются 500 LFO на скорости 0.01Hz — вам сюда.

Всё это можно запустить отдельно, или как VST внутри вашего Аблика со всеми его преимуществами типа управления по MIDI, процессинга семплов, записи и пр. Правда, для запуска на Винде потребуется видеокарточка от NVIDIA, а на Маке всё работает только под ARM. Да, мы теперь живём в мире где для запуска синтезатора звука нужна видеокарта.

Если вам показалось, что это очередная обскурная поделка о которой завтра все забудут, то, возможно так и есть. Однако, для верности посмотрите видео демки, или сходите в твиттер к Мику Гордону где он нажимает в этой штуке разные кнопки.

Интересно: экспорт патчей в Max будет? А лучше сразу в FPGA.

https://www.youtube.com/watch?v=nUO6iMcbao4

https://anukari.com/
🔥21👍1🤩1👌1
Forwarded from Kate Umnova
Если <тогда> иначе
Групповая выставка студентов направления
«Интерактивный дизайн» Школы дизайна НИУ ВШЭ
13-15 мая, галерея Si19
13 мая 19:00 вернисаж
14, 15 мая 19:00 экскурсии с художниками выставки

Если птицы летают низко — быть дождю. Гравитация постоянна — иначе предметы теряют равновесие. Если долго наблюдать за облаком — мы увидим изменения его формы. Условия  определяют ожидания, но не передают нюансивность возникающего опыта. Между направлением и результатом возникает зазор, ускользающий от линейной логики. «Если <тогда> иначе»  — поиск новых форм описания, способных сохранить сложность сообщения. Выставка исследует природу, коммуникацию, время, эмоции, ритм привычек. Предлагая новые системы отношений «условие — отклик» авторы обнаруживают связи, существовавшие прежде лишь в виде предчувствия. Поведение посетителей влияет на погодные условия, танец генерирует пространство, движение невидимых потоков ветра становится письмом, внимание рождает поэзию.

Подробнее о выставке

Выставка проходит в рамках Diploma25 — фестиваль дипломных проектов Школы дизайна НИУ ВШЭ.

Si19, пер. Большой Головин 12, стр.1
14, 15 мая выставка работает с 12:00-21:00
🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
Инстансинг в Three.js от @prisoner_849

Все началось с того, что мне пришла мысль "хочу чего-то структурного, но нечеткого".
Идея с рекурсивным разбиением шестигранников показалась интересной.
Так появился первый "кристалл", как я его про себя назвал.
Затем была мысль "а почему бы не сделать так, чтобы он появлялся постепенно, как бы рос". И это было реализовано.

Потом подумал, а почему бы не сделать несколько растущих кристаллов, но чтобы они были единым объектом (InstancedMesh в Three.js).

Финальной стала мысль "раз уж залез в эти дебри - надо делать по-большому". Было решено, что будет переход от цветных кристаллов к одноцветным темным, затем должны быть вспышки, за которыми следовал разлет осколков по сферической формации.

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

С удивлением узнал, что нельзя делать
mix(matrix1, matrix2, ratio).

Зато можно интерполировать столбцы матриц, ибо они vec4 и с ними mix работает.


#threejs #instancing
4🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21🤣1🤨1
Хорошие новости!

Телеграм выкатил обновление и теперь есть возможность писать в предложку непосредственно в Генканал🔥

Делитесь вашими работами, мыслями и идеями!

❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
https://youtu.be/RnLWLQsh9mw?si=yJ42tRQ8RwDk88Jd

это безумие какое-то... Чел придумал как использовать ванильные майнкрафт механики, чтобы рендерить любые 3д модели.

Он использует text display и искажает их таким образом, чтобы получить форму треугольника (полигон) и дальше с помощью таких треугольников и математики собирает 3д модели

Еще он показал как с помощью такой штуки можно делать процедурную графику внутри майнкрафта и как с помощью этой же механики сделать marching cubes
🤩4🔥21
Узорчатый тоннель в 7 строк кода

Записал обучающий видос про шейдеры, SDF и трансформаци пространства. Очень отвественно к делу подошёл: записал, музыкой, скринкастом и объясняющими демками.

0:00 Вступление про узор и сайзкодинг
0:53 План, анатомия узора
1:34 SDF
3:06 SDF полоски
5:23 SDF уголка, фолдинг, объединение SDF
8:32 Поворот на 45°, матрица поворота
9:43 Трансформации пространства, отображения, циклические функции
17:31 Применение полученной трансформации в коде
17:57 Анимация строчек и тоннель
19:53 Таймлапс сайзкодинга

Ютуб youtu.be/zblepnHHCSA
ВК vkvideo.ru/video-230304511_456239017

Финальный код и ссылки:
- подробный:
https://twigl.app?ol=true&ss=-OOr4rLILQQnJpCkm80K

- сокращённый: https://twigl.app?ol=true&ss=-OOr50ceHVmfKDG7YfXK

Скетч Саши Коротаева, с которого всё началось https://codepen.io/lekzd/pen/KwwKmNP?editors=0010

Мой канал в телеграме: https://t.me/ivandianov

Сайт с разными моими проектами:
ivandianov.com

Генклуб:
https://t.me/gen_c
18👍2🔥1
Media is too big
VIEW IN TELEGRAM
Симуляция частиц
от @coding_with_kangaroo

Сделана на подобии Particle Life (в плане идеи нескольких классов с разными коэффициентами взаимодействия), но с расширением в сторону физичности: учитывается масса, а взаимодействие работает через квадрат расстояния: f(i,j)=k_{ij}\cdot\frac{m_{i}\cdot m_{j}}{r_{ij}^{2}}.

- Правило - матрица 4х4 (число классов - 4), которая описывает коэффициенты взаимодействия между классами. При этом она может быть несимметричной.
- Так как в симуляции считаются только частицы (положение + скорость), то поле - виртуально и может быть любого размера.
- Пространство тороидально, чтобы частицы не разлетались со временем - все же это делалось для лирики, а не физики.
- Скорости тоже можно делать неограниченными, но нужно масштабировать время, иначе частицы проходят за итерацию расстояния, сильно превышающие их размер.

На видео - арт режим, когда цвета и правило меняются по времени + сделано движение поля по фигуре Лиссажу 1:2.

Приложение на AppStore
Видео на ютубе
#particle
14🔥3👍1
Media is too big
VIEW IN TELEGRAM
Савва в Генклубе @gen_c рассказал про процедурную генерацию фантастических миров. Вот запись митапа, из которой вы узнаете, какие инструменты Савва использует, какие алгоритмы применяет, и ещё кучу всего интересного.

Ссылки, про которые говорим в видео:
- Статья Иниго
- Код из неё с комментариями
- Телеграм-канал Саввы, где он постит всю эту красоту @fromskintoliquid

Ютуб, ВК
🔥145👌31