COMMAND ENCODER (Barkar Ivan)
163 subscribers
168 photos
72 videos
17 files
108 links
Cool shading, nice ball moment
Download Telegram
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
Adobe_Substance_3D_Painter_0aYA5k2NJb.png
393.7 KB
новая выставка дебаг-арта
тут у нас встреча двух ИИ в сабстанс дизайнере: моделька из Трипо, текстура из Бананы
👍2
Media is too big
VIEW IN TELEGRAM
такая залипательная штука, капец, особенно для неискушенного парнишки, вроде меня.
По мотивам статьи про небо в Doom
Но, совмещенно с LUTами неба, которые предлагает подход из GT7 (хотя там атмосферное рассеивание уже традиционное на сегодня, и у Дума, практически, то же самое, но у Гранд Туризмо фишка в маппинге, который делает совершенно потрясающее уменьшение веса всего лута с сохранением качества, я бы даже на мобилки попробовал).
Не все доделано, есть косяки, но лимиты на Codex кончились оч тяжело остановиться двигать бегуночки.
4👍2🔥2
visual symptoms during hypoglycemia .pdf
693.4 KB
пост-процессы в вашем выживаче могут быть еще и научными.
Оказывается, вполне себе исследовали влияние голода, например, или усталости (много, конечно, и по мигрени) на зрение.
С голодухи - легкий блюр, пятна
с недосыпа - рассинхрон, дрейф, плавающая фиксация.

Вот тут пример про голод и недосып.
🔥2
сделал небольшой инструмент для Unity, который реализует двухканальное кодирование цвета из GPU Pro 5 («Reducing Texture Memory Usage by 2-Channel Color Encoding»).

Он анализирует текстуру, подбирает цветовую плоскость, находит два базовых цвета и сохраняет результат в 2 канала для последующего восстановления в шейдере.
Подходит для текстур с небольшим разнообразием цвета.

Можно просто заценить принципы, поиграться

https://github.com/BarkarIvan/2ChannelColorEncoding
🔥6
еще эксперименты Image2
PRO гпт затайлил чужую текстуру и сделал это прям хорошо (кора) - но капец долго.
Обычный, если генерит сам, то уже на этапе генерации затайлил (просьба была в промте) (скала и кафель) но чужие никак не хочет тайлить пока :С
🔥5
Tactile_effect_design_and_evaluation_for_virtual_buttons_on_a_mobile.pdf
1.7 MB
в первом томе GPU Pro можно обнаружить главу, внезапно, не про графику, а про комфортное и устойчивое взаимодействие с тач-скрином, на примере управления орбитальной камерой. Я заинтересовался, утащил конечно же, но решил копнуть еще. И действительно, есть папиры в которых рассматривается тач скрин, взаимодействие с ним, понятный фидбек, хаптик и тд. Например вот. В папирках у нас предсказывание движения пальцем, какой хаптик сделать кнопке, и когда лучше какой фидбек слать.
кнопка
tactile: 5 ms
audio: 19 ms
visual: 32 ms
😱3💘1