Графика, рендер, шейдеры |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Графика, рендер, шейдеры |
17.08.2010, 10:38
Сообщение
#2081
|
|
Игроман Репутация: 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 |
 
|
|
|
|
24.12.2016, 10:42
Сообщение
#2082
|
|
Новичок Репутация: 1 Группа: Участник Сообщений: 7 Регистрация: 22.12.2016 |
Подскажите, кто в курсе, на ЧН и ЗП солнечные лучи могут работать без объёмного света или должен быть объемный свет включен? Используются ли для лучей и объемного света технологии DX10? Независимые эффекты. Второго улучшенного рендера для них достаточно. Сообщение отредактировал mrmnwar - 24.12.2016, 10:43 |
 
|
|
27.12.2016, 12:21
Сообщение
#2083
|
|
Новичок Репутация: 1 Группа: Участник Сообщений: 7 Регистрация: 22.12.2016 |
По поводу хром. абберации в прицеле.
Код ////////////////////////////////////////////////////////////////////////////////////////// // Pixel float4 main ( v2p I ) : COLOR { float2 tc = I.tc0; float x = 1/(c_screen.y*TAR); tc.x = tc.x*x + 0.5*(1-x); // float4 col = tex2D (s_base,tc); float amount = .003f; float4 col = tex2D (s_base,tc); float2 offset_fringe = distance( float2( .5f, .5f ), tc ) * float2( amount, amount ); col.r = tex2D( s_base, tc + offset_fringe ).r; col.g = tex2D( s_base, tc ).g; col.b = tex2D( s_base, tc - offset_fringe ).b; return I.c0*col; } Нужно пробовать, сам затестить не имею возможности. |
 
|
|
02.01.2017, 13:46
Сообщение
#2084
|
|
Мастер Игры Репутация: 248 Куратор темы Сообщений: 1363 Награды: 4 Регистрация: 08.03.2010 |
По поводу хром. абберации в прицеле. CODE ////////////////////////////////////////////////////////////////////////////////////////// // Pixel float4 main ( v2p I ) : COLOR { float2 tc = I.tc0; float x = 1/(c_screen.y*TAR); tc.x = tc.x*x + 0.5*(1-x); // float4 col = tex2D (s_base,tc); float amount = .003f; float4 col = tex2D (s_base,tc); float2 offset_fringe = distance( float2( .5f, .5f ), tc ) * float2( amount, amount ); col.r = tex2D( s_base, tc + offset_fringe ).r; col.g = tex2D( s_base, tc ).g; col.b = tex2D( s_base, tc - offset_fringe ).b; return I.c0*col; } Нужно пробовать, сам затестить не имею возможности. В таком виде шейдер делает лишнюю работу. Проще так: CODE //////////////////////////////////////////////////////////////////////////////////////////
// Pixel float4 main ( v2p I ) : COLOR { float2 tc = I.tc0; float x = 1/(c_screen.y*TAR); // что за TAR и откуда он? tc.x = tc.x*x + 0.5*(1-x); // Что это вообще за черная магия, вот эта строка и предыдущая? в оригинале я такого не писал. // float4 col = tex2D (s_base,tc); float amount = .003f; // вот это лучше вывести в конфиг, это сила расслоения на цвета. // float4 col = tex2D (s_base,tc); // не нужно, float4 col = float4(0,0,0,0); // один хрен мы ниже эти значения заменяем другими. float2 offset_fringe = distance( float2( .5f, .5f ), tc ) * float2( amount, amount ); col.r = tex2D( s_base, tc + offset_fringe ).r; col.g = tex2D( s_base, tc ).g; col.b = tex2D( s_base, tc - offset_fringe ).b; return I.c0 * col; // что мы за цвет получаем в шейдер, нужен ли он тут? } -------------------- Набор шейдеров для S.T.A.L.K.E.R: Shadow of chernobyl: ECB-Shaderpack -
------ Продюсер электронной музыки в стиле Dark Ambient, автор саундтрека для Desowave S.T.A.L.K.E.R.: Lost Alpha. |
 
|
|
02.01.2017, 15:13
Сообщение
#2085
|
|
Кандидат Игровых Наук Репутация: 2153 Группа: Участник Сообщений: 3488 Награды: 4 Регистрация: 27.07.2009 |
Раз уж ещё остались тут специалисты по шейдерам , хотел задать один вопрос. Я более менее понял как работать с пиксельными шейдерами, но вот с вертексными ещё толком не разбирался, пользуясь готовыми, поэтому вопрос скорее всего нубский.
Для примера: есть задача сделать аномалию, в радиусе которой вся геометрия будет обесцвечиваться, притом таких аномалий в сцене может быть произвольное кол-во. Для этого (как я полагаю) мне нужно в вертексном шейдере каким то образом просчитывать дистанцию каждого вертекса до каждой аномалии, а потом ещё каким то образом делать плавный переход (чтобы не весь полигон обесцвечивался, а только та часть, что непосредственно в радиус аномалии залезает. Вопросов несколько: 1) Возможно ли такое вообще сделать. (в рамках сталкера) 2) Правильно-ли я понял принцип реализации подобного эффекта. Просто я в шейдерах даже динамических массивов не видел, а потому не ясно как туда вообще передавать данные о позиции каждой аномалии. 3) Нет ли похожих примеров в сталкере или где либо ещё, откуда их можно подсмотреть. -------------------- Мне просто нравятся синие буквы под сообщением.
|
 
|
|
02.01.2017, 16:57
Сообщение
#2086
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
|
 
|
|
02.01.2017, 17:49
Сообщение
#2087
|
|
Кандидат Игровых Наук Репутация: 2153 Группа: Участник Сообщений: 3488 Награды: 4 Регистрация: 27.07.2009 |
Не обязательно, я аномалию привёл как пример, а вообще мне сам механизм интересен, например чтобы сделать обгоревшую листву\траву для огнемёта.
+ для тех же аномалий можно ввести деформацию террейна, чтобы от огненных аномалий террейн становился потресканным, а от электрических высушенным и т.п У тебя, я так полагаю, сделано через маску - рендеришь в неё стёкла и на стадии постпроцесса (в combine_1 \ _2) ты её используешь чтобы на часть экрана "не выводить" цвет? (я в рендере плохо разбираюсь на самом деле) Вообще прикольный эффект, через него можно коллиматорные ПНВ-прицелы как в Метро 2033 сделать. UPD: Совсем вылетело из головы, что источники света в сталкере работают примерно так, как я и хочу. Нужно только вместо освещения обесцвечивать\заменять текстуру. Сообщение отредактировал Shoкer - 02.01.2017, 17:58 -------------------- Мне просто нравятся синие буквы под сообщением.
|
 
|
|
02.01.2017, 18:13
Сообщение
#2088
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
А, ты такое имел ввиду обесцвечивание. У меня то вообще обесцвечивается полностью, я это не контролирую. Правил просто шейдер стекол, что-то криво начал передавать, в итоге такая байда.
По поводу аномалий, можешь создавать ингейм воллмарки с трещинами на горизонтальной поверхности, да и всё. Может тебе попробовать аномалиям лайт черного цвета сделать? Вдруг будет казаться, что террейн и детейлы обгорели |
 
|
|
02.01.2017, 20:27
Сообщение
#2089
|
|
Мастер Игры Репутация: 248 Куратор темы Сообщений: 1363 Награды: 4 Регистрация: 08.03.2010 |
Раз уж ещё остались тут специалисты по шейдерам , хотел задать один вопрос. Я более менее понял как работать с пиксельными шейдерами, но вот с вертексными ещё толком не разбирался, пользуясь готовыми, поэтому вопрос скорее всего нубский. Для примера: есть задача сделать аномалию, в радиусе которой вся геометрия будет обесцвечиваться, притом таких аномалий в сцене может быть произвольное кол-во. Для этого (как я полагаю) мне нужно в вертексном шейдере каким то образом просчитывать дистанцию каждого вертекса до каждой аномалии, а потом ещё каким то образом делать плавный переход (чтобы не весь полигон обесцвечивался, а только та часть, что непосредственно в радиус аномалии залезает. Вопросов несколько: 1) Возможно ли такое вообще сделать. (в рамках сталкера) 2) Правильно-ли я понял принцип реализации подобного эффекта. Просто я в шейдерах даже динамических массивов не видел, а потому не ясно как туда вообще передавать данные о позиции каждой аномалии. 3) Нет ли похожих примеров в сталкере или где либо ещё, откуда их можно подсмотреть. Начинать нужно собственно с вопроса "чтоб не обесцвечивался весь полигон", что уже подразумевает работу с пиксельными шейдерами, и по возможности в постранстве вьюпорта, в экранном пространстве, если нужно действительно неограниченное количество аномалий в кадре, чтоб не делать отдельных проход или рендертаргет для каждой аномалии. Учтите простую истину - шейдеры перемалывают данные только в пределах одного единственного кадра, причем даже не всего кадра а каждой вершины или пикселя текстуры в каком-либо пространстве, как в пространстве координат самой текстуры натянутой на фигуру, так и в пространстве координат экрана. И они вообще не знают такой штуки как аномалия: если вы хотите работать с аномалией, вам либо придется для каждой аномалии передавать в шейдер ее координаты и радиус (например) или делать отдельный материал, к которому привязан необходимый шейдер, и сфера из этого материала будет представлять собой аномалию. Такое лучше всего замутить по примеру воды, только ставить шейдер не искажения а обесцвечивания. + для тех же аномалий можно ввести деформацию террейна, чтобы от огненных аномалий террейн становился потресканным, а от электрических высушенным и т.п Деформация терейна, ну то есть настоящая а не бампмаппинг - это работа геометрических шейдеров, то есть >= р3-онли, и то деформация будет чисто визуальная, если например шейдерами там сделать воронку, то физика об этом даже догадываться не будет, и болт например будет отскакивать от того места где ранее была поверхность, до обработки геометрическим шейдером, а не от нового положения поверхности, с учетом работы шейдера. Сообщение отредактировал cjayho - 02.01.2017, 20:39 -------------------- Набор шейдеров для S.T.A.L.K.E.R: Shadow of chernobyl: ECB-Shaderpack -
------ Продюсер электронной музыки в стиле Dark Ambient, автор саундтрека для Desowave S.T.A.L.K.E.R.: Lost Alpha. |
 
|
|
03.01.2017, 14:05
Сообщение
#2090
|
|
Продвинутый геймер Репутация: 70 Группа: Участник Сообщений: 237 Награды: 4 Регистрация: 29.08.2009 |
|
 
|
|
08.01.2017, 17:48
Сообщение
#2091
|
|
Новичок Репутация: 1 Группа: Участник Сообщений: 7 Регистрация: 22.12.2016 |
По поводу хром. абберации в прицеле. Код ////////////////////////////////////////////////////////////////////////////////////////// // Pixel float4 main ( v2p I ) : COLOR { float2 tc = I.tc0; float x = 1/(c_screen.y*TAR); tc.x = tc.x*x + 0.5*(1-x); // float4 col = tex2D (s_base,tc); float amount = .003f; float4 col = tex2D (s_base,tc); float2 offset_fringe = distance( float2( .5f, .5f ), tc ) * float2( amount, amount ); col.r = tex2D( s_base, tc + offset_fringe ).r; col.g = tex2D( s_base, tc ).g; col.b = tex2D( s_base, tc - offset_fringe ).b; return I.c0*col; } Нужно пробовать, сам затестить не имею возможности. В таком виде шейдер делает лишнюю работу. Проще так: Код ////////////////////////////////////////////////////////////////////////////////////////// // Pixel float4 main ( v2p I ) : COLOR { float2 tc = I.tc0; float x = 1/(c_screen.y*TAR); // что за TAR и откуда он? tc.x = tc.x*x + 0.5*(1-x); // Что это вообще за черная магия, вот эта строка и предыдущая? в оригинале я такого не писал. // float4 col = tex2D (s_base,tc); float amount = .003f; // вот это лучше вывести в конфиг, это сила расслоения на цвета. // float4 col = tex2D (s_base,tc); // не нужно, float4 col = float4(0,0,0,0); // один хрен мы ниже эти значения заменяем другими. float2 offset_fringe = distance( float2( .5f, .5f ), tc ) * float2( amount, amount ); col.r = tex2D( s_base, tc + offset_fringe ).r; col.g = tex2D( s_base, tc ).g; col.b = tex2D( s_base, tc - offset_fringe ).b; return I.c0 * col; // что мы за цвет получаем в шейдер, нужен ли он тут? } Это шейдер универсальных прицельных сеток из 7 патча. 1) TAR - дефайн, 2) не писал, 3) нужен. Добрый день, давно интересует вопрос, как исправить "белые сосны" на горизонте при использовании саншафтов ЧН из ОГСЕ? Вроде как, связано с туманом - саншафты окрашиваются в его цвет, можно, конечно, его полностью убрать, но это не вариант В ЧН такого нет, проблема в ОГСЕ. Те же лучи на ТЧ работают нормально: |
 
|
|
13.01.2017, 18:17
Сообщение
#2092
|
|
Геймер Репутация: 9 Группа: Участник Сообщений: 110 Награды: 2 Регистрация: 21.09.2014 |
Кто-нибудь знает как это исправить? Края воллмарков тянутся по поверхности и вылазит вот такая шляпа на динамических объектах. Работаю на ТЧ, в рендере весьма плохо соображаю. -------------------- Cocoa not Cocaine.
|
 
|
|
26.01.2017, 23:24
Сообщение
#2093
|
|
Продвинутый геймер Репутация: 70 Группа: Участник Сообщений: 237 Награды: 4 Регистрация: 29.08.2009 |
В ЧН такого нет, проблема в ОГСЕ. Те же лучи на ТЧ работают нормально: Дык понятно, что нет, а скрины откуда? |
 
|
|
11.02.2017, 07:06
Сообщение
#2094
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Тут недавно у себя заметил, что на 1.6 на дх11 отсутствует динамическое освещение от источников огня (костры, керосинки). Но что примечательно, при переключении на дх10 или 9 - все на своих местах. Не могу понять причину, копался в юзере, решения не нашел. Настройки все на максимуме. Подскажите, где копать.
Если бы не было его и там и там, оно понятно, но не понятно, почему на дх11 нет, а на дх10 есть. Сообщение отредактировал Zagolski - 11.02.2017, 07:18 |
 
|
|
11.02.2017, 11:06
Сообщение
#2095
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
|
 
|
|
11.02.2017, 13:43
Сообщение
#2096
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Zagolski, в патчах поломали все фичи ДХ11, кроме тесселяции: https://www.gameru.net/forum/index.php?showtopic=56582
-------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
11.02.2017, 14:38
Сообщение
#2097
|
|
Самый некомпетентный на форуме Репутация: 312 Группа: Участник Сообщений: 4074 Награды: 4 Регистрация: 04.09.2012 |
RedPython, а в непропатченой ЗП всё в порядке?
|
 
|
|
11.02.2017, 19:00
Сообщение
#2098
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
Но на других источниках вроде лампад динамики на дх11 нет вообще, да и вообще свет не исходит. На дх10 все нормально. Да, многое забыли поправить для ДХ11. На данный момент следует сделать такие исправления: 1. В CustomZone.cpp исправить строку: Код bool br1 = (0==psDeviceFlags.test(rsR2|rsR3)); так: Код bool br1 = (0==psDeviceFlags.test(rsR2|rsR3|rsR4)); 2. В Torch.cpp после строки: Код b_r2 |= !!psDeviceFlags.test(rsR3) добавить: Код b_r2 |= !!psDeviceFlags.test(rsR4); 3. В ZoneCampfire.cpp изменить в функции CZoneCampfire::turn_on_script() строку: Код if( psDeviceFlags.test(rsR2|rsR3) ) на такую: Код if( psDeviceFlags.test(rsR2|rsR3|rsR4) ) 4. В этом же файле в функции CZoneCampfire::turn_off_script() изменить строку: Код if( psDeviceFlags.test(rsR2|rsR3) ) на такую: Код if( psDeviceFlags.test(rsR2|rsR3|rsR4) ) По идее что-то, да должно заработать Сообщение отредактировал SkyLoader - 11.02.2017, 19:05 |
 
|
|
12.02.2017, 18:16
Сообщение
#2099
|
|
Продвинутый геймер Репутация: 16 Группа: Участник Сообщений: 222 Награды: 3 Регистрация: 28.06.2016 |
глупый вопрос - а R4 рендер был с первой версии ЗП или его потом добавили?
|
 
|
|
12.02.2017, 18:23
Сообщение
#2100
|
|
Высший Игровой Бог Репутация: 1747 Группа: Супермодератор Сообщений: 12594 Награды: 15 Регистрация: 05.11.2009 |
mortan, насколько я помню - вроде был. По крайней мере я помню пиар-скриншоты с фичами dx11 (мягкие тени и тесселяция).
-------------------- |
 
|
|
12.02.2017, 19:00
Сообщение
#2101
|
|
Кандидат Игровых Наук Репутация: 546 Группа: Участник Сообщений: 3016 Награды: 8 Регистрация: 21.04.2010 |
глупый вопрос - а R4 рендер был с первой версии ЗП или его потом добавили? В 1.6.00 уже был r4 -------------------- |
 
|
|
Текстовая версия | Сейчас: 03.05.2024, 00:07 |