Вы наверняка заметили, что в Генканале стали выходить посты. Пока мы планируем здесь собирать работы, получившие много лайков, интересные посты, записи митапов, чтобы всё самое интересное и красивое не терялось в бесконечной ленте.
Так же, такой формат будет более удобен для людей в статусе read only, коих, судя по опросам не так мало.
Присоединяйтесь к движухе, если у вас есть проект, который интересен вам, даже самый маленький - напишите краткое описание на пару абзацев и скидывайте одному из админов чата. Мы с радостью запостим это в канал!
И не стесняйтесь предлагать рубрики и форматы, давайте вместе сделаем Генканал эссенцией генарта и настоящей площадкой!
❤️
Так же, такой формат будет более удобен для людей в статусе read only, коих, судя по опросам не так мало.
Присоединяйтесь к движухе, если у вас есть проект, который интересен вам, даже самый маленький - напишите краткое описание на пару абзацев и скидывайте одному из админов чата. Мы с радостью запостим это в канал!
И не стесняйтесь предлагать рубрики и форматы, давайте вместе сделаем Генканал эссенцией генарта и настоящей площадкой!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21❤6⚡2
This media is not supported in your browser
VIEW IN TELEGRAM
@algalgalg поигрался с моделью Курамото на GLSL.
Это математическая модель, где множество осцилляторов пытаются синхронизироваться друг с другом через взаимодействие по фазе.
Реализация оказалась довольно компактной — каждый пиксель это отдельный осциллятор, а его фаза хранится в альфа-канале текстуры. Взаимодействует он с соседями через простейшую синусоидальную связь.
Самое интересное в этой модели — возникновение квазичастиц (вихрей). Они появляются в местах, где фазы осцилляторов не могут согласоваться между собой, образуя "дефекты" в поле фаз. Эти вихри ведут себя как настоящие частицы: рождаются и аннигилируют парами, отталкиваются или притягиваются в зависимости от "заряда".
При слабой связи система хаотична и полна таких вихрей, а при усилении связи квазичастицы постепенно исчезают, и система синхронизируется.
https://twigl.app/?ol=true&ss=-OOXEL8ILIgpduGBePCv
Большое спасибо @speginel за помощь в имплементации!
Это математическая модель, где множество осцилляторов пытаются синхронизироваться друг с другом через взаимодействие по фазе.
Реализация оказалась довольно компактной — каждый пиксель это отдельный осциллятор, а его фаза хранится в альфа-канале текстуры. Взаимодействует он с соседями через простейшую синусоидальную связь.
Самое интересное в этой модели — возникновение квазичастиц (вихрей). Они появляются в местах, где фазы осцилляторов не могут согласоваться между собой, образуя "дефекты" в поле фаз. Эти вихри ведут себя как настоящие частицы: рождаются и аннигилируют парами, отталкиваются или притягиваются в зависимости от "заряда".
При слабой связи система хаотична и полна таких вихрей, а при усилении связи квазичастицы постепенно исчезают, и система синхронизируется.
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. Через безвозвратную функцию:
Вариант 2. Через неинициализированную переменную:
Есть еще один способ - взять мусор и записать его в выходную текстуру, но он не стабилен и может возврщать черный или мадженту - без спецэффектов.
Самые классные спецэффекты с глитчем на весь монитор (или два - сколько их у вас) можно получить, устроив stack overflow на видюхе (например в кернеле).
#glitch
Если вы пилите что-то на Метале, то можете воспользоваться 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
❤10
Генеративное_и_Процедурное_Искусство
<unknown>
Вы, наверное, уже наслышаны о новом инструменте Google Notepad и его киллер-фиче - создании подкастов на основе различных источников.
🎙 Чтобы не отставать от трендов мы попробовали сделать подкаст на тему генарта на основе нашей вики, нескольких бесед в чате на тему "что генарт, а что нет" и пары общих статей по теме.
Получилось довольно поверхностно, однако, некоторых болезненных и интересных тем ведущие всё же коснулись.
Особенно повеселило, как они с умным видом прочитали название p5.js.
🔴 Приятного прослушивания и делитесь впечатлениями в коментах
Получилось довольно поверхностно, однако, некоторых болезненных и интересных тем ведущие всё же коснулись.
Особенно повеселило, как они с умным видом прочитали название p5.js.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7🔥4👍3
Продолжая тему вчерашнего боткаста (патентуем термин), предлагаем поближе познакомиться с Musikalisches Würfelspiel Кирнбергера и самостоятельно потыкать алгоритм, точнее, современное воплощение доработанной Моцартом в 1792 году его версии по ссылке
👍5❤1
Media is too big
VIEW IN TELEGRAM
Physarum Polycephalum
от @coding_with_kangaroo
Изначально это название плесени, здесь - симуляция на базе агентов.
Идея симуляции проста:
- Есть агент, который описывается координатами и углом (ориентацией).
- Есть поле, на которое агенты откладывают феромон (собственно это поле мы и смотрим)
- Каждую итерацию агент смотрит вперед (относительно его текущей ориентации), влево и вправо с учетом значений параметров (угол отклонения и расстояние).
- В зависимости от того, с какой стороны больше намазано феромоном, он поворачивается уже на угол шага и двигается в на расстояние шага, где откладывает еще феромон.
- После того, как все походили, феромон испаряется и (опционально) блюрится.
В данной симуляции пространство тороидально, а для красоты на поле накладывается градиентмап.
Приложение на AppStore
Видео на ютубе
#physarum
от @coding_with_kangaroo
Изначально это название плесени, здесь - симуляция на базе агентов.
Идея симуляции проста:
- Есть агент, который описывается координатами и углом (ориентацией).
- Есть поле, на которое агенты откладывают феромон (собственно это поле мы и смотрим)
- Каждую итерацию агент смотрит вперед (относительно его текущей ориентации), влево и вправо с учетом значений параметров (угол отклонения и расстояние).
- В зависимости от того, с какой стороны больше намазано феромоном, он поворачивается уже на угол шага и двигается в на расстояние шага, где откладывает еще феромон.
- После того, как все походили, феромон испаряется и (опционально) блюрится.
В данной симуляции пространство тороидально, а для красоты на поле накладывается градиентмап.
Приложение на AppStore
Видео на ютубе
#physarum
🔥9❤5👍2
Forwarded from Бракованные детали
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/
Я ещё не привык к 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/
YouTube
Introducing Anukari
This video is a sneak peek at Anukari, an upcoming software synthesizer based on the idea of creating a network of small masses (like little ball bearings, or marbles) connected by springs. The masses can be vibrated by striking them via MIDI input, or they…
🔥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
Групповая выставка студентов направления
«Интерактивный дизайн» Школы дизайна НИУ ВШЭ
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
#threejs #instancing
Все началось с того, что мне пришла мысль "хочу чего-то структурного, но нечеткого".
Идея с рекурсивным разбиением шестигранников показалась интересной.
Так появился первый "кристалл", как я его про себя назвал.
Затем была мысль "а почему бы не сделать так, чтобы он появлялся постепенно, как бы рос". И это было реализовано.
Потом подумал, а почему бы не сделать несколько растущих кристаллов, но чтобы они были единым объектом (InstancedMesh в Three.js).
Финальной стала мысль "раз уж залез в эти дебри - надо делать по-большому". Было решено, что будет переход от цветных кристаллов к одноцветным темным, затем должны быть вспышки, за которыми следовал разлет осколков по сферической формации.
Поскольку я все начал делать на основе InstancedMesh, я попал на то, что все завязано на матрицы для инстансов, и пришлось костылить, чтоб перемещать инстансы не через изменение матриц в цикле анимации (а там десятки тысяч инстансов, и это бьет по производительности) , а применять интерполированные значения между двух состояний для инстансов прям в шейдере.
С удивлением узнал, что нельзя делатьmix(matrix1, matrix2, ratio).
Зато можно интерполировать столбцы матриц, ибо они vec4 и с ними mix работает.
#threejs #instancing
❤4🔥4
Хорошие новости!
Телеграм выкатил обновление и теперь есть возможность писать в предложку непосредственно в Генканал🔥
Делитесь вашими работами, мыслями и идеями!
❤️
Телеграм выкатил обновление и теперь есть возможность писать в предложку непосредственно в Генканал🔥
Делитесь вашими работами, мыслями и идеями!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
Forwarded from Alexey Lysenko 👾🦴🤖
https://youtu.be/RnLWLQsh9mw?si=yJ42tRQ8RwDk88Jd
это безумие какое-то... Чел придумал как использовать ванильные майнкрафт механики, чтобы рендерить любые 3д модели.
Он использует text display и искажает их таким образом, чтобы получить форму треугольника (полигон) и дальше с помощью таких треугольников и математики собирает 3д модели
Еще он показал как с помощью такой штуки можно делать процедурную графику внутри майнкрафта и как с помощью этой же механики сделать marching cubes
это безумие какое-то... Чел придумал как использовать ванильные майнкрафт механики, чтобы рендерить любые 3д модели.
Он использует text display и искажает их таким образом, чтобы получить форму треугольника (полигон) и дальше с помощью таких треугольников и математики собирает 3д модели
Еще он показал как с помощью такой штуки можно делать процедурную графику внутри майнкрафта и как с помощью этой же механики сделать marching cubes
YouTube
3D Meshes with Text Displays in Minecraft
Rendering 3D meshes, 3D graphs, and marching cubes in Minecraft without resource packs.
All my links:
https://heledron.com/links/
Web app for converting obj files to text displays:
https://heledron.com/tools/text-display-mesher/
Source Code:
https://g…
All my links:
https://heledron.com/links/
Web app for converting obj files to text displays:
https://heledron.com/tools/text-display-mesher/
Source Code:
https://g…
🤩4🔥2❤1
Узорчатый тоннель в 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
Записал обучающий видос про шейдеры, 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 (в плане идеи нескольких классов с разными коэффициентами взаимодействия), но с расширением в сторону физичности: учитывается масса, а взаимодействие работает через квадрат расстояния:
- Правило - матрица 4х4 (число классов - 4), которая описывает коэффициенты взаимодействия между классами. При этом она может быть несимметричной.
- Так как в симуляции считаются только частицы (положение + скорость), то поле - виртуально и может быть любого размера.
- Пространство тороидально, чтобы частицы не разлетались со временем - все же это делалось для лирики, а не физики.
- Скорости тоже можно делать неограниченными, но нужно масштабировать время, иначе частицы проходят за итерацию расстояния, сильно превышающие их размер.
На видео - арт режим, когда цвета и правило меняются по времени + сделано движение поля по фигуре Лиссажу 1:2.
Приложение на AppStore
Видео на ютубе
#particle
от @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
Forwarded from Канал Ивана Дианова
Media is too big
VIEW IN TELEGRAM
Савва в Генклубе @gen_c рассказал про процедурную генерацию фантастических миров. Вот запись митапа, из которой вы узнаете, какие инструменты Савва использует, какие алгоритмы применяет, и ещё кучу всего интересного.
Ссылки, про которые говорим в видео:
- Статья Иниго
- Код из неё с комментариями
- Телеграм-канал Саввы, где он постит всю эту красоту @fromskintoliquid
Ютуб, ВК
Ссылки, про которые говорим в видео:
- Статья Иниго
- Код из неё с комментариями
- Телеграм-канал Саввы, где он постит всю эту красоту @fromskintoliquid
Ютуб, ВК
🔥14⚡5👌3❤1