Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Гиперзвуковой рендер
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4
Дизель


Новое направление в развитии устаревающего рендера x-ray (добить окончательно).
Например, компиляция локации Болота занимала более 48 часов, то сейчас немного более часа ( у мощных компов и того меньше часа будет).
Кто то сочтёт этот рендер отстойным, но извините, есть любители статического рендера, я промолчу.

Что нового:
Что нам даёт такой метод? Экономию времени. Задел на большие локации. Оптимизацию.

Что было ранее:
То свет отключат, то нечаянно кто нажал на красную кнопку, то комп не реагирует на параллельные действия.

Короче, я не Л.Н.Толстой, что бы писать, сразу к делу:

Вот ресурсно-модернизированая база ЧН с форсированным движком SCS-3 и перекомпилироваными локациями ЧН (из под конвертера Бардака напрямую).
Компилятор геометрии внутри. Описание там же. Кто желает получить лучшее качество, то ищите оригиналы локаций, а не из под конвертера.
В компиляторе имеется HD компиляция геометрии (подробности позднее), это для продвинутых дизайнеров.

Постскриптум: для внедрения таких локаций в движок, требуется вырезать ассерты.
Код компилятора пока будет закрыт, до появления стандарта локаций. Иначе будет шалтай-болтай в совмещении.
Ждём "дембелизации" ForserX, для внедрения в Oxigen x64, тогда будем открывать код компилятора.

Идея компилятора принадлежит сообществу, а правки кода мне (Дизель).

Так как эта тема первая в новом направлении, первые локации несём сюда.
Задаём вопросы, если появятся непонятки. Ну, и так далее.

Локация marsh ЧН GiperSound.
Правка сглаживания.
Время компиляции геометрии: 1 ч. 48 мин.
https://yadi.sk/d/stUgVywRXrGdkg


Локация agroprom ЧН GiperSound.
Правка сглаживания.
Время компиляции геометрии: 34 мин.
https://yadi.sk/d/WnihR4kDqHs-Gg


Переходник на локации без лайтмап:
https://yadi.sk/d/n9dTzGIRaAZPfA

Актуальный giper_fixx6 от macron для проекта SCS-3 https://yadi.sk/d/FFcA4UotMKRNrQ
xrModder
ForserX не забрали в армию.
Xottab_DUTY
Дизель, а что из себя представляет идея компилятора? В каком сообщении на форуме эту идею найти?)

P.S. ты так и не рассказал о чём тема и что за компилятор.

xrModder, он уже больше месяца в армии, вообще-то.
xrModder
Xottab_DUTY, с частым заходом в сайт и даже с добавлением коммитов чёт не вериться что ForserX в армии. Сам тов. Giperon намекал что он не пошел в армию.
Дизель
Xottab_DUTY, например ForserX так же вынашивал такую идею.
О компиляторе, что я могу сказать: там ничего нового, только чики-брикке и в мусорку лишнее. Немного накручено мощности в просчёте.

При желании можно и x64 заделать, но я там не шарю. Может кто и переделает, а мне и так пока зайдёт. Для ЧН много не надо.
Дизель
Цитата(Xottab_DUTY @ 15.08.2019, 08:45) *
P.S. ты так и не рассказал о чём тема и что за компилятор.


Долго я напрягал мозги, как ответить на этот постскриптум: ты не Лунтик случайно? biggrin.gif
Откуда то свалился.

Извиняюсь, тема о рендере без статического света и лайтмапов.

macron
А теперь немного срача.

1. Не понял, зачем config.ini дублируется и в корне, и в temp. В случае проблем происходит путаница, не знаешь, какой править. В итоге правишь оба.

2. Win7 x64 + AMD RX580. Вылет в черный экран сразу при запуске. Снимается через диспетчер задач. В конце лога такие строки:
Цитата
Starting engine...
Loading DLL: xrGameSpy.dll
stack trace:

0023:721B7904 d3d11.dll
0023:721B753C d3d11.dll
0023:72163E5A d3d11.dll
0023:0429F48A rClient.dll

Лечится заменой в обоих config.ini строчки renderer renderer_r3 на renderer renderer_r2, либо на renderer renderer_r4. После этого игра работает хотя бы до меню. Но при старте новой игры вылет по Not enought textures for shader, base tex: crete\crete_walls_02 из-за неподходящего рендера.

3. UPD: еще тестил, с пятого-десятого раза получается иногда завести на r3. Видимо, сбоит в момент инициализации рендера.

4. Новый баг. В 1280x1024 не могу нажать на первый же диалог. Курсор тупо ниже не опускается. Красным заштриховал, куда курсор не идет.
Дизель
macron, в конфиге разрешение у меня не стандартное.
В корне измени на 800х600, а из темпа удали.'
Два конфига: один движковый в корне, и темп для юзера.

renderer renderer_r3 - работает только он, других делок нет, потому даже не пытайся менять.

Запуск долгий, потому советую ждать. И не включай браузер (Мазилу особенно).

И еще, так как нет не одной сетевой локации, то сетевую игру не нажимай.
Я скоро добавлю патчем хотябы одну локацию для онлайна.

Я сегодня на COP версии эти локации опробую. Там рендер нормально заводится. В ЧН версии там только у меня однако нормально работает, так как нет DX11.

Придётся старый проект доставать.
macron
Цитата(Дизель @ 15.08.2019, 16:36) *
В корне измени на 800х600, а из темпа удали.'
Два конфига: один движковый в корне, и темп для юзера.

В корне изменил на 800х600, а в темпе оставил 1280x1024. Глюк диалога вылечился.

Цитата(Дизель @ 15.08.2019, 16:36) *
И не включай браузер (Мазилу особенно).

Браузер не включал, но вылет остался. Либо сразу черный экран с виндячьим курсором, либо в начале юбисофовского интро, либо таки нормально грузится в меню, и далее можно играть. Может движку времени не хватает на инициализацию? У меня проц на 4650 MHz разогнан, если че.
Дизель
Цитата(macron @ 15.08.2019, 20:48) *
Браузер не включал, но вылет остался. Либо сразу черный экран с виндячьим курсором, либо в начале юбисофовского интро, либо таки нормально грузится в меню, и далее можно играть. Может движку времени не хватает на инициализацию? У меня проц на 4650 MHz разогнан, если че.

Бывает и у меня глючит. Грешу на отсутствие R2.dll
Раньше, когда все делки были, то часто R2 искал. А при вылетах то и в R1 сваливался.
Дизель
Патч SCS-3 LEVELS BETA TEST
Добавляет сетевую локацию mp_agroprom (баг в меню на сетевой игре). Локация в формате гиперзвука.
Исправлен материал dirt (очередной раз).
Исправлено расширение монитора в конфиге на 800х600 по дефолту (был не стандарт, курсор не работал по всему экрану).
https://yadi.sk/d/J5dN2rVnLpSvmA



В следующем патче буду исправлять локации (сглаживание). Подобрал здравый вариант настроек билда.
Дизель
Локация marsh ЧН в формате GIPERSOUND.
Сглаживание почти оригинальное, как от ПЫС.
Время компиляции геометрии: 1 ч. 48 мин.
https://yadi.sk/d/stUgVywRXrGdkg

Скрины


Если честно, я даже порой не вижу разницы, что с лайтмапами, что без. Не бросается в глаза их отсутствие.
Короче, велкам дизайнеры!
macron
Цитата(Дизель @ 15.08.2019, 20:33) *
Исправлено расширение монитора в конфиге на 800х600 по дефолту (был не стандарт, курсор не работал по всему экрану).
Еще совет: если глючит курсор, не двигаясь по всему экрану, ставьте разрешение рабочего стола в windows, такое же, как и в игре.

Собрал еще несколько фиксов (можно ставить отдельно по необходимости):
-в ui_movies.xml отключена лого-заставка, больше нет вылета при запуске
-исправлен односторонний луч от прожектора (взято из мода "Антимыло для ЧН")
-исправлена чернеющая трава вдали на всех сингловых уровнях (взято из мода "Антимыло для ЧН")

https://yadi.sk/d/EozvLeENk1aMPQ
Дизель
macron, спасибо за патч.
Хотел до Агропрома добежать, затестить локацию. Ага, где там. С логикой Bak, только с читами бегать.
Завтра добегу.

Вот локация agroprom ЧН стандарта GiperSound с новым сглаживанием.
Время компиляции геометрии: 34 мин.
https://yadi.sk/d/WnihR4kDqHs-Gg

Кордон пробегал, обратил внимание, что нет лайтмап, как бы заметно на зданиях, но не страшно.
Это такой рендер, когда всё одинаково, то пойдёт.
macron
Чего не хватает, так это "sunmask" - псевдотеней облаков по земле, даже если в common.h разблокировать. Мне еще много лет назад писали, что на dx10 эта фишка почему-то вообще не пашет.
Дизель
Цитата(macron @ 16.08.2019, 13:19) *
Чего не хватает, так это "sunmask"

Гляну код в движке. Всё возможно. У меня R3 солянка, чего там только нет. Каскадных теней раньше небыло, теперь есть. А намокание какое, что даже у ed_rez видяха глючит.
Дизель
macron, у меня есть в коде у R3

r2_types.h
#define r2_sunmask "sunmask"


blender_light_direct.cpp
dx10RainBlender.cpp
C.r_dx10Texture ("s_lmap", r2_sunmask);

s_lmap смотреть надо все шейдера и код (много вырезано разрабами)

void CBlender_accum_direct::Compile(CBlender_Compile& C)

void CBlender_accum_direct_msaa::Compile(CBlender_Compile& C)


Шейдер:
accum_sun_far.ps

shadow.h
Может это не даёт?
#ifdef USE_SUNMASK

common.h
// #define USE_SUNMASK //- shader defined


А тут что?
OLD - r_Sampler
NEW - r_dx10Texture
Дизель
Я не особо то шарю в шейдерах. Когда нибудь решим проблему с тенями от облаков
Дизель
macron, s_hemi - нужно использовать.
На локации нет слоя s_lmap - я же его вырезал. laugh.gif

А если делать в хеми, то шейдеры надо переделывать.

Хеми реагирует, но я не разобрался пока. На скрине тень вокруг ГГ (тень очень огромная, смотреть в даль).

ForserX
xrModder, 2 РТБ 2 РЛР 51858 Матыра. Если не веришь, приезжай на КПП, заодно можешь мне сигарет привезти.
ed_rez
Дизель,
ты несколько не прав. Я уже очень давно начал прорабатывать схему отделения статики от динамики, были примеры компиляций локаций, были такие же результаты, но "старые пердуны" задавили. Я, как продвиженец, никак не знаток программирования не смог за авторитетом других именитых "пердунов" уйти дальше, ибо все накрылось "медным тазом".
Когда я тебе дал направление, ибо не ожидал, что двинешь по тем же направлениям, которым уже шли и уйдешь дальше, добьешься результатов, которые будут не только на наших "железяках", при этом дал некоторый задел для мыслей, когда писал, что "скорость компила увеличивается в разы".
Одна печаль. Я сам имел опыт компила локации Кордон на максах в 10 минут только для динамического освещения. Ровно, как и прежде, даю повод для прогресса. Я давно растерял тех ребят. Эх, не тот сайт, ой и начнется же давка моего ника. Тут "пердунов" со статичным мышлением больше, чем где либо.
Благодарю тебя, что начал продвигать тему здесь. Бегло пообщался в разных темах, увидел людей, кто реально может влиять на решения.
И да, я за движением проекта, уже начал подготовку модельного ряда. Стоит подумать о положении "лежа" в движке, со всеми вытекающими, шейпы, особенностями...
macron
Всё же рендер еще нестабилен. Несколько раз не покидая лагеря, ловил вылеты в черный экран во время игры... Может, x64-версия будет стабильнее, если когда-нибудь появится... Или нужны еще хз какие правки исходников.

Кстати, вспомнил, что с 2008 года так и не запускал на ЧН ничего кроме болота. Уровни использовал только для портирования в mp ТЧ. Неплохо бы в сборку добавить сохранений с разных уровней.
macron
Насчет sunmask - вроде разобрался. В common.h были заблокированы не только дефайны построчно, но на самом деле еще вся секция неприметным значком /*. Поэтому включение оттуда роли не играло. Далее начиналась путаница с дождем с переменной m_sunmask. В общем, сейчас кое-как заработало. Еще прикручиваю пару эффектов.

А то, что яркость/гамма выкручена - это вроде как из-за баги, что всё черное? И скрины очень темные получаются из-за этого. С определенными пересветами получилось поправить, но надо еще дорабатывать... Вот картинки на дефолтной яркости/гамме:

Дизель
ed_rez, интригант? Боюсь даже представить, какой твой ник был раньше. Ладно, я тоже не Дизель, был простым andreyholkin. biggrin.gif


macron, да скроее всего рендер нестабилен из-за буфера шейдеров. Удивительно, что это еще работает.
Как можно рендер ЗП упаковать в компиляцию шейдеров ЧН. А тут это работает.
Дизель
macron, https://yadi.sk/d/g0G63vqdzSSJIA

Вот на Кордоне сохранка. Тут я болота не проходил, телепартнулся на Кордон. Так что тут нет сюжетки.

Вернее есть сюжет, начиная с Сидоровича, почти как в ТЧ.
ed_rez
Дизель,
никогда им не был и ник всегда был один. Всегда продвигал прогрессивные взгляды.
И очень рад твоим успехам.
Дизель
Есть конфликт погоды из SGM (ЧЕРНЫЙ ДЕНЬ называется) с погодой Атмосфир, это видно по солнцу быстро перемещающемуся в небе.
Я раньше уже вырезал погоду SGM, а тут она опять затесалась. Исправлю скоро - надеюсь это она, шутит.

blackday , там очень много включений. black_day - и так в поиск вбивать.
cjayho
QUOTE (macron @ 17.08.2019, 05:22) *


Скрины симпотные, но в обязательном порядке нужно включать ambient occlusion раз пререндеренный выкосили.

Дизель, чтоб вы примерно понимали что вы выкосили, это имитацию распространения света в углах геометрии, вот примерно как выглядит ambient occlusion на незатекстуренной геометрии:



(на размытие по краям не обращаем внимания)

естественно без АО тут был бы просто серый лист.

QUOTE (ed_rez @ 17.08.2019, 00:56) *
Я уже очень давно начал прорабатывать схему отделения статики от динамики, были примеры компиляций локаций, были такие же результаты, но "старые пердуны" задавили.


дело не в старопердунстве а в том что если нет возможности сделать нормальный расчет отраженного освещения в реальном времени, волей неволей приходится пользоваться заранее просчитанными текстурами. А без них картинка делает огромный шаг назад, скатываясь в уровень 2002-2003 года.

вот сравнение:

Дизель
cjayho, неправильно. Это ты за рендер статики dx9 толкуешь.
Было бы так
Скрин

Так и есть
macron
Цитата(cjayho @ 17.08.2019, 13:06) *
нужно включать ambient occlusion раз пререндеренный выкосили.
Так лучше?


Цитата(Дизель @ 17.08.2019, 08:07) *
скроее всего рендер нестабилен из-за буфера шейдеров.

Предлагаю на всякий случай в движке увеличить: DVB до 6144K, DIB до 1024K.

ЗЫ: а SSAO из видеоопций специально удалили? Так то оно вроде работает.
Дизель
macron, ssao - я для себя вырезал из меню. У меня неприятные точки на нпс рожах от этой приблуды.
Посчитал, что и у других так же. Можно вернуть, всё там работает.

DVB, DIB - поищу, я не дошёл до этого. Да и не знал, что это.
А что это даст?
macron
Ok, ковырнул видеоопции, еще добавил "адаптацию зрения" (r2_tonemap) чтобы было проще переключать.

Цитата(Дизель @ 17.08.2019, 16:32) *
DVB, DIB - поищу, я не дошёл до этого. Да и не знал, что это.
А что это даст?

DVB (Vertex buffer), DIB (Index buffer) - при запуске движка в логе пишут свой размер.
Буферы, в общем. На ТЧ при дефолтном DVB в сложных локациях или сценах на r2 вылетал рендер. Портированное ЧН-болото тоже вылетало. Сначала снижали дальность видимости, потом научились хексом патчить экзешник, увеличивая DVB и на всякий случай DIB.
На ЧН/ЗП конечно, немного другая система, но на всякий случай лучше тоже увеличить.
Modera
Цитата(macron @ 17.08.2019, 16:51) *
Буферы, в общем.

Если кому интересно, это буферы для геометрии которая изменяется каждый кадр. С их использованием рисуется трава, дождь и много чего ещё.
Дизель
macron, в движке было:

int rsDVB_Size = 512+1024;
int rsDIB_Size = 512;


void _VertexStream::Create ()
{
mSize = rsDVB_Size*1024;
}

Кстати эта приблуда в консоли править возможность закоментирована:

// CMD4(CCC_Integer, "rs_vb_size", &rsDVB_Size, 32, 4096);
// CMD4(CCC_Integer, "rs_ib_size", &rsDIB_Size, 32, 4096);

Можно раскоментировать и в консоли торкать.

Я тут sunmask на s_hemi в движке перетащил, только толку ноль.

Увеличил буфер. Пытаюсь понять, что изменилось?


У DX10 свой буфер и эти цифры туда не лезут однако.

macron, https://yadi.sk/d/Mbm1Ra2_ITnNRw
Увеличеный буфер + sunmask -> s_hemi
macron
Цитата(Дизель @ 17.08.2019, 17:21) *
Увеличеный буфер + sunmask -> s_hemi


UPD: поправил формулу. Теперь и через s_hemi работает.
macron
Вот fixx2. Подробности в readme.

https://yadi.sk/d/nhwmGG_iqhehFQ


Из графических глюков пару раз замечал артефакты при дневном дожде. Хз, может связано с конкретной видеокартой/дровами/кешами и т.п.
Дизель
macron, дождь косячит у ed_rez так же. Причина в дожде из ЗП. Я возвращал дождь из ЧН, глюки пропадали, но и колизия тоже, Там у меня не срастается форма, доведу до ума и скину позднее фикс.

Правку заценил, видок другой. Размытие что ли переборщил, а так отлично.

Забыл тени от облаков заценить - пойду посмотрю.

macron, отлично. Облака работают. Сразу видно спец. Я так и не разобрался.

Размытие нормально, это у меня шары не сразу адаптировались к картинке.

Дизель
https://yadi.sk/d/ddZkyKkqkp9Ffw

Дождь из ЧН. Намокание заметно меньше, но и баги должны исчезнуть на некоторых видеокартах.
Рендер содержит правки для патча от macron (увеличеный буфер + sunmask ->s_hemi).

У меня и раньше дождь не бажил, и намокание было лучше, чем в ЧН.
Дизель
Красота - macron знает дело.

Я там давным-давно небеса засветлил. Может их притушить? Например, как в оригинале ЧН 0.33.

#ifdef USE_CINEMATIC
sky *= 0.63f;//делаем небо ярче при CINEMATIC-эффекте
#else //not USE_CINEMATIC
sky *= 0.55f;
#endif //USE_CINEMATIC

А у меня, облака еле видно. Не страшно, я привык к ярким небесам. Но есть люди, которые щуряться.


macron, у тебя всё наоборот работает в меню.
Кнопка активна - темнее, кнопка пассивна - светлее.

#ifdef USE_CINEMATIC
sky *= 0.63f;//делаем небо ярче при CINEMATIC-эффекте
#else //not USE_CINEMATIC
sky *= 0.55f;
#endif //USE_CINEMATIC
Дизель
Я для себя убавил немного. Темновато однако.


А у меня вопрос к ПЫСам: Вы чё, не могли синей изолентой, такой рендер прикрутить?


Сглазил. Поймал зависалово на ESC при возврате в игру, после смены настроек.
macron
Цитата(Дизель @ 17.08.2019, 23:15) *
Я там давным-давно небеса засветлил. Может их притушить? Например, как в оригинале ЧН 0.33.
Можно вообще, внутрь условий добавить еще условие с отдельной переменной привязанной в движке к новой консольной команде, и потом добавить пункт типа "супер-яркое небо" в видеоопции.

Цитата(Дизель @ 17.08.2019, 23:15) *
у тебя всё наоборот работает в меню.
Кнопка активна - темнее, кнопка пассивна - светлее.
Опция "Адаптация зрения" это r2_tonemap. При рекомендуемых настройках (а это еще несколько r2_tonemap* параметров) примерно так и должна работать. Смотрим в землю, потом резко переводим взгляд на небо - оно сначала чуть слепит, потом темнеет. Смотрим из центра дома в окошко на улицу/небо - тоже кажется ярким, но чем ближе подходим к окну, тем темнее. Конечно, комбинаций параметров может быть множество, и играться с ними можно годами, я рекомендовал те, которые делал для ТЧ. Вот мне еще в "ARMA 2" эффект адаптации нравился, там вообще как-то очень сильный контраст был при переводе взгляда.

Кстати, vsync не работает. В меню 2500 fps. У некоторых видюхи могут зыдымиться. На эту тему в разных исходниках, начиная с ТЧ, уже должно быть много правок.
xrModder
Цитата(macron @ 18.08.2019, 03:34) *
Кстати, vsync не работает. В меню 2500 fps. У некоторых видюхи могут зыдымиться. На эту тему в разных исходниках, начиная с ТЧ, уже должно быть много правок.

Есть какое-нибудь исправление для нативного движка ТЧ?
macron
Цитата(xrModder @ 18.08.2019, 00:39) *
Есть какое-нибудь исправление для нативного движка ТЧ?

Возьми экзешник из моей сборки 1.0007.
https://www.gameru.net/forum/index.php?show...t&p=1661247
Дизель
macron, rs_v_sync

В движке есть. У DX10 вырезано.

Судя по коду, то вообще не доделано. И в GI куда то лезит.
Там только для DX9 есть рабочий вариант.
Попробую из DX9 взять хвост.
Дизель
Мутная тема с синхронизацией. Разрабы не стали делать, а я нуб вообще.
zibit_93
Цитата(macron @ 18.08.2019, 00:34) *
Кстати, vsync не работает. В меню 2500 fps. У некоторых видюхи могут зыдымиться. На эту тему в разных исходниках, начиная с ТЧ, уже должно быть много правок.


Надеюсь, не такое исправление, как сделали ПЫС, после установки которого инпут лаг чуть ли не в секунду становится?
Дизель
Кто первый принесёт на тест супер-гигантскую локацию с текстурами Сталкера ЧН или ЗП?
Посоветуйте, какую локацию конвертнуть? Просто интересно время какое будет в компиле.
Нужно типа объединённых локаций Сталкера, но не ТЧ вариант. Текстуры переделывать неохота.

Хотел на АМК сайте посмотреть, сайт упал, всё вертикальной строкой.
ed_rez
Дизель,
бесшовку для ЗП возьми. На АП-Про есть, тут и автор их как-то крутился в рендерах, вроде.
cjayho
QUOTE (macron @ 17.08.2019, 14:24) *
QUOTE (cjayho @ 17.08.2019, 13:06) *
нужно включать ambient occlusion раз пререндеренный выкосили.
Так лучше?



Дизель
ed_rez, такую я и сам могу сделать. А где там трава? Сочувствую автору за убитое время.
Да она и непройдёт фейс-контроль в 3.5Gb. Это через чур большая.
Ладно я ЗП Затон ковырну пока.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2019 IPS, Inc.