Графика, рендер, шейдеры |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Графика, рендер, шейдеры |
17.08.2010, 10:38
Сообщение
#4481
|
|
Игроман Репутация: 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 |
 
|
|
|
|
06.02.2022, 18:29
Сообщение
#4482
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
xroo, на статике наложение лайтмапов на динамические объекты происходит следующим образом: есть специальный набор шейдеров который накладывает только лайтмап, без диффузной, детальной и прочих текстур. Есть динамический объект на который нужно наложить лайтмап и известна его коробка, то есть его размеры и положение в пространстве. Камера ставится в центр верхней грани коробки и смотрит вниз, вся геометрия масштабируется на 1.0/ширина_коробки и 1.0/длинна_коробки по осям X и Z соответственно, после чего происходит рендеринг в текстуру с использованием специального набора шейдеров, грубо говоря делается скриншот земли/пола под динамическим объектом, который потом можно наложить на модель так же как лайтмапы накладываются на статическую геометрию.
|
 
|
|
06.02.2022, 18:59
Сообщение
#4483
|
|
Игроман Репутация: 218 Группа: Участник Сообщений: 853 Награды: 4 Регистрация: 01.07.2009 |
Хм. Звучит замудрёно. В любом случае нужно проверить работает ли это на динамике на ЗП.
Сообщение отредактировал xroo - 06.02.2022, 19:21 -------------------- |
 
|
|
06.02.2022, 21:05
Сообщение
#4484
|
|
Игроман Репутация: 218 Группа: Участник Сообщений: 853 Награды: 4 Регистрация: 01.07.2009 |
Ребят. Я только что совершил открытие, с которым дальше не знаю как жить.
Пытался сделать Reinhard Tonemap для ЗП, в канец пайпа, то есть в конец combine_2.ps писал формулу, работал он как будто у него там LDR картинка, а не HDR. Оказалось, что так и есть. Сначала в combine_1.ps складываются все буферы и получается финальная картинка, туда же суётся ssao, потом производится tonemap, после чего HDR картинка становится LDR, а следующим на очереди идёт рассчёт Bloom по LDR картинке и наложение его сверху с уродливым зашкалом. Какой трындец. Я просто в шоке, если честно. Я разочарован. А зачем так делать? Как им такое в голову пришло то? )) Неужели это сильно повысило производительность? Ладно. Справедливости ради нужно сказать, что тонмапинг выдаёт два результата: один для финальной картинки, другой "8x dynamic range" для блума. Но потом то это всё тупо складывается с отвратительными на вид зашкалами. Сообщение отредактировал xroo - 06.02.2022, 21:20 -------------------- |
 
|
|
06.02.2022, 21:22
Сообщение
#4485
|
|
Продвинутый геймер Репутация: 24 Группа: Участник Сообщений: 398 Награды: 4 Регистрация: 30.09.2015 |
xroo,
Цитата Как им такое в голову пришло то? пришло же решение сделать огромные локации с низкой детализацией и отвратные растянутые небеса |
 
|
|
06.02.2022, 21:39
Сообщение
#4486
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
Хм. Звучит замудрёно. В любом случае нужно проверить работает ли это на динамике на ЗП. Ну это на R1 рендере то что я написал, на R2 щас глянул, как я понял хеми для динамических объектов считается рейтрейсингом. Примерно так же как комплиятор запекает один пиксель лайтмапы. И плавно обновляется при изменении позиции объекта. |
 
|
|
06.02.2022, 21:57
Сообщение
#4487
|
|
Ветеран Репутация: 13 Группа: Участник Сообщений: 79 Регистрация: 26.03.2021 |
сделать огромные локации с низкой детализацией Товарищ, вы видели, как они моделируют? -------------------- Если я усну и проснусь через сто лет и меня спросят, что сейчас происходит на гомерудотнет, я отвечу:
Цитата В данный момент обсуждение политических и военных российско-украинских событий запрещено во избежание разжигания межнациональной розни. В тех же целях запрещаются аватары и подписи с государственными символиками. К пользователям, игнорирующим этот запрет, будут применены санкции. |
 
|
|
06.02.2022, 23:14
Сообщение
#4488
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
Касательно шейдеров. Есть ли смысл сокращать повторяющиеся участки кода в #ifdef ... #else ... #endif?
К примеру: sload.h CODE
sload.h CODE
|
 
|
|
06.02.2022, 23:41
Сообщение
#4489
|
|
Игроман Репутация: 218 Группа: Участник Сообщений: 853 Награды: 4 Регистрация: 01.07.2009 |
Поразительно даже не то, что блум накладывается после тонмапинга. А то. что до места, в котором он накладывается, основная картинка доезжает LDR. Куда деваестя HDR между combine_1.ps и combine_2.ps я не могу понять, потому что я не очень понимаю какой вообще файл отвечает за рендер пайплайн, и можно ли его поправить. не исправляя движок.
А ещё в combine_1 нельзя работать со всем кадром целиком, поэтому если блум наложить там, то он не наложится на небо. Надо как-то заправить hdr картинку в combine_2 -------------------- |
 
|
|
07.02.2022, 00:25
Сообщение
#4490
|
|
Игровой Бог первой степени Репутация: 432 Группа: Участник Сообщений: 8787 Награды: 4 Регистрация: 21.03.2013 |
Тот самый рендер программист уже постаревший всякое рассказывал.
Он изрядно махался с устаревшим движком и отсутствием многопотока, это всегда поиск упоротых компромиссов абы работало бы хоть как-то. На тот момент это видеокарты уровня nvidia 8800, в 2009 все еще плотно сидят на win XP (прикрутка dx10 и 11 это скорее из-за каких-то договоренностей и контрактов) Игорь работал над совершенствованием графики в области DirectX 10 и 10.1, занимался шейдерами. Во второй половине мая 2008 вместе с Олегом Яворским отправился в США в город Санта-Клара в штаб-квартиру NVIDIA. Там 21 мая выступил с некоей презентацией. (показал им дилд с болотами и лучиками, мол давайте деньги и мы будим показывать фичи продающие видеокарты) не помню дату когда показали dx10 demo Clear Sky...наверно с ней они к ним и ехали, потом опубликовали. В июле к нему присоединился программист графики Михаил Парфенюк, вместе с которым они занимались портированием игры на консоль Xbox 360 вплоть до своего увольнения. (Где-то есть дилд ЧН для бокса) + + + + + GSC: DX10 не стоит усилий разработчиков Компания GSC Game World, создатель игры S.T.A.L.K.E.R., признаёт, что усилия по реализации возможностей Direct X 10 в играх на данном этапе жизни API по существу являются пустой тратой времени. «DX10 гораздо более богат и гибок по сравнению с DX9, но, качество изображения графики, достигнутое за время существования последнего, настолько высоко, что инновации, которые могут быть интегрированы в игры за довольно короткое время, будут просто незначительны и не стоят тех денег, времени и усилий, которые потратятся на их интеграцию» - заявил CVG программист по графике в GSC Игорь Лобанчиков. Кроме того Лобанчиков сказал, что база инсталляций систем с DX10 тоже влияет на издателей и разработчиков. «Решение компании выпустить DX10 только для Windows Vista только сузило и без того узкий рынок»,- добавил Лобанчиков. Мы спросили Лобанчикова, согласен ли он с мнением, озвученным Марком Рейном (Mark Rein) из Epic, что аппаратная часть нынешних консолей – ограничивающий фактор для принятия Direct X 10 разработчиками и издателями. «В контексте данной ситуации я бы не ставил вопрос именно так. События вокруг DX 10 развивались так, что выход консолей следующего поколения никак не повлиял на нынешнюю позицию DX10». Он продолжил описывать переход на DX10 как сложно мотивируемый с финансовой или любой другой стороны процесс, «который, в конечном счёте, замедляет овладевание технологией», и добавил, что разработка игр – процесс долгий, и что нужно время, чтобы отработать новые техники, и на то, чтобы их преимущества стали видны. Право, неужели это значит, что GSC отложила в долгий ящик свои планы по реализации Direct X 10 рендера в S.T.A.L.K.E.R.: Clear Sky? Ну, если бы вы на это поставили бы, вы бы проиграли. Это заставляет нас задуматься над комментариями Лобанчикова, но вместе с тем DX10-рендер всё еще планируется, хотя разработчик и говорит, что всё еще не ясно, какие функции будут представлены «так как, пока мы говорим, идут эксперименты». взято 4 сентября 2007 года вышла новость, в которой Игорь высказал сомнение о правильности и внедрении технологии DirectX 10 в игру Игорь высказал сомнение по поводу правильности такого решения. Сообщение отредактировал Ruw - 07.02.2022, 01:07 -------------------- |
 
|
|
07.02.2022, 01:08
Сообщение
#4491
|
|
Игроман Репутация: 218 Группа: Участник Сообщений: 853 Награды: 4 Регистрация: 01.07.2009 |
Кароч. Теперь тонпаминг у меня идёт после блума. Но страшный костыль я сделал!
Было - стало Подробности костыля Для начала в combine_1.ps Код Закоментировал это: // tonemap(o.low, o.high, color, tm_scale); Добавил из него себе вот это: o.low = color.rgbb * 0.25; // divide by 4 - goes to next steps o.high = color.rgbb * 0.125; // divide by 8 - goes to bloom only o.low.a = skyblend; o.high.a = skyblend; Затем в combine_2.ps я закоментировал всё. связанное с img. т.е. пока у меня нет ни DOF ни mblur. Может потом починю. Затем я добавил: Код float4 img = s_image.Sample( smp_nofilter, center); float4 bloom = s_bloom.Sample( smp_rtlinear, center); res.Color += img; // здесь я делаю чудовищные вещи - выбираю где у меня небо по тому, что случайно завалялось в альфе, и утемняю так, // как утемнил в combine_1 - в 4 раза. res.Color *= 0.25 + 0.75 * step(img.a, 0.00001); // возвращаю яркость назад, но теперь у меня есть инфа больше единицы, которую можно тонмапить. res.Color *= 4; res.Color += combine_bloom( img, bloom ); // это я выдернул из функции tonemap const float fWhiteIntensity = 1.7 * 1.7; res.Color = ( (res.Color*(1+res.Color/fWhiteIntensity)) / (res.Color + 1) ); Усветление скайбокса - баг, у блума скайбокс оказывается светлым по какой-то причине. Там стопудово будут баги с туманом, потому что нельзя просто взять и сделать step(img.a, 0.00001) ) На ЗП эту дич я ещё не проверял. [UPD] Важно: я ставлю опыты на OXR на R4. Сейчас проверил на стимовских бинарниках - не пашет. Будто вместо combine_1 другой шейдер использует. А на OXR не работает автоэкспозиция, кторая на стимовских есть. Сообщение отредактировал xroo - 07.02.2022, 02:47 -------------------- |
 
|
|
07.02.2022, 02:52
Сообщение
#4492
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
07.02.2022, 03:03
Сообщение
#4493
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Эксперименты продолжаются. Отражения через решейд? А как определяется материал, на котором отражать? Тот самый рендер программист уже постаревший всякое рассказывал. Посмотрел презентацию про распараллеливание - на удивление я себе примерно так и представлял, что на заре реализации это был костыль на костыле Теперь понятно, почему при использовании старых приложений (в т.ч. сталкера) в таск менеджере всегда одно ядро загружено - всё нужно буквально вручную раскидывать. Кстати с академическим курсом в вузе практически ничего общего не имеет, разве что базовые понятия. -------------------- |
 
|
|
07.02.2022, 03:52
Сообщение
#4494
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
07.02.2022, 04:24
Сообщение
#4495
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Очевидно, определяется геометрически. Чем горизонтальнее, тем лучше. Террейн с травой тоже горизонтальный. -------------------- |
 
|
|
07.02.2022, 05:15
Сообщение
#4496
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
07.02.2022, 07:32
Сообщение
#4497
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
Тов. Diesel, мне тут мысль пришла. А может такой сильный пересвет при hemi больше 0 получается, потому что компилятор изначально настраивался на кривом мониторе? Или за последний год появились идеи это исправить? Компилятор выше ноля не настраивался. И смысл править хеми, если там нет лайтмап? Это просто оттенок, это шейдерно править можно. Выше в теме xroo подобное делает. Не нужно хеми выше ноля - это только удлинит процесс и испортит картинку. На зависть Руву, в ЧН бывшем движке, тени ого-го. На всю локацию. Короче, я тут по востребованию, а то я кого то раздражаю на этом сайте ( тролей местных). Если, что то я тут: |
 
|
|
07.02.2022, 09:50
Сообщение
#4498
|
|
Игроман Репутация: 218 Группа: Участник Сообщений: 853 Награды: 4 Регистрация: 01.07.2009 |
Рендердок не хочет открывать стимовский CoP.
Код Core PID 18708: [08:47:43] win32_process.cpp(521) - Log - Running process D:\SteamLibrary\steamapps\common\Stalker Call of Pripyat\bin\xrEngine.exe Core PID 18708: [08:47:43] win32_process.cpp(560) - Warning - Process D:\SteamLibrary\steamapps\common\Stalker Call of Pripyat\bin\xrEngine.exe could not be loaded. подменяешь бины на oxr - начинает. В чём прикол? -------------------- |
 
|
|
07.02.2022, 11:19
Сообщение
#4499
|
|
Игроман Репутация: 218 Группа: Участник Сообщений: 853 Награды: 4 Регистрация: 01.07.2009 |
Попытка №2. Первая почему-то выглядела хорошо в SDK, а в игре - нет.
Работает только на OpenXRay. На стимовской ванилле почему-то не работает. Подробности В конце shaders/r3/combine_1.ps должен выглядеть так: Код // tonemap (o.low, o.high, color, tm_scale ); o.low = color.rgbb * tm_scale; o.low *= 0.25; o.high = color.rgbb * tm_scale * 0.125; o.low.a = skyblend; o.high.a = skyblend; В shaders/r3/combine_2.ps Код res.Color += combine_bloom( img, bloom ); заменить на Код img *= 4.0; res.Color += combine_bloom( img, bloom ); const float fWhiteIntensitySQR = 1.7 * 1.7; res.Color.xyz = ( (res.Color * (1 + res.Color / fWhiteIntensitySQR)) / (res.Color + 1) ).xyz; Т.е. мы перестаём использовать функцию tonemap из common_functions.h и повторяем её работу в двух разных местах. [UPD] Небо становится пересвеченным, я не имею ни малейшего представления о том каким образом его утемнить до исходного значения. Инфы о том где небо в combine_2 не подают, в альфе картинки не только небо, но и вода и листики. Может быть, можно их оттуда убрать. но я не знаю как. В целом, пересвет на небе - это даже красиво. Можно вместо увеличения дин диапазона в 4 раза увеличивать его раза в 2-3. Всё равно сильные засветы пропадают и ладно :-) Попробую поиграть в ЗП, посмотреть как это в целом выглядит и играется в разных местах с разным освещением. Сообщение отредактировал xroo - 07.02.2022, 12:04 -------------------- |
 
|
|
07.02.2022, 11:51
Сообщение
#4500
|
|
Игровой Бог первой степени Репутация: 432 Группа: Участник Сообщений: 8787 Награды: 4 Регистрация: 21.03.2013 |
но я не готов ради теней отказаться от остальных моментов игры ЧН это комплексная штука в сумме с ностальгией из 2008 г. Толкьо ради теней можно было бы установить другую игру и всё...и играть в тени вы увлекаетесь одним аспектом и забывает о сумме остальных (в ЧН начав искать тайники я про тени уже не вспомню) то что ты показываешь скрин это мне напоминает Zelda botw эмуле только при всех достоинствах и механиках геймплея, можно высматрить моменты с красивыми тенями облаков захватывающе плывущими по полю.... Я даже не помню какие тени в Курваке 3 настолько увлекательная игра, что я тени не высматривал только сейчас полистав скрины могу че-то припомнить -------------------- |
 
|
|
07.02.2022, 17:21
Сообщение
#4501
|
|
Босс Репутация: 257 Группа: Участник Сообщений: 4151 Награды: 4 Регистрация: 15.08.2008 |
|
 
|
|
Текстовая версия | Сейчас: 09.05.2024, 21:19 |