Графика, рендер, шейдеры |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Графика, рендер, шейдеры |
17.08.2010, 10:38
Сообщение
#3161
|
|
Игроман Репутация: 430 Группа: Участник Сообщений: 892 Регистрация: 14.08.2008 |
Разбор полётов Работы участников Шейдеры от Diablo Наработки cjayho ECB Shaderpack Описание ECB-Shaderpack Улучшенный набор шейдеров для игры S.T.A.L.K.E.R.: Shadow of Chernobyl _____________________________________________________________________________ Основные возможности: _______________________ 1) Непрозрачный туман на R2, возможность переключения из файла конфигурации прозрачный/непрозрачный туман 2) Исправлена "синюшность" изображения на R2 3) Эффект компенсационного светового следа на R2 4) Статический и динамический Depth of field на R2, Размытие объектов при прицеливании (требует дополнительного скрипта) 5) Билдовский блум с краснинкой на R2, возможность переключения тонмаппинга в режим, который был в билде 2218 6) Screen space ambient occlusion на R2 7) Правильная отрисовка сияния ламп на R1 8) Правильная отрисовка солнечного градиента на обоих рендерах 9) Полноценная отрисовка occlusion-lightmaps на R2 10) Микроструктурный бамп 11) Правильная отрисовка бликов на блестящих поверхностях 12) Автосатурация - попиксельное уменьшение насышенности слабо освещенных объектов 13) Мягкие тени на R2 14) Экспериментальная возможность - правильные тени от деревьев на R2 15) Улучшенный Motion blur, более похожий на билдовский 16) Исправлена "кислотность" (перенасыщенность) солнечного освещения объектов на R2 17) Отражабельная вода на R2 18) GodRays на R2 + эффект пылинок в лучах. 19) Мягкие партиклы на R2 20) Мягкая вода на R2 Плюс множество регулировок и исправлений мелких недостатков обоих рендеров Условия использования _______________________ Данный продукт предоставляется под соглашением Creative Commons CC-BY 3.0, Подробнее описано по адресу Составитель данного набора шейдеров - cjayho Свежие ревизии находятся по адресу Установка ___________ Данный продукт тестировался под версиями игры 1.0004 и 1.0006 Установка сводится к копированию файлов в папку gamedata мода, изначальный набор файлов предназначается для чистой игры. В случае установки погодных модов необходимо правильно совместить файл config/weathers/flares.ltx Для более полной настройки шейдеров R2 под свой мод можно править файл shaders/r2/config.h. Для корректной работы теней нужно установить следующие переменные в игровой консоли: r2_sun_near_border 1 r2_sun_near 20 Благодарности _______________ Sergy172 за идеи и тестирование экспериментальных веток. -=Diablo=- за изначально портированные шейдеры из 2232 macron за отражабельную воду и наборы шейдеров из билдов 2217 и 2588 Билдоман за набор шейдеров из билда 2571 BAC9-FLCL, KamikaZZe за дельные замечания и критику Shadows за неоценимую помощь в разработке и тестирование экспериментальных версий Meltac <metzinger@gmx.net> (Его мод "Dynamic shaders" здесь: за алгоритм Depth of Field. Код DoF используется с его разрешения. Sky4CE за алгоритм SSAO K.D. За алгоритмы мягкой воды, мягких партиклов, GodRays Наработки ECB Team распространяются под условиями Правки рендера от K.D. Подходит как к чистой игре, так и к любым модам. Изменения - саншафты (команда r2_sun_shafts off/low/medium/high) - мягкая вода (команда r2_soft_water on/off) - мягкие партиклы (команда r2_soft_particles on/off) - регулировка дальности отрисовки травы через консоль (r__detail_radius [49, 501]) - расширенная регулировка плотности травы (r__detail_density [0.02, 0.6]) - расширенная регулировка четкости текстур (r1_tf_mipbias/r2_tf_mipbias [-3.0, 3.0], только R1/R2) - расширенная регулировка расстояния переключения на лоды (r__geometry_lod [0.1, 3.0]) - восстановлены тени от травы (r2_sun_details, R2) - восстановлены блудмарки (r2_bloodmarks, R1/R2) - правильные тени от солнца (R2) - увеличенный видеобуфер (фикс ошибки "(bytes_need<=mSize) && vl_Count" на R2, связанной с перегрузками видеобуфера*) * То есть теперь можно на полной динамике загрузить ресурсоёмкую карту типа болота из ЧН, поставить видимость в 4 километра и взрывать вокруг дымовые гранаты с ЧНовскими партиклами дыма (тоже жутко ресурсоёмкие). Установка: закинуть содержимое в папку с установленным ТЧ (6 патч, более ранние патчи не поддерживаются и просить сделать под них аналогичное бессмысленно!) Настройка: смотрите ogse_config.h Нюансы: - мягкая вода работает и без бинарников - экзешник нужен для пыли в саншафтах и правки вылета перегрузки видеобуфера. Он основан на выложенным в свое время официальном экзешнике для 6го патча без защиты (отсутвие starforce). - рендер-библиотека обеспечивает работу консольных команд, пыли в саншафтах и мягких партиклов. Использование: где и как угодно. Не возбраняется указать автора. Сообщение отредактировал ForserX - 21.07.2020, 13:58 |
 
|
|
|
|
18.10.2019, 10:21
Сообщение
#3162
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Zagolski, а можно ли опробовать ваш форвард плюс рендер? Интересно же. Еще не доделано. Я его отложил пока, все это время пилил очередной двиг для нлс7, переделывал его в чн-зп. Планировал на тройку дней, а засел на пару недель. Сейчас к F+ надо опять возвращаться. К слову, F+ не такая уж панацея, как это на картинках детям на ночь показывают. На практике все неоднозначно. Он тормознее обычного рендера при наличии стандартного кол-ва источников света в кадре (3-8). Из-за фазы отбраковки. Да, он может держать очень много лайтов, но есть ли такое кол-во света в игре? Вот в чем вопрос. Так что реакция на форвард+ глазами простого игрока может быть скорее отрицательная, чем положительная, из-за снижения фпс. Хотя он все равно быстрее ванильного деферреда. |
 
|
|
18.10.2019, 16:28
Сообщение
#3163
|
|
Мастер Игры Репутация: 248 Куратор темы Сообщений: 1363 Награды: 4 Регистрация: 08.03.2010 |
Хотя он все равно быстрее ванильного деферреда. Вот мне и интересно насколько он быстрее -------------------- Набор шейдеров для S.T.A.L.K.E.R: Shadow of chernobyl: ECB-Shaderpack -
------ Продюсер электронной музыки в стиле Dark Ambient, автор саундтрека для Desowave S.T.A.L.K.E.R.: Lost Alpha. |
 
|
|
19.10.2019, 12:27
Сообщение
#3164
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
От сцены зависит, от железа. Точно тут ничего не скажешь. У меня прирост на каких-то сценах чуть ли не вдвое, но в среднем около 25%. Причем лучше всего в сталке на дх11 показал себя простой форвард, как самый быстрый. Там около 50% прибавки в скорости. Но с кое-какими важными оптимизациями, к примеру с переносом расчета освещения для flat альфа-теста в вершинный шейдер. Либо с препассом альфа-теста.
|
 
|
|
21.10.2019, 16:30
Сообщение
#3165
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Если млаа сделаешь, заскринь цистерны на свалке метров с 30, в презентации по млаа у них есть демонстрация, что они типа такое гладят (судя по всему также фигово, но вот и хочется посмотреть), я тоже в его сторону смотрел, но он зараза процессорный (хоть и легкий), а в сталке с этим и так беда MLAA можно и на GPU сделать, кстати. Мне больше нравится TAA 4х, быстрый и качественный. Ничего лучше не нашел в плане соотношения качество/ цена. В идеале лучше заюзать связку TAA + MSAA (TXAA по такому же принципу сделан), но тут уже из-за MSAA в скорости потеряем (тем более на отложенном рендере), да и лишних проблем в конвеер привнесем. Поэтому на деферред вместо MSAA лучше юзать MLAA. А так да, в такой связке сглаживание идеальное получается, взгляда не оторвать. Сообщение отредактировал Zagolski - 21.10.2019, 17:03 |
 
|
|
26.10.2019, 16:15
Сообщение
#3166
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
|
 
|
|
26.10.2019, 16:48
Сообщение
#3167
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
Отбой. Нашел. Это шейдеры партиклов (... и не только).
Сообщение отредактировал Дизель - 26.10.2019, 17:15 |
 
|
|
01.11.2019, 16:56
Сообщение
#3168
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
Странность обновления цикла погоды
|
 
|
|
01.11.2019, 17:16
Сообщение
#3169
|
|
Игровое Воплощение Репутация: 394 Группа: Участник Сообщений: 4791 Награды: 4 Регистрация: 27.04.2011 |
xrModder, cтандартная ошибка
Цитата( @ 28.11.2017) Однако, продолжил первый замглавы "Роскосмоса", из-за совокупности указанных причин "в момент отделения разгонного блока от носителя ошибка по вращению составляла 363 градуса". "Фрегат" начал разворот, но не успел его сделать, поскольку включился маршевый двигатель. Он придал импульс при неверно ориентированном блоке, и "Фрегат" начал падать <...> Вращение через sky_rotation делаешь? |
 
|
|
01.11.2019, 17:21
Сообщение
#3170
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
|
 
|
|
01.11.2019, 17:28
Сообщение
#3171
|
|
Игровое Воплощение Репутация: 394 Группа: Участник Сообщений: 4791 Награды: 4 Регистрация: 27.04.2011 |
У тебя в последней секции вращение 330, в первой 0. Вот движок честно и вращает от 330 до 0 = против часовой стрелки. Надо доработать, как фрегат, чтобы вращение шло по меньшей дуге.
|
 
|
|
01.11.2019, 17:37
Сообщение
#3172
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
У тебя в последней секции вращение 330, в первой 0. Вот движок честно и вращает от 330 до 0 = против часовой стрелки. Надо доработать, как фрегат, чтобы вращение шло по меньшей дуге. Не знаю, не знаю... Цикл разделено на 24 часа, по 15 градусов. Хз из-за чего такой баг. |
 
|
|
01.11.2019, 17:41
Сообщение
#3173
|
|
Игровое Воплощение Репутация: 394 Группа: Участник Сообщений: 4791 Награды: 4 Регистрация: 27.04.2011 |
|
 
|
|
02.11.2019, 19:36
Сообщение
#3174
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
Не знаю, не знаю... Цикл разделено на 24 часа, по 15 градусов. Хз из-за чего такой баг. С 330 обсчитался, 345 конечно.В первой секции же sky_rotation_v = 0? Вот, когда погода меняется с последней секции на первую, и получается переход от 345 до 0. Есть какой-нибудь способ исправления "обнуления" цикла погоды? |
 
|
|
02.11.2019, 19:40
Сообщение
#3175
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Есть какой-нибудь способ исправления "обнуления" цикла погоды? Я думаю надо в движке углы чуть по-другому обсчитывать, если больше или равно 360 то обнулять и поворачивать в сторону с меньшим углом (но тут надо предусмотреть и обратную ситуацию когда с 360 до 0 крутим). Сообщение отредактировал RayTwitty - 02.11.2019, 19:40 -------------------- |
 
|
|
02.11.2019, 20:39
Сообщение
#3176
|
|
Геймер Репутация: 9 Группа: Участник Сообщений: 110 Награды: 2 Регистрация: 21.09.2014 |
xrModder, абрам все по делу сказал, дополню его ответ и скажу свое решение. Во-первых это не баг, а тригонометрия, во-вторых как выше верно отметили небо крутится назад так как у тебя небо крутится от 345 до 0 (например), чтобы не крутилось нужно соответственно крутить 345 360 375 и т.д. до бесконечности. Я решил эту проблему под свои нужды следующим образом (мне надо чтобы просто куб по кругу ходил сутки и все), берем ротейшн первой секции и сравниваем его не больше ли он двух пи (так как он нам его в радианы переводит), и вторую секцию соответственно проверяем меньше двух пи, если подпадают секции под это условию, то ставим скай ротейшн форсед, в противном случае меняем плавно как обычно. Вот и все решение, четыре строки кода. Если нужны другие механики работы, то просто дорабатываешь формулу под свои нужды, ничего сложного там вроде вообще нету, код надеюсь не потребуется, это все таки до 9 класса в школе проходят .
MLAA можно и на GPU сделать, кстати. Мне больше нравится TAA 4х, быстрый и качественный. Ничего лучше не нашел в плане соотношения качество/ цена. В идеале лучше заюзать связку TAA + MSAA (TXAA по такому же принципу сделан), но тут уже из-за MSAA в скорости потеряем (тем более на отложенном рендере), да и лишних проблем в конвеер привнесем. Поэтому на деферред вместо MSAA лучше юзать MLAA. А так да, в такой связке сглаживание идеальное получается, взгляда не оторвать. Так я нигде и не говорил, что млаа нельзя сделать на гпу . Я говорил про философию млаа. Я гпгпу програмлю уже несколько месяцев и прекрасно знаю что можно делать с помощью него, млаа безусловно можно, но как бы смысл то какой. Тхаа это не таа и мсаа, это блюреный мсаа. И короче, ради чего вообще тут, у меня получилось заюзать плюшки шейдерные и дико оптимзировать шейдер, написал отдельный специальный семплер и вс написал с помощью макета, это оптимизировало работу с памятью гпу ровно в шесть раз. И еще до кучи поскольку оглядываюсь на рендер ЗП увидел там проблему, там не зануляются макеты, из-за этого мы получаем рантаймовые ошибки при компиляции шейдеров (например если запустить ЗПшный рендер под дебагом сразу пойматься должна по идее), правится тривиально, в конце отрисовки надо занилять вертексные буферы и макеты. Я бы рекомендовал это сделать всем, без этого часть системных переменных нельзя юзать более одного раза без выпадения рантаймовых ошибок. Я правда пересмотрел кучу модов шейдерных на ЗП и данные подходы вообще никто не использует. Там усложняется существенно математика, но зато дикий плюс к оптимизации (примерно как там самая пресловутая оптимизация г-буффера), видимо всем плевать на какой-то эффективный шейдерный код, и там где можно юзать сырой инпут асемблер все чот выгоняют в вершинный буфер всякую фигню которая напрасно грузит гпу. Есть очень популярный мод, который этим очень грешит, но пальцем не будем показывать . Загольский, кстати, ты говорил что ты оптимайз г-буфера переделывал? Чо там менял? И еще я тут форвард чучуть попрограмил, скажи как ты там чо оптимизировал? Мне в голову пришло только упаковка четырех трехкомпонентных векторов в три четырехкомпонентных. Опять же там усложняется математика, но это классика для шейдерных оптимизаций. Интересны твои подходы, можно без конкретного кода, просто общую идею, думаю пойму. Форвард коеш такая себе тема, шаг влево шаг вправо и ботлнек, в сталкере все таки за отложик я бы свой голос отдал. И еще вопросец небольшой тени под пцф не переделывал (дх10 и выше онли)? 1. Ну во-первых на чн-овском не создается кэш шейдеров, что очень удобно при разработке, не нужно его все время чистить (на ЗП его можно отключить, но все равно). 2. На ЧН рендере качественнее палаллакс, больше объемность. Ну там и в шейдерах алгоритмы немного разные. А может просто в ЧН он есть на тех объектах, где в ЗП его убрали для оптимизации (порезали). 3. Самое главное, на ЧН рендере качественнее MSAA. На ЗП они все подпортили (видать для очередной оптимизации), не разбирался почему, но часть сцены не сглаживается вообще (на некоторых объектах остаются лесенки). Подозреваю, что это из-за msaa detect edge. На ЧН рендере сглаживаются полностью все объекты, в целом сцена выглядит куда качественнее со сглаживанием. По первым двум пунктам категорически не согласен. Я даже не знаю, на мой взгляд это полный абсурд и как-то даже стремно серьезно это обсуждать. По третьему пункту согласен, если докопаешься - рад буду если поможешь. Там большая каша в определениях, я честно говоря до шейдеров еще не дошел, но так поверхностным взглядом такое ощущение что ломает оптимизация мсаа и на дх11 там тупо тонна шейдеров нифига не гладит так как берет везде один семпл (т.е. типа как бы и без мсаа было). Еще есть косяк шейдеров что отваливаются саншафты и чот с тенями какой-то треш. Возможно как-то криво минмакс сделали. Честно - до шейдеров тупо еще не добрался, чтобы их прям все капитально прошерстить, но поле деятельности уже вижу, данные там повыравнивать . Вообще по шейдерам большой разговор на деле. Я бы на самом деле занялся полным рефакторингом в свойственном мне стиле. Может есть желающие присоединится? Там можно все не только привести в порядок, но еще и неплохо думаю выйдет заоптимизировать, правда возможно немножко придется переделать пайплайн в области формирования константных буферов. Мне бы еще до конца разобраться чо за треш там с регистрами сделан, так на вскидку типа можно выгонять несколько переменных с одним именем и они ушиваются в массив, типо выгоняем две разных матрицы и типа можно получать значения как-то так my_matrix[0][2][2]. Кто в шейдерах сталкерских сечет помогите разобраться или лучше давайте вместе чонить замутим, польза же всем будет . И да, ссао/хбао на кс надо кому? Я тут чучуть шейдеры пытаюсь програмать . -------------------- Cocoa not Cocaine.
|
 
|
|
02.11.2019, 21:03
Сообщение
#3177
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
или лучше давайте вместе чонить замутим, польза же всем будет Нельзя вместе мутить, какие-нибудь мудаки из очередного огср сопрут же.
-------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
02.11.2019, 21:23
Сообщение
#3178
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Группа: Припаркованный аккаунт Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
написал отдельный специальный семплер а можно об этом по-подробнее для тех кто ноль в графике? написал с помощью макета И про макет, если не затруднит, тоже? Быстрое гугление ничего не дало Форвард коеш такая себе тема Очень спорно. хбао на кс надо кому HBAO+ лучше и быстрее, но я не помню тонкости его лицензирования. -------------------- Hello worlds!
|
 
|
|
03.11.2019, 14:17
Сообщение
#3179
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
По первым двум пунктам категорически не согласен. Я даже не знаю, на мой взгляд это полный абсурд и как-то даже стремно серьезно это обсуждать. Мне лучше подождать лишние 2 сек загрузки, чем постоянно после каждого пука чистить кэш. Кроме того, сам драйвер должен кэш создавать, но тут я без понятия, как это работает. Запусти локу на ЧН с параллаксом и ту же локу на ЗП с параллаксом, посмотри разницу. Тхаа это не таа и мсаа, это блюреный мсаа. TAA + MSAA. Загольский, кстати, ты говорил что ты оптимайз г-буфера переделывал? Чо там менял? На ЗП с G-buffer не надо ничего делать, с включенной оптимизацией (gbuff_opt) он и так хорош. Хотя можно все же улучшить. Нормаль и хеми перенеси в одну DXGI_FORMAT_R8G8B8A8_UNORM. Позицию из г-буфера вырежи, сделай отдельный проход после заполнения г-буфера и из ZB вытащи глубину в отдельную f16 (в линейную переведи). С материалом что-то придумывать надо. Я пробовал кодировать нормаль в DXGI_FORMAT_R10G10B10A2_UNORM, туда же хеми и в 2 бита материал (4 значения, больше толком и не нужно). Сталкерское освещение к точности нормали не сильно привередливое. Еще можно накопление света перенести в DXGI_FORMAT_R11G11B10_FLOAT вместо DXGI_FORMAT_R16G16B16A16_FLOAT. В целом, улучшить можно. И еще я тут форвард чучуть попрограмил, скажи как ты там чо оптимизировал? Там нечего оптимизировать, в сталке форвард только на статике. Можно тот же R4 переделать в форвард. Немного шейдеров переписать и сам конвеер. Правда, много возни будет с переделкой источников света, они для деферред заточены. И освещение для всех flat объектов (как минимум трава и листва) переводи на вершинный шейдер, иначе будет дикий овердроу. И еще вопросец небольшой тени под пцф не переделывал (дх10 и выше онли)? Так они и на ваниле PCF 4х4. На макс. качестве солнца используется алгоритм вытащенный из DXSDK (контактные тени или как-то так), по сути PCSS, только более тормозные (я где-то тут выкладывал улучшенный этот алгоритм). Разве что семплов на обычный можно нарастить. По третьему пункту согласен, если докопаешься - рад буду если поможешь. Там большая каша в определениях, я честно говоря до шейдеров еще не дошел, но так поверхностным взглядом такое ощущение что ломает оптимизация мсаа и на дх11 там тупо тонна шейдеров нифига не гладит так как берет везде один семпл Я у себя пофиксил. Там в движке куча msaa-шного кода - это было сделано для DX10, чтобы в шейдерах циклы не использовать. На DX11 используется SV_SAMPLEINDEX с вытаскиванием семпла за один раз, поэтому можно всю эту кучу кода вырезать. HBAO+ лучше и быстрее, но я не помню тонкости его лицензирования. В сталке что-то вроде HBAO+ используется, как мне кажется. Точно не обычный HBAO. Там текстура полного разрешения + идут каскады по глубине. И он быстрее обычного SSAO, и качественнее. Но мне больше вставил HDAO, классная штука. Кстати, используйте HDAO исключительно на ультра, только там он обрабатывается вычислительным шейдером, что быстрее (по крайней мере у меня). Сообщение отредактировал Zagolski - 03.11.2019, 14:22 |
 
|
|
03.11.2019, 18:27
Сообщение
#3180
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Группа: Припаркованный аккаунт Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Но мне больше вставил HDAO, классная штука. Там разница между HBAO+ и HDAO чисто субъективная, основной момент - это заточенность под определенное железо. HDAO заточено под AMD. HBAO+ заточено под Nvidia. И я все еще в недоумении по поводу термина "макет", и возможности "написать свой самплер" -------------------- Hello worlds!
|
 
|
|
03.11.2019, 22:02
Сообщение
#3181
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
|
 
|
|
Текстовая версия | Сейчас: 02.05.2024, 20:33 |