COMMAND ENCODER (Barkar Ivan)
163 subscribers
168 photos
72 videos
17 files
108 links
Cool shading, nice ball moment
Download Telegram
Скриншоты недели.
Самое впечатляющее: ии легко перенес XeGTAO из репозитория в URP рендер фичу на компьют пассах. Косяки были, проблемки были, но решались. Так как от меня толку ноль, агент сам ходил в Graphics репозиторий Юнити, смотрел исходники. Фантастика.
А ну всратый пакинг текстур в Speed Tree впечатлил не меньше. Но прога - пушка.
Знакомство с AMD GPU профайлерами для стим-дека, у амд, на самом деле, прикольные штуки тоже.
4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Film grain рендер фича для твоего хоррора

сделанная почти по статье. Но с упрощениями: шум, конечно, заранее сгенерирован и предварительно коррелирован (в статье корреляция от картинки зависит, но не уверен, что это супер важно, но было бы прикольно менять форму зерна, там суть в визуальная в основном, не знаю пока как это дешево сделать). И я не рассчитываю зависимость амплитуды от яркости пикселя (что меня и зацепило в папире), вместо этого тоже предрасчёт в 1D Lut, умножение и наложение.
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Скриншоты недели буду однообразны, покажу один.
В основном эксперимент с вайб-код-ии-ассист-рендер-пайплайном ), часть про куллинг. Описание в html
🔥3👍2
попросил бананью прикинуть, что получится если я буду монетизировать свои дебаг-скриншоты как современное искусство.
😁10👍5
Что-то Валв там навайбкодили, что еле подключил стим-дек к клиенту, народ жалуется.
Вот и первый билд вайб-код-аи-ассист-рендер-пайплайна.
Клиент дека, кстати, теперь содержит (а может всегда содержал) еще один уродливый профайлер - GPUVis. Ладно, на деле любопытная штука, заявлено что с ним легко сравнивать связку CPU и GPU.

Список жирненьких метрик с амд профайлера.
5👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Чет седня был повод вспомнить, что вот это на 95 процентов ии. Руками только разрезал на части меши и текстуры натягивал в пэинтере. Ну обработка мешей после генерации автоматов в инсталоде. Я тогда еще про кодексы не знал и копипастил в гпт.

Какая-то моя древняя идея, которая казалась чрезвычайно контентно зависимой. И я проверил, а что если генерить. И для такой фигни генеративное 3д прям на ура.
4👍1
Иван Валерьевич
Чет седня был повод вспомнить, что вот это на 95 процентов ии. Руками только разрезал на части меши и текстуры натягивал в пэинтере. Ну обработка мешей после генерации автоматов в инсталоде. Я тогда еще про кодексы не знал и копипастил в гпт. Какая-то моя…
Мне, конечно, быстро надоело, и я не доделал, но помню, что вот, например, хотелось сатисфайного взаимодействия. Я примерно знал какими способами этого добиться, и какие настройки мне нужны и тут, конечно, скорость итерирования была капец огонь. Типа «сделай, чтоб тапы на деталь накапливали поворот и она двигалась непрерывно, но выведи кривую того и сего», нужен баунс на том и сем, и такие-то его настройки. И так далее.

Потом сидишь пробуешь, отмечаешь че не хватает
3
Forwarded from Alex
MrF, [26/02/18 21:10]
нашёл свой код

MrF, [26/02/18 21:10]
                var quat = Quaternion.LookRotation(normal, tangentXYZ);// rotationMatrix.rotation.normalized;
if (quat.w < 0) quat = new Quaternion(-quat.x, -quat.y, -quat.z, -quat.w);
float bias = 1.0f/32767;
if (quat.w < bias)
{
float nfactor = Mathf.Sqrt(1.0f - bias*bias);
quat = new Quaternion(quat.x*nfactor, quat.y*nfactor, quat.z*nfactor, bias);
}
var testBinormal = Vector3.Cross(normal, tangentXYZ).normalized;
if (Vector3.Dot(binormalOrig, testBinormal) <= 0) quat = new Quaternion(-quat.x, -quat.y, -quat.z, -quat.w);


MrF, [26/02/18 21:10]
в шейдере
localNormal = QuatRotate(IN.Normal.xyzw, float3(0,0,1));

IN.Tangent.xyz = QuatRotate(IN.Normal.xyzw, float3(0,1,0));
OUT.Tangent = normalize(mul((float3x3)vWorldMatrix, IN.Tangent.xyz));

float sign = IN.Normal.w > 0 ? 1 : -1;
OUT.Binormal = (cross(vNormalW, OUT.Tangent) * sign);

MrF, [26/02/18 21:10]
вот по сути знак quat.w это знак бинормали)))

MrF, [26/02/18 21:10]
в шейдере
localNormal = QuatRotate(IN.Normal.xyzw, float3(0,0,1));

IN.Tangent.xyz = QuatRotate(IN.Normal.xyzw, float3(0,1,0));
OUT.Tangent = normalize(mul((float3x3)vWorldMatrix, IN.Tangent.xyz));

float sign = IN.Normal.w > 0 ? 1 : -1;
OUT.Binormal = (cross(vNormalW, OUT.Tangent) * sign);
👍2🔥1
Положу сюда. Описание, что как работало во Фросбайте на момент написания. Много интересного.
Как мы знаем, Юнити в hdrp, во многом, наследует идеи фросбайта (автор один), книжка содержит и ответ на загадку, почему же в Юнити smoothnes в свойствах материала, а не рафнесс как везде.


https://media.contentapi.ea.com/content/dam/eacom/frostbite/files/course-notes-moving-frostbite-to-pbr-v2.pdf
🔥43
Обожаю такое. Можно полетать по уровням из старых игрушек
https://noclip.website/
🔥6
Forwarded from WellMOR
https://github.com/adobe/openpbr-bsdf

Адоб релизнул свою спеку для пбр.
🔥2