karpik.realtime
Имплементация Area Lights https://eheitzresearch.wordpress.com/415-2/ #lighting
там опять linear transform cosines, улучшенный сэмплинг area lights 2015 года.
помимо самой работы, крутость в том что мужчина в одиночку её написал и засабмитил на сигграф, это очень непросто сделать
https://twitter.com/momentsincg/status/1403318217121144835?s=21
помимо самой работы, крутость в том что мужчина в одиночку её написал и засабмитил на сигграф, это очень непросто сделать
https://twitter.com/momentsincg/status/1403318217121144835?s=21
Twitter
Christoph Peters
My new @SIGGRAPH 2021 paper lets you sample polygonal area lights proportional to linearly transformed cosines. The result: Nearly noise-free, unbiased diffuse and specular shading at 2spp (outside of penumbras). Grab the paper, renderer code and more now:…
это интересный факт - при имплементации roughness в PBR рендеринге значения, слишком близкие к нулю (меньше 0.04) могут вообще не отображаться.
то есть блестящая глянцевая поверхность мгновенно гаснет при рендере, а полностью матовая и вариации между ними работают как обычно. разработчики весь участок 0...0.04 клампят в 0.04, и проблем со слишком маленьким пятном света для отображения на экране просто не возникает
то есть блестящая глянцевая поверхность мгновенно гаснет при рендере, а полностью матовая и вариации между ними работают как обычно. разработчики весь участок 0...0.04 клампят в 0.04, и проблем со слишком маленьким пятном света для отображения на экране просто не возникает
крутая штука - визуализатор BRDF функций
https://natevm.github.io/BSDF-Visualizer/
https://github.com/natevm/BSDF-Visualizer
https://natevm.github.io/BSDF-Visualizer/
https://github.com/natevm/BSDF-Visualizer
Крутой рассказ про трансфер информации, или как закодировать три компонента цвета в альфа канале текстуры))
Единственное но — в конце автор жалуется, что при больших значениях для описания позиции не хватает точности, но с этим можно повозиться, учитывая что половина всех значений float лежит в промежутке [-1, 1], а вторая половина снаружи :) Короче, нормализовать по-хитрому и всё будет норм!
https://medium.com/xrlo-extended-reality-lowdown/how-to-play-back-volumetric-point-cloud-animations-in-ue4-9b24b7144d4a
Единственное но — в конце автор жалуется, что при больших значениях для описания позиции не хватает точности, но с этим можно повозиться, учитывая что половина всех значений float лежит в промежутке [-1, 1], а вторая половина снаружи :) Короче, нормализовать по-хитрому и всё будет норм!
https://medium.com/xrlo-extended-reality-lowdown/how-to-play-back-volumetric-point-cloud-animations-in-ue4-9b24b7144d4a
Ну шо, время закрепляющего анонса!
Touchdesigner Meetup Moscow #7
28 июня 2021 года в Москве в седьмой раз состоится митап для профессионалов мультимедиа в среде программирования Touchdesigner.
Встретимся в пространстве Artnovispace, начало лекций в 19:00
Лекторы митапа #7:
Денис Новиков - "Двумерные потоки с завихрениями на TOP контекст"
Instagram.com/gormonboza
Саша Глущенко - "Введение в TouchDesigner Extensions и их практическое применение"
https://www.instagram.com/sanchez_gl
Вадим Биоман "Zero Code Installation"
https://www.instagram.com/vadim_bioman/
Регистрация: https://meetup.pankow.us/ru/event/meetup7/
Также приветствуются вопросы лекторам, на которые они с радостью ответят на встрече: https://docs.google.com/forms/d/e/1FAIpQLSdB7pKtKwFeY5gUcUqQNid8taGlJvzVOAWk24I_Xqhya38WjA/viewform
Канал для связи: t.me/flux20YY
Встреча в фб с локацией: facebook.com/events/1663785537164635
хэштег новая аудиовизуальная культура
Touchdesigner Meetup Moscow #7
28 июня 2021 года в Москве в седьмой раз состоится митап для профессионалов мультимедиа в среде программирования Touchdesigner.
Встретимся в пространстве Artnovispace, начало лекций в 19:00
Лекторы митапа #7:
Денис Новиков - "Двумерные потоки с завихрениями на TOP контекст"
Instagram.com/gormonboza
Саша Глущенко - "Введение в TouchDesigner Extensions и их практическое применение"
https://www.instagram.com/sanchez_gl
Вадим Биоман "Zero Code Installation"
https://www.instagram.com/vadim_bioman/
Регистрация: https://meetup.pankow.us/ru/event/meetup7/
Также приветствуются вопросы лекторам, на которые они с радостью ответят на встрече: https://docs.google.com/forms/d/e/1FAIpQLSdB7pKtKwFeY5gUcUqQNid8taGlJvzVOAWk24I_Xqhya38WjA/viewform
Канал для связи: t.me/flux20YY
Встреча в фб с локацией: facebook.com/events/1663785537164635
хэштег новая аудиовизуальная культура
This media is not supported in your browser
VIEW IN TELEGRAM
реконструкция 3д по картинке в таче нейросеткой https://twitter.com/dmvrg/status/1408659572747685896?s=21
допустим вы отрендерили в редшифте размытые объекты (1), и заботливо сохранили чёрно-белую альфа маску (2), чтобы в дальнейшем подставить нужный задний фон в таче.
но использование ноды matte (3) по прямому назначению вызывает ряд вопросов — края рендера явно тёмные, полупрозрачные объекты вообще исчезли.
произошло это потому, что во время рендера цвет объектов умножился на их прозрачность, цвета как бы смешались с чёрным в пропроции альфа канала.
чтобы это пофиксить, создаём ноду глсл, втыкаем рендер (1), нужный задний фон и маску (2) и пишем в функции main:
#glsl
но использование ноды matte (3) по прямому назначению вызывает ряд вопросов — края рендера явно тёмные, полупрозрачные объекты вообще исчезли.
произошло это потому, что во время рендера цвет объектов умножился на их прозрачность, цвета как бы смешались с чёрным в пропроции альфа канала.
чтобы это пофиксить, создаём ноду глсл, втыкаем рендер (1), нужный задний фон и маску (2) и пишем в функции main:
vec4 renderCol = texture(sTD2DInputs[0], vUV.st);
vec4 bgCol = texture(sTD2DInputs[1], vUV.st);
float alpha = texture(sTD2DInputs[2], vUV.st).r;
float alpha22 = pow(alpha, 1/2.2);
vec4 renderColUnmult = renderCol;
if(alpha > 0.0)
renderColUnmult = vec4(vec3(renderCol.rgb/alpha22), 1.);
vec4 mixCol = mix(bgCol, renderColUnmult, alpha);
fragColor = vec4(mixCol);
готово, вы великолепны и имеете адекватный композ (4) !#glsl
This media is not supported in your browser
VIEW IN TELEGRAM
gpu particles + DOF в таче
интересная штука из блендера — от маленького источника света появляются артефакты на границе света и тени, даже если выбран режим сглаживания полигонов smooth, и пофиксили это только недавно дополнительной настройкой.
на первый взгляд это кошмар и недопустимый караул, но в комментах к видео терпеливо поясняют: при сглаживании полигонов значения нормалей смешиваются с соседями, и, соответственно, новая "сглаженная" нормаль уже отличается от реальной нормали полигона, что создаёт визуальное несоответствие между тенью и остальным шейдингом.
так что косяк разрабов только в том, что фикса пришлось ждать жутко долго, а в целом эт специфика теней в 3д :)
https://youtu.be/oecXkpAoq9U?t=33
ps тач тоже этим страдает, но исправить это можно только ручками в шейдере
на первый взгляд это кошмар и недопустимый караул, но в комментах к видео терпеливо поясняют: при сглаживании полигонов значения нормалей смешиваются с соседями, и, соответственно, новая "сглаженная" нормаль уже отличается от реальной нормали полигона, что создаёт визуальное несоответствие между тенью и остальным шейдингом.
так что косяк разрабов только в том, что фикса пришлось ждать жутко долго, а в целом эт специфика теней в 3д :)
https://youtu.be/oecXkpAoq9U?t=33
ps тач тоже этим страдает, но исправить это можно только ручками в шейдере
Крутой видос про оптимизацию шейдеров, вкратце:
• GLSL функции выполняются с разной скоростью: умножение и сложение 4 такта, sin/cos по 20 тактов, тангенс около 56. Посмотреть брейкдаун вашего кода можно здесь
• сэмплинг текстуры — самая дорогостоящая операция, 300+ тактов; лучше посэмплить текстуру в начале, потом посчитать не связанную с ней математику и в конце их соединить, так простой от ожидания текстуры будет минимальным
• при сэмплинге возвращается не один тексель, а ещё и небольшая область вокруг него, она остаётся в кэше; если в дальнейшем сэмплить соседние значения и не скакать по всей uv, то шейдер будет работать быстрее. благодаря этому же есть почти бесплатные функции dFdx() и dFdy(), но об этом в другой раз :)
https://youtu.be/y0QASid1v8w
• GLSL функции выполняются с разной скоростью: умножение и сложение 4 такта, sin/cos по 20 тактов, тангенс около 56. Посмотреть брейкдаун вашего кода можно здесь
• сэмплинг текстуры — самая дорогостоящая операция, 300+ тактов; лучше посэмплить текстуру в начале, потом посчитать не связанную с ней математику и в конце их соединить, так простой от ожидания текстуры будет минимальным
• при сэмплинге возвращается не один тексель, а ещё и небольшая область вокруг него, она остаётся в кэше; если в дальнейшем сэмплить соседние значения и не скакать по всей uv, то шейдер будет работать быстрее. благодаря этому же есть почти бесплатные функции dFdx() и dFdy(), но об этом в другой раз :)
https://youtu.be/y0QASid1v8w
YouTube
Shader Optimization – True Instruction Cost, Performance Tips // Tutorial
Support on Patreon: https://patreon.com/techartaid/
Get project files: https://techartaid.com/products/
Streaming weekly at https://twitch.tv/techartaid
Learn how to optimize material performance in HLSL and Unreal Engine. I use shader compiler to analyze…
Get project files: https://techartaid.com/products/
Streaming weekly at https://twitch.tv/techartaid
Learn how to optimize material performance in HLSL and Unreal Engine. I use shader compiler to analyze…
This media is not supported in your browser
VIEW IN TELEGRAM
Собрал triplanar mapping на сопах в таче, лучше всего работает на кубах))
Нормальный блендинг можно сделать в GLSL, а в этом сетапе если что покрутить ручку Spread Angle и подобрать бесшовные текстуры, проект здесь
Нормальный блендинг можно сделать в GLSL, а в этом сетапе если что покрутить ручку Spread Angle и подобрать бесшовные текстуры, проект здесь
катастрофически красивый bidirectional path tracing от славянского автора 💪
https://www.shadertoy.com/view/7tjSDh
https://www.shadertoy.com/view/7tjSDh
Shadertoy
Build shaders, share them, and learn from the best community.
This media is not supported in your browser
VIEW IN TELEGRAM
будущее потихоньку наступает, рано или поздно анимация персонажей перестанет быть бесконечной болью!
на гифке прототип анимации скелета по ключевым точкам — направлению взгляда, поворота корпуса и так далее, но в отличие от IK системы положение остальных костей достраивается алгоритмом, обученным на mocap дате, что исключает неестественные изгибы конечностей.
работа на Юнити и проект пока не выложен, но чувствую через 2-3 года в этом направлении будет прям круто :)
https://unity-technologies.github.io/Labs/protores.html
на гифке прототип анимации скелета по ключевым точкам — направлению взгляда, поворота корпуса и так далее, но в отличие от IK системы положение остальных костей достраивается алгоритмом, обученным на mocap дате, что исключает неестественные изгибы конечностей.
работа на Юнити и проект пока не выложен, но чувствую через 2-3 года в этом направлении будет прям круто :)
https://unity-technologies.github.io/Labs/protores.html
displacement.gif
10.9 MB
Шейдер матового стекла в Юнити
(слава богу человек просто взял и сделал это за всех нас)
https://github.com/nothke/unity-frosted-glass/tree/unity-2019
#shader
(слава богу человек просто взял и сделал это за всех нас)
https://github.com/nothke/unity-frosted-glass/tree/unity-2019
#shader
Несколько дней кажется будто меня вербуют в пользователя Нотча, хотя конечно это не так, я просто задаю вопросы))
Абсолютно внезапно SDF, который я упоминал в недавнем посте как крутой но непрактичный в продакшне, можно создавать прям нодами в нотче, и использовать для генерации всяких объёмных штук типа дыма, эмиттера партиклов, и коллижнов в 3д!
Практичным он стал потому, что всю логику из кода перенесли в ноды типа клонера/нойза, которые легко и нестрашно соединять обычному дизайнеру. Моё увожение, в общем.
Лекция об этой системе:
https://youtu.be/nAG-r_2_Udg
Группа Нотча в тг:
https://t.me/notch_notes
Абсолютно внезапно SDF, который я упоминал в недавнем посте как крутой но непрактичный в продакшне, можно создавать прям нодами в нотче, и использовать для генерации всяких объёмных штук типа дыма, эмиттера партиклов, и коллижнов в 3д!
Практичным он стал потому, что всю логику из кода перенесли в ноды типа клонера/нойза, которые легко и нестрашно соединять обычному дизайнеру. Моё увожение, в общем.
Лекция об этой системе:
https://youtu.be/nAG-r_2_Udg
Группа Нотча в тг:
https://t.me/notch_notes
YouTube
Advanced Procedurals: There Is No Spoon with Matt Swoboda
In this session Matt will explain the true inner workings of the procedural system, enabling you to unlock its full potential in your projects.
Learn more about Notch at https://notch.one or download from https://notch.one/trial
Learn more about Notch at https://notch.one or download from https://notch.one/trial