Kilin

+3231
с 2022
16 подписчиков
11 подписок

Хаунг тоже планирует продавать дороже и продаёт, уже какой год. Но плохие амд, ужас какой.
Никогда ведь корпорации не хотели денег, всегда видеокарты раздавались по цене пачки сигарет.

1

DLSS в вр сильно артефачитНе. В виртуальной реальности любые артефакты рендеринга сильно бросаются в глаза, в отличие от монитора. Поэтому весь "экспириенс dlss" раскрывается по полной.
В VR очень сильно видно то, чего на мониторе 99% не увидят.

1

Самый шикарный персонаж, один из немногих кто не раздражал. А момент где она убивала подушкой и смотрела на часы 10 из 10.

1

В сериале, если честно, в каждый момент времени бесил каждый из персонажей семьи.

-cubemap (говнище пригодное только для сферических поверхностей)
-local reprojected cubemap (говнище приходное так же и для квадратных комнат)
-planar reflection (только для плоских поверхностей и требует перерисовки всей сцены дважды для каждой такой поверхности, 5 зеркал ~ в 6 раз ниже фпс.)
-screen space reflection (требует нормали и deffered режим, не отражает всё что вне экрана)
-screen space planar reflection (самый быстрый способ рендеринга отражений для плоских поверхностей в пространстве экрана, можно юзать несколько плоскостей)
-sdf отражения (например lumen их использует), отражаются грубые апроксимации моделей.
-rtx отражения (медленно, но точно)
-screen space reflection + rtx (для отражения вне экрана), быстрее чем просто rtx, а результат тот же.
-screen space cubemap reprojection, видел только в майнкрафте и скайриме в моде, сложно и много минусов.
Всё.

1

Отрисовать новую сцену с другого ракурса это не просто "доп полигоны". Это полностью новый рассчет теней, освещения, переотражения света, непрозрачной геометрии с её overdraw, постпроцессинга (микротени/occlusion/...) и т.д.
Это буквально отрисовать тот же кадр с другого ракурса, то есть порезать фпс в 2 раза.
Я про отражения знаю достаточно, потому что последние лет 5+ работаю со всеми существующими техниками отражения для воды и могу тебе назвать всё что есть на рынке и почему до сих пор всё плохо.

6

Ну не, оригинал сильно устарел. Графика, анимация, скилы, это всё за 15 лет уже как-то не создаёт атмосферу.
Куда приятнее такое, хотя тут просто апгрейд освещения, а модели вроде как стыре.
https://youtu.be/IkQQOnDuFMc
А представь какой будет атмосфера, если использовать не старые ассеты, а прям megascans для 90% контента и физически корректный шейдинг и освещение.

Боже, как вспомню первые врата и всю атмосферу, аж чуть-чуть потёк.

2

И дота с кской платят мнеЧё уж, говори сразу "у меня бизнес с габеном"

Платит работодатель, когда ты работаешь. А когда ты продал убогий кинжал и заработал 0.3$ в месяц, то "платят" слишком громкое заявление.

В догонку (поржал с того, что даже усики отъела)

ps будь такое в игре без модов, я думаю каждый второй бы ими играл
Типо человек паук кидает паутину и просто не двигается с места, а паутина просто рвётся xD

1

На ультра настройках, на видеокарте 5-и летней давности выдаёт 48 кадров. Особенно с всякими приблудами, типо софтварного рейтрейсинга (наниты).
Понимаю что хочется купить среднюю видеокарту 5 лет назад и играть в ультра настройки до конца жизни, но это не так работает. Так никогда не работало и раньше.

Симуляция и пена не добавлены полноценно в рендеринг воды, поэтому да, это блик, который будет потом исправлен.


И стало интересно, реалтайм водичка по всей площади или задаётся определённая область водоёма для просчёта? (например, только по береговой линии)

Сейчас симуляция вокруг камеры и не привязана к миру (поэтому я могу плыть на корабле и оставлять пену в открытом океане).
Но области с реками и береговой линией нужно предзапекать, то есть если я приближаюсь, я не хочу ждать пока симуляция начнется с начала. Это в планах.

1

Для таких похуистов как раз и сделали dlss.

5

так это не особо имеет значения. У тебя сетка толщиной в 1 пиксель может рисоваться как угодно, тонкими треугольниками, либо через discard и текстуру, либо альфа каналом, либо напрямую в текстуру через compute shader. Суть одна - резкие пиксели.

она по идее спокойно должна идти в 4к на любых современных видеокартах и даже в 8к тамFull hd (~2 миллиона пикселей) * 60 фпс = 124 миллиона пикселей в секунду.
8к (~33 миллиона пикселей) * 90 фпс * 2 глаза = ~ 6 миллиардов пикселей. Разница в 50(!) раз. Видеокарты за 10 лет не стали в 50 раз мощнее.

2

Конечно, лесенки это артефакты сглаживания и раннего теста алгоритма, в рилизе будет лучше ;)

1

Так этот способ симуляции так и делает, проверь предыдущее демо с водопадом, там река сама течет динамически.

Лично моя, первая версия плагина называется kws water, это следующая итерация.

Так это не демо, а плагин для движка. Например flux fluid использовался в senua 2.

Подставлять меши, которые не будут давать такой эффект ^_^Это мой текущий план, а там уж как пойдет xD

1

Он видимо про это
Так как в unity нет SDF карты, то технически невозможно определить границы пересечения воды и поверхности сложных мешей (то есть когда верхняя часть шире нижней). Алгоритм пытаются интерполировать между двумя точками и иногда даёт такие артефакты. А там видно блики, видимо он них говорил.
Хз как с этим бороться в будущем полностью, есть пара идей, но они не без недостатка.

Частицы нужны по нескольким причинам
1) это единственный способ передать корректное поведение потока. Пена не может собраться в кучку, или медленно стекать с камня/водопада.
2) визуально это лучше, чем только одна пена.
3) адвекция пены (то есть сделать что бы она текстура текла по течению) очень сложная задача. Способов всего пару штук, они очень сложные и медленные. И единственный (который все юзают) это flowmap интерполяция от valve. Но он не может правильно течь по дизайну и даёт сильные растяжения текстуры там где не надо.


Насчёт fluid flux, там симуляция на шейдерах (на cpu такое будет в сотни раз медленее). Но да, шейдерный блюпринт (не знаю как он в ue называется), будет помедленнее чем писать ручками. Там скорее проблема в том, что такие сложные шейдера писать визуальными графами - самоубийство. Пока я пишу одну строку кода float shorelineDirection = dot(normalize(center.xy), normalize(fftWaveDisplacement.xz)); чел вынужден соединять и добавлять около 10 нодов.

1

А ну так сцена сделана просто для теста, я взял метровые камушки и просто увеличил их раз в 100 xD
Я поэтому кстати и уточнил, что размер берега 200 метров, потому что корректный визуал будет позже.

Да, алгоритм симуляции тот же. Только у автора fluxFluid не используются частицы пены. С ними конечно поинтереснее, но и медленнее. Щас у меня compute shader обновляет частицы, а vertex шейдер рисует билборды. Это сильно медленно, уже оптимизировал в предыдущей воде рендеринг частиц полностью на compute. Раз в 5-7 быстрее выходило, и щас планирую так же.

неоптимизированный рендеринг симуляции 300 на 300 метров занимает около 0.3 мс на 4070ti.
частицы и рендеринг теней занимает гораздо больше в разы, но щас цель разработать алгоритм, а уже потом заниматься оптимизациями. В нативном 4к 80+ фпс показывает, с оптизациями будет в разы больше. Технически алгоритм даже на мобилках должен быть достаточно быстрым.

Пересчет нормалей?
Например вот. http://www.aclockworkberry.com/shader-derivative-functions/
Если в кратце, то любой GPU обрабатывает пиксели блоками 2 на 2 пикселя (что бы определять какой уровень mip выбрать). Это так же позволяет выяснить "насколько соседний пиксель ниже/выше", а нормаль на экране как раз это и показывает.
Вот простейший код для расчета нормалей из мировой позиции (можно в целом брать любую позицию)

float3 normal = normalize(cross(ddx(pos), ddy(pos) * _ProjectionParams.x)); //В unity _ProjectionParams.x показывает направление directx или opengl, и переворачивает нормаль автоматически.

Но у такого подхода есть минус, то что нормали не сглажены. Но при высокой плотности сетки это не сильно видно.

1

Меш это quadtree сетка, на весь океан (например на 100 км) в самой детальной версии около 2 миллионов треугольников, но на экране где-то пару сотен тысяч максимум.
Пересчет нормалей быстрый и не проблема, но в сцене вообще для теста использую производные. Это позволяет считать нормали из вершинной анимации бесплатно.

3