Графика, рендер, шейдеры |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Графика, рендер, шейдеры |
17.08.2010, 10:38
Сообщение
#2881
|
|
Игроман Репутация: 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 |
 
|
|
|
|
17.05.2019, 16:25
Сообщение
#2882
|
|
TECHNOSLAV 80 уровня Репутация: 379 Группа: Участник Сообщений: 5758 Награды: 6 Регистрация: 26.01.2014 |
Мне вот интересно будет посмотреть на adaptive shading - это только детализированная часть картинки рендерится в высоком разрешении, а скукота по сторонам апскейлится из низкого разрешения. То-то я смотрю, что на заднем плане там все мыльно-неестественное, как-будто нарисованное на холсте. Я аж даже стал приглядываться, не скайбокс ли там. Да вроде нет. А оказывается это adaptive shading... Adaptive Shading вроде пока нигде не используется, его только недавно добавили в DirectX (по-моему только в ветку разработчиков), и из современных видеокарт вроде только Turing поддерживают эту хрень. В Metro наверное хитро миксуют слои в этом вашем отложенном рендере. Там и sharpen эффект заметен. Картинка немного напоминает эффект акварели и сухой кисти из фотошопа. Сообщение отредактировал Cossack-HD - 17.05.2019, 16:25 -------------------- Ryzen 3700X
Arctic Freezer 33 eSports Duo 16GB DDR4 3600MHz Strix GTX 1080 TI |
 
|
|
17.05.2019, 16:44
Сообщение
#2883
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Группа: Припаркованный аккаунт Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
годнота с checkerboard renderer CR никак не относится к TAA. Да, они работают в тандеме, ибо оба темпоральны, но все же это 2 отдельные техники. Кто-то из юзеров gameru распаковал шейдеры Metro Меня Сергей зовут, кстати Там 5000 файлов и все на ассемблере. Искать там что-то - проще иголку в стоге сена найти. Так что это только для высших умов. А что конкретно интересует? Я занимаюсь разбором их рендера, могу подсказать чего. Никто не знает, какой тип сглаживания используется в новом Metro Exodus? TAA и MLAA -------------------- Hello worlds!
|
 
|
|
17.05.2019, 16:50
Сообщение
#2884
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
А что конкретно интересует? Я занимаюсь разбором их рендера, могу подсказать чего. Меня вот сглаживание очень интересует. Не знаю насчет TAA, что-то как-то подозрительно. Все игры, где я встречал TAA, картинка была весьма гадостливой. А в новом Метро уж очень качество хорошее для TАА. Может там TXAA используется? Ну и конечно шейдерный код ново-метровского сглаживания хотелось бы изучить. |
 
|
|
17.05.2019, 17:15
Сообщение
#2885
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Группа: Припаркованный аккаунт Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Все игры, где я встречал TAA, картинка была весьма гадостливой. Вот сейчас снова было обидно Может там TXAA используется? Нет - Ну и конечно шейдерный код ново-метровского сглаживания хотелось бы изучить. Постараюсь с этим помочь. -------------------- Hello worlds!
|
 
|
|
17.05.2019, 17:43
Сообщение
#2886
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Вот сейчас снова было обидно А я не так уж много игр видел с TAA, играл в них. А то что видел, не понравилось. Особо негативный эффект был от TAA в Fallout 4. Но как уже тут говорили - один TAA другому рознь, так что может где-то там и есть нормальный TAA. Посмотрим как в новом Метро он сделан, если посчастливится с шейдерами. А для Сталкера я бы юзал встроенный MSAA + сглаженный альфатест. Проблема только с ТЧ, который на дх9. Но с ним можно поступить куда проще - включить в дровах DSR с плавностью 0 и наслаждаться картинкой. На современных видяхах фпс сильно не упадет. Но это все для простого игрока. А так конечно интереснее самому сделать и интегрировать свой самый-самый АА. Ну или интегрировать уже сделанный, если он хорош. Сообщение отредактировал Zagolski - 17.05.2019, 18:04 |
 
|
|
17.05.2019, 21:07
Сообщение
#2887
|
|
TECHNOSLAV 80 уровня Репутация: 379 Группа: Участник Сообщений: 5758 Награды: 6 Регистрация: 26.01.2014 |
Вот сейчас снова было обидно А я не так уж много игр видел с TAA, играл в них. А то что видел, не понравилось. Особо негативный эффект был от TAA в Fallout 4. Но как уже тут говорили - один TAA другому рознь, так что может где-то там и есть нормальный TAA. Посмотрим как в новом Метро он сделан, если посчастливится с шейдерами. А для Сталкера я бы юзал встроенный MSAA + сглаженный альфатест. Проблема только с ТЧ, который на дх9. Но с ним можно поступить куда проще - включить в дровах DSR с плавностью 0 и наслаждаться картинкой. На современных видяхах фпс сильно не упадет. Но это все для простого игрока. А так конечно интереснее самому сделать и интегрировать свой самый-самый АА. Ну или интегрировать уже сделанный, если он хорош. В случае с ТЧ, терафлопсы видеокарты лучше направить на -smap4096 и r2_sun_near 50 И играть на нативном разрешении с SMAA -------------------- Ryzen 3700X
Arctic Freezer 33 eSports Duo 16GB DDR4 3600MHz Strix GTX 1080 TI |
 
|
|
17.05.2019, 22:18
Сообщение
#2888
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
В случае с ТЧ, терафлопсы видеокарты лучше направить на -smap4096 и r2_sun_near 50 А там куда не направляй, лучше особо не будет. Из-за нестабилизированных каскадов и как следствие - ужасного джиттеринга. Лучше пару строчек кода в двиг добавить и стабилизировать, будут тени ака ЗП. Насколько я помню, в ТЧ каскады стабилизированы только по вращению камеры, но не по ее движению. И по движению солнца тоже стабилизация отсутствует. Кстати, это и к ЧН относится. Сообщение отредактировал Zagolski - 17.05.2019, 22:20 |
 
|
|
18.05.2019, 23:48
Сообщение
#2889
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Так-с, покопал я ванильную ЗП ф-цию (shadow_extreme_quality) PCSS (это те что изменяют свою мягкость в зависимости от расстояния) теней на экстриме. Вердикт таков, что она хоть и грамотная, но можно было сделать и лучше. То есть выиграть существенно фпс, так сказать, оптимизировать.
Начнем с того, что поскольку там используется расчет окклюдера по каждому пикселю, можно запросто и без потерь ввести отсечку не тень/свет, т.е. если окклюдер полностью затемнен (все 36 выборок возвращают 0), значит возвращаем сразу тень, если осветвлен - сразу свет, то есть без дальнейших еще 36 выборок для самой фильтрации теней там где это не нужно (там где нет тени или полная тень). Дальше. Для вышеупомянутых операций не нужно использовать все 36 выборок для окклюдера, хватит и 16 (через пиксель), чтобы не было артефактов. В общем, можно без потерь в качестве поднять фпс с 74 до 92 этими двумя оптимизациями, в чем я собсно убедился на собственном опыте. GSC меня немного разочаровало, что не могли такие простейшие штуки надумать... А теперь аншлаг. Берем эту ф-цию, которую я сейчас нарисовал, и вставляем ее вместо той ванильной. Получаем двухкратный выигрыш в фпс без практически падения качества экстрим теней. Код static const float2 poissonDisk[16] = {
float2( -0.94201624f, -0.39906216f ), float2( 0.94558609f, -0.76890725f ), float2( -0.094184101f, -0.92938870f ), float2( 0.34495938f, 0.29387760f ), float2( -0.91588581f, 0.45771432f ), float2( -0.81544232f, -0.87912464f ), float2( -0.38277543f, 0.27676845f ), float2( 0.97484398f, 0.75648379f ), float2( 0.44323325f, -0.97511554f ), float2( 0.53742981f, -0.47373420f ), float2( -0.26496911f, -0.41893023f ), float2( 0.79197514f, 0.19090188f ), float2( -0.24188840f, 0.99706507f ), float2( -0.81409955f, 0.91437590f ), float2( 0.19984126f, 0.78641367f ), float2( 0.14383161f, -0.14100790f ) }; #define PCSS_PIXEL 5 #define PCSS_STEP 5 #define PCSS_PIXEL_MIN 1.0f #define PCSS_SUN_WIDTH 300.f #define PCSS_NUM_SAMPLES 16 float shadow_extreme_quality( float3 tc ) { int3 uv = int3(tc.xy * float(SMAP_size), 0); float zBlock = tc.z - 0.0001f; float avgBlockerDepth = 0.f; float blockerCount = 0.f; [unroll] for( int row = -PCSS_PIXEL; row <= PCSS_PIXEL; row += PCSS_STEP ) { [unroll] for( int col = -PCSS_PIXEL; col <= PCSS_PIXEL; col += PCSS_STEP ) { float shadowMapDepth = s_smap.Load( uv, int2( col, row ) ).x; float b1 = ( shadowMapDepth < zBlock ) ? 1.f : 0.f; blockerCount += b1; avgBlockerDepth += shadowMapDepth * b1; } } if( blockerCount < 1 || blockerCount >= 9 ) return 1.f - min(1.f, blockerCount); avgBlockerDepth /= blockerCount; float fRatio = saturate( ( ( tc.z - avgBlockerDepth ) * PCSS_SUN_WIDTH ) / avgBlockerDepth ); fRatio *= fRatio; fRatio = max(PCSS_PIXEL_MIN, fRatio * float(PCSS_PIXEL)) / float(SMAP_size); float s = 0.f; [unroll] for( uint i = 0; i < PCSS_NUM_SAMPLES; ++i ) { float2 offset = poissonDisk[i] * fRatio; s += s_smap.SampleCmpLevelZero( smp_smap, tc.xy + offset, tc.z ).x; } return s / PCSS_NUM_SAMPLES; } Сообщение отредактировал Zagolski - 19.05.2019, 00:39 |
 
|
|
19.05.2019, 02:49
Сообщение
#2890
|
|
Мастер Игры Репутация: 248 Куратор темы Сообщений: 1363 Награды: 4 Регистрация: 08.03.2010 |
А теперь аншлаг. Берем эту ф-цию, которую я сейчас нарисовал, и вставляем ее вместо той ванильной. Получаем двухкратный выигрыш в фпс без практически падения качества экстрим теней. Я когда-то (году в 2012-м наверное) используя алгоритм пуассонова размытия от sky4CE получал прирост производительности (без сколько-нибудь заметного ухудшения качества) банальной, но не совсем честной оптимизацией, убирая выборки через одну, ну то есть примерно так: CODE static const float2 poissonDisk[/*16*/8] = { float2( -0.94201624f, -0.39906216f ), //float2( 0.94558609f, -0.76890725f ), float2( -0.094184101f, -0.92938870f ), //float2( 0.34495938f, 0.29387760f ), float2( -0.91588581f, 0.45771432f ), //float2( -0.81544232f, -0.87912464f ), float2( -0.38277543f, 0.27676845f ), //float2( 0.97484398f, 0.75648379f ), float2( 0.44323325f, -0.97511554f ), //float2( 0.53742981f, -0.47373420f ), float2( -0.26496911f, -0.41893023f ), //float2( 0.79197514f, 0.19090188f ), float2( -0.24188840f, 0.99706507f ), //float2( -0.81409955f, 0.91437590f ), float2( 0.19984126f, 0.78641367f )//, //float2( 0.14383161f, -0.14100790f ) }; кстати сей алгоритм имеет в себе одну не очень очевидную ошибку, правильно бы было не float2 а float3, где третий компонент - значение на которое нужно умножать соответствующий результат выборки. Иначе получается что сдвинутый пиксель имеет ровно такой же вес что и оригинальный пиксель. Ps. ну либо оставить как есть но изменить строку: CODE s += s_smap.SampleCmpLevelZero( smp_smap, tc.xy + offset, tc.z ).x * saturate(1.f - ABC * distance( tc.xy + offset, tc.xy ) ); где ABC - множитель, который нужно соответственно подобрать для необходимого размаха Сообщение отредактировал cjayho - 19.05.2019, 03:00 -------------------- Набор шейдеров для S.T.A.L.K.E.R: Shadow of chernobyl: ECB-Shaderpack -
------ Продюсер электронной музыки в стиле Dark Ambient, автор саундтрека для Desowave S.T.A.L.K.E.R.: Lost Alpha. |
 
|
|
20.05.2019, 20:00
Сообщение
#2891
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
|
 
|
|
20.05.2019, 20:03
Сообщение
#2892
|
|
Мастер Игры Репутация: 232 Группа: Друзья GM Сообщений: 1299 Награды: 4 Регистрация: 05.03.2012 |
как называется куб максимальной отрисовки рендера? Frustum? как убрать полосы за кубом (какие консольные команды крутить)? Это каскад теней вроде. -------------------- |
 
|
|
20.05.2019, 20:03
Сообщение
#2893
|
|
Игрок Репутация: 2 Группа: Участник Сообщений: 48 Регистрация: 20.02.2019 |
|
 
|
|
20.05.2019, 20:22
Сообщение
#2894
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Вопрос: как называется куб максимальной отрисовки рендера? Вопрос: как убрать полосы за кубом (какие консольные команды крутить)? Это первый каскад теней (near), с ним все нормально, а за ним второй (far), но у него маловато выставлен bias, оттого не до конца убирается самозатенение ландшафта (полосы). В юзере есть опция r2_sun_depth_far_bias, с ней поиграйся, сделай еще меньше, полосы исчезнут. Только не переусердствуй, а то тень "полетит" (хотя на дальнем каскаде это будет не так заметно). Сообщение отредактировал Zagolski - 20.05.2019, 20:38 |
 
|
|
20.05.2019, 20:44
Сообщение
#2895
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
Полосы кажись пропали. Но этот куб или что то - видно.
r2_sun_far - не помогает. У меня это вообще не работает. В движке возможно ли увеличить объём куба раза в четыре? У меня и тень травы рендерится в этом кубе, а за кубом нет. Но это так про траву - это не важно. Сейчас движки тянут рендер ЧН на ура, хочется улучшить картинку. |
 
|
|
20.05.2019, 20:53
Сообщение
#2896
|
|
Мастер Игры Репутация: 248 Куратор темы Сообщений: 1363 Награды: 4 Регистрация: 08.03.2010 |
r2_sun_near
r2_sun_near_border -------------------- Набор шейдеров для S.T.A.L.K.E.R: Shadow of chernobyl: ECB-Shaderpack -
------ Продюсер электронной музыки в стиле Dark Ambient, автор саундтрека для Desowave S.T.A.L.K.E.R.: Lost Alpha. |
 
|
|
20.05.2019, 20:57
Сообщение
#2897
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
|
 
|
|
20.05.2019, 21:03
Сообщение
#2898
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
В движке возможно ли увеличить объём куба раза в четыре? Там и так 20 метров по дефолту ближний каскад. Куда уж больше? В ЗП он наоборот меньше - всего 9 м, оттого и тень четкая вблизи. А если ты будет размер ближнего каскада увеличивать, тень совсем плохая станет. Лечить можно увеличением размера карты теней, но не советую, фпс сильно упадет. Там и так 2048, что довольно много. Хотя, если принять во внимание, что в ТЧ/ЧН два каскада, а в ЗП три, то тут можно размер карты теней до 3072 увеличить. Ну и размер ближнего чуть снизь (r2_sun_near) метров до 15, а дальнего поставь 120. Ну а вообще особо лучше не сделать без вмешательства в движок и увеличением кол-ва каскадов (только запредельно размер карт теней если увеличить). Если хочешь тени от травы далеко сделать, тогда в render_sun добавь отрисовку травы, как это в render_sun_near сделано. Сообщение отредактировал Zagolski - 20.05.2019, 21:11 |
 
|
|
20.05.2019, 21:20
Сообщение
#2899
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
|
 
|
|
20.05.2019, 21:34
Сообщение
#2900
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
|
 
|
|
20.05.2019, 22:06
Сообщение
#2901
|
|
Pro gamer
Почти Игроман Репутация: 72 Группа: Участник Сообщений: 622 Регистрация: 05.11.2017 |
|
 
|
|
Текстовая версия | Сейчас: 28.04.2024, 15:16 |