Значит, тональное отображение, оно же tone mapping. Я узнал про этот приём (как и про множество других) от Питера Пасмы, он использовал его в нфтшном проекте Skulptuur. Там сцена с глобальным освещением, то есть луч многократно отражается от объектов до тех пор, пока либо не попадёт на лампу, либо так на неё и не попадёт. Отражения луча каждый раз рандомные, поэтому значения соседних пикселей могут сильно отличаться. Картинка выходит шумной. Чтобы этот шум погасить, Питер рендерит сотни кадров и усредняет их, пока не станет аккуратно.
Так мы плавно утыкаемся в проблему: а какой яркости должна быть лампа? Если яркость
А может усилить свет, скажем до
В итоге, мы хотим чего? Хотим, чтобы любое значение от 0 до ∞ после обработки стало числом от 0 до 1. Идеально подошла бы функция, которая при небольшом значении меняет значение не сильно, то есть близка к
В лайвкодинге тональное отображение тоже пригодится. Например, хочу далёкие объекты сделать тёмными. Пишу
Так мы плавно утыкаемся в проблему: а какой яркости должна быть лампа? Если яркость
1, картинка выйдет тёмной, потому что любое отражение луча уменьшает его яркость. А это ещё полбеды. Вторые полбеды в том, что каждый кадр отражения луча случайны, он будет то попадать в лампу, то улетать в черноту. Усредним это всё, и финальная яркость будет около нуля.А может усилить свет, скажем до
100? Но тогда прямое попадание луча в лампу будет больше единицы. Экран может показывать цвета в ограниченном диапазоне: от чёрного o=vec4(0,0,0,1), до белого o=vec4(1,1,1,1). Если попытаться показать значение ярче чем 1, например, 9e9, экран не прожжёт дырку в обоях: значение обрежется до единицы. Но вы сами знаете, к чему это приводит, если хоть раз пробовали в тёмной комнате сфоткать окно с облаками. Никаких облаков на фото не будет, только белый прямоугольник. Было бы круто видеть разницу между яркостями 1, 10, 100.В итоге, мы хотим чего? Хотим, чтобы любое значение от 0 до ∞ после обработки стало числом от 0 до 1. Идеально подошла бы функция, которая при небольшом значении меняет значение не сильно, то есть близка к
f(x)=x, а на большом приближается к единице, то есть к f(x)=1. Хорошая новость в том, что функций таких куча, на любой вкус. В предыдущем посте я использовал tanh(x), она довольно затратная в плане вычисления, зато мало буков. Про неё и про более шустрые альтернативы Xor подробно написал в статье из цикла GM Shaders, картинку для поста я взял оттуда.В лайвкодинге тональное отображение тоже пригодится. Например, хочу далёкие объекты сделать тёмными. Пишу
o+=1./dist;. Но тогда всё, что ближе единицы, сливается в ослепительно белый. И тут я гиперболический тангенс — хлоп! И уже не сливается.❤9⚡3👍2🔥1
В эту пятницу в генклубе долгожданный митап, приходите смотреть, как небольшой код создаёт целые миры
❤3
Forwarded from Савва
Митап о генерации геометрии в реймаршинге
В эту пятницу, 26 сентября в 19:00. Ссылку на телемост запостим в @gen_c перед созвоном.
Шесть лет назад Иниго Килес выложил статью с описанием интересного алгоритма для генерации геометрии. В статье описана не столько техника в ее законченном виде, сколько общая идея. Реализовать полный потенциал метода предлагалось читателю самостоятельно.
Я хочу рассказать про то, как я генерализовал этот метод и получил крутые результаты, работающие в несколько строк кода. Покажу разные генерации на своем сетапе, обсудим вместе альтернативные варианты развития этой идеи, мб полайвкодим.
В эту пятницу, 26 сентября в 19:00. Ссылку на телемост запостим в @gen_c перед созвоном.
Шесть лет назад Иниго Килес выложил статью с описанием интересного алгоритма для генерации геометрии. В статье описана не столько техника в ее законченном виде, сколько общая идея. Реализовать полный потенциал метода предлагалось читателю самостоятельно.
Я хочу рассказать про то, как я генерализовал этот метод и получил крутые результаты, работающие в несколько строк кода. Покажу разные генерации на своем сетапе, обсудим вместе альтернативные варианты развития этой идеи, мб полайвкодим.
🔥16
Канал Ивана Дианова
Митап о генерации геометрии в реймаршинге В эту пятницу, 26 сентября в 19:00. Ссылку на телемост запостим в @gen_c перед созвоном. Шесть лет назад Иниго Килес выложил статью с описанием интересного алгоритма для генерации геометрии. В статье описана не столько…
Начинаем созвон про шейдерные миры, подключайтесь
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
https://telemost.yandex.ru/j/83200599571577
telemost.yandex.ru
Яндекс Телемост — бесплатные видеовстречи без регистрации и ограничения по времени
Бесплатные видеоконференции и встречи прямо в браузере. Подключение без регистрации, удобно с ПК и телефона. Работайте, учитесь и общайтесь онлайн
Media is too big
VIEW IN TELEGRAM
Савва в Генклубе @gen_c рассказал про процедурную генерацию фантастических миров. Вот запись митапа, из которой вы узнаете, какие инструменты Савва использует, какие алгоритмы применяет, и ещё кучу всего интересного.
Ссылки, про которые говорим в видео:
- Статья Иниго
- Код из неё с комментариями
- Телеграм-канал Саввы, где он постит всю эту красоту @fromskintoliquid
Ютуб, ВК
Ссылки, про которые говорим в видео:
- Статья Иниго
- Код из неё с комментариями
- Телеграм-канал Саввы, где он постит всю эту красоту @fromskintoliquid
Ютуб, ВК
1🔥7❤6👍2
tldraw.com
Это моя любимая онлайновая рисовалка-вайтборд. Быстрая, простая, умеет всё, что надо. В рейкасте сделал быструю ссылку, чтобы всегда была под рукой.
А на скрине я разбирался, как устроен паттерн, который задизайнил @hristofer: он крафтит такую керамическую плитку, у него в профиле фотки. Оказалось, обойная группа ××, она же pg.
Какие у вас любимые рисовалки?
Это моя любимая онлайновая рисовалка-вайтборд. Быстрая, простая, умеет всё, что надо. В рейкасте сделал быструю ссылку, чтобы всегда была под рукой.
А на скрине я разбирался, как устроен паттерн, который задизайнил @hristofer: он крафтит такую керамическую плитку, у него в профиле фотки. Оказалось, обойная группа ××, она же pg.
Какие у вас любимые рисовалки?
❤4👍4🔥1
Приходите сегодня на открытый шейдерный мастер-класс. Я буду учить Адама писать шейдеры, а Дима будет учить меня делать это красиво.
Ссылка появится в канале @setka_design за 5 минут до начала
Ссылка появится в канале @setka_design за 5 минут до начала
🔥2❤1
Forwarded from Сетка — кодинг для дизайнеров (Ivan Dianov)
This media is not supported in your browser
VIEW IN TELEGRAM
Открытый шейдерный мастер-класс
Курс по шейдерам всё ближе, мы готовимся и хотим затестить новый формат. До этого мы вели курсы вдвоём и всем это нравилось. В этот раз идём ещё дальше, и ведущих будет трое:
Иван Дианов (ну вы его знаете).
Адам Арутюнов (ну вы его тоже знаете).
Дмитрий Кайда. Дизайнер и артдир, делает вот такую красоту: instagram.com/kobayashi68
Мастер-класс будет устроен так:
— Дима артдирит и творчески направляет, чтобы в конце получилась не технодемка, а что-то великое;
— Ваня пишет код и объясняет его Адаму;
— Адам задаёт вопросы, когда что-то непонятно (Адам программист, но ничего не понимает в шейдерах).
За референс возьмём видео ↑ из этого поста, а что в конце получится — не знаем.
Мастер-класс будет проходить в Зуме и займёт около полутора часов. Можно будет прийти прямо на трансляцию и задавать вопросы.
5 ноября, 19:00 по Москве
Курс по шейдерам всё ближе, мы готовимся и хотим затестить новый формат. До этого мы вели курсы вдвоём и всем это нравилось. В этот раз идём ещё дальше, и ведущих будет трое:
Иван Дианов (ну вы его знаете).
Адам Арутюнов (ну вы его тоже знаете).
Дмитрий Кайда. Дизайнер и артдир, делает вот такую красоту: instagram.com/kobayashi68
Мастер-класс будет устроен так:
— Дима артдирит и творчески направляет, чтобы в конце получилась не технодемка, а что-то великое;
— Ваня пишет код и объясняет его Адаму;
— Адам задаёт вопросы, когда что-то непонятно (Адам программист, но ничего не понимает в шейдерах).
За референс возьмём видео ↑ из этого поста, а что в конце получится — не знаем.
Мастер-класс будет проходить в Зуме и займёт около полутора часов. Можно будет прийти прямо на трансляцию и задавать вопросы.
5 ноября, 19:00 по Москве
❤10
Видос готовим, выложим попозже. А пока что отзыв от Кости Григорьева. Огого, как приятно-то!
Давно не было таких созвонов, я, оказывается, по ним скучал.
Давно не было таких созвонов, я, оказывается, по ним скучал.
❤2
Forwarded from Костя Григорьев ⬜️
Сходил на мастер-класс по шейдерам в Сетке. За два часа еле понятного кода и каких-то сложных математических формул получились три приколюхи со мной у камышей. Потыкайте сами:
Мне прям понравилось. Очень круто таким заниматься для меня как для дизайнера. Обычно в фигме или фотошопе дизайню, там пиксели или векторы двигаю (не важно), а тут — код! Пишешь код, и чё-то на экране происходит! Ещё и динамично получается, управлять происходящим можно! Ну нихрена ж себе!
Теперь мечтаю заняться генеративным дизайном. Это кажется сложно, но пипец как интересно. Жду от Сетки полный курс по шейдерам, буду разбираться и радовать вас всяким таким.
случайный кукурузатор — нажимайте для следующего случайного варианта; ручной растягиватель влево-вправо — водите курсором или пальцем; ручной растягиватель во все стороны — аналогично.Мне прям понравилось. Очень круто таким заниматься для меня как для дизайнера. Обычно в фигме или фотошопе дизайню, там пиксели или векторы двигаю (не важно), а тут — код! Пишешь код, и чё-то на экране происходит! Ещё и динамично получается, управлять происходящим можно! Ну нихрена ж себе!
Теперь мечтаю заняться генеративным дизайном. Это кажется сложно, но пипец как интересно. Жду от Сетки полный курс по шейдерам, буду разбираться и радовать вас всяким таким.
❤9🔥1
Forwarded from Сетка — кодинг для дизайнеров (Adam Arutyunov)
Математика, которая пригодится в жизни
Когда учишься в школе, математика может казаться чем-то странным и непонятным.
Для чего учить сложные формулы, которые вылетают из головы сразу же после окончания школы? Зачем нужны синусы и косинусы, функции и интегралы? Почему надо решать задачи про пятьдесят арбузов, двух велосипедистов и грибы в третьем бочонке? Где мне всё это пригодится?
Проблема в том, что в жизни ребёнка ещё мало практических задач, которые требуют математических навыков. Школьники не берут кредиты, не работают со статистикой и бухгалтерией. В итоге школьная программа быстро забывается, потому что в основном состоит из абстрактных примеров, которые сложно переложить на реальность.
Но вообще-то, математика — полезный инструмент, и во взрослой жизни встречается много вопросов, с которыми она могла бы помочь.
Ипотека под 8% на 20 лет или под 12% на 15 лет? Сколько накопишь, если каждый месяц класть часть зарплаты на депозит? Что такое «средняя» и «медианная» зарплата? Насколько реально выиграть в лотерею? Почему казино всегда в выигрыше? Почему положительный тест на ковид не значит, что ты болен? Что такое инфляция, рост инфляции и темпы роста инфляции? Влезет ли диван в лифт по диагонали? Почему в самолёте все встают сразу после посадки? Как распознавать манипуляции в новостях и научных статьях?
Мы верим, что есть много профессий, где математика не строго обязательна, но очень полезна и может помочь шарить глубже и сильнее. Это дизайн, программирование, финансы, маркетинг, архитектура, инженерия, менеджмент, строительство, предпринимательство, музыка, и много других. В этих профессиях работают много взрослых умных людей, но им не смогли хорошо преподнести математику в школе.
Поэтому мы сделали этот курс.
На курсе мы смотрим на математику в контексте реальных задач. Мы собрали темы и примеры, которые дают ощутимую практическую пользу и встречаются в жизни ежедневно. За двенадцать занятий мы расскажем базу нескольких областей математики, ответим на вопросы выше ↑ и покажем, как применять эти знания в жизни.
Подробное описание, программа и FAQ — на лендинге.
Формат
12 января — 19 февраля.
12 занятий, 2 занятия в неделю. Общий телеграм-чат и канал с записями, которые остаются навсегда.
Адам ведёт занятия, Ваня помогает и задаёт вопросы, которые боятся задавать слушатели.
Цена — 3500 ₽. Школьникам и студентам — скидка 50%.
Записаться через бота: @gendesign_bot.
Не хотим нагонять спешку, но на курсе всего тридцать пять мест.
setka.design/math
Когда учишься в школе, математика может казаться чем-то странным и непонятным.
Для чего учить сложные формулы, которые вылетают из головы сразу же после окончания школы? Зачем нужны синусы и косинусы, функции и интегралы? Почему надо решать задачи про пятьдесят арбузов, двух велосипедистов и грибы в третьем бочонке? Где мне всё это пригодится?
Проблема в том, что в жизни ребёнка ещё мало практических задач, которые требуют математических навыков. Школьники не берут кредиты, не работают со статистикой и бухгалтерией. В итоге школьная программа быстро забывается, потому что в основном состоит из абстрактных примеров, которые сложно переложить на реальность.
Но вообще-то, математика — полезный инструмент, и во взрослой жизни встречается много вопросов, с которыми она могла бы помочь.
Ипотека под 8% на 20 лет или под 12% на 15 лет? Сколько накопишь, если каждый месяц класть часть зарплаты на депозит? Что такое «средняя» и «медианная» зарплата? Насколько реально выиграть в лотерею? Почему казино всегда в выигрыше? Почему положительный тест на ковид не значит, что ты болен? Что такое инфляция, рост инфляции и темпы роста инфляции? Влезет ли диван в лифт по диагонали? Почему в самолёте все встают сразу после посадки? Как распознавать манипуляции в новостях и научных статьях?
Мы верим, что есть много профессий, где математика не строго обязательна, но очень полезна и может помочь шарить глубже и сильнее. Это дизайн, программирование, финансы, маркетинг, архитектура, инженерия, менеджмент, строительство, предпринимательство, музыка, и много других. В этих профессиях работают много взрослых умных людей, но им не смогли хорошо преподнести математику в школе.
Поэтому мы сделали этот курс.
На курсе мы смотрим на математику в контексте реальных задач. Мы собрали темы и примеры, которые дают ощутимую практическую пользу и встречаются в жизни ежедневно. За двенадцать занятий мы расскажем базу нескольких областей математики, ответим на вопросы выше ↑ и покажем, как применять эти знания в жизни.
Подробное описание, программа и FAQ — на лендинге.
Формат
12 января — 19 февраля.
12 занятий, 2 занятия в неделю. Общий телеграм-чат и канал с записями, которые остаются навсегда.
Адам ведёт занятия, Ваня помогает и задаёт вопросы, которые боятся задавать слушатели.
Цена — 3500 ₽. Школьникам и студентам — скидка 50%.
Записаться через бота: @gendesign_bot.
Не хотим нагонять спешку, но на курсе всего тридцать пять мест.
setka.design/math
Сетка
Математика, которая пригодится в жизни
Учим школьной математике на практических примерах
❤6🔥4👍2
