Перейти к содержанию
Авторизация  
slashqd

PathTracing на ЯП Rust в Сталкер ЗП / свой рендер-пайплайн

Рекомендуемые сообщения

 
slashqd

Решил реализовать немного больную идею: PathTracing на Rust'е в Сталкере ЗП. Не мод поверх старого рендера, а свой рендер пайплайн целиком

За основу взял IX-Ray -- у него есть удобный "нулевой" рендер (тот, что для выделенного сервера, без D3D), и он снимает кучу проблем. Логика игры, модели, кости, анимации -- всё работает как в оригинале, а рисует уже моя отдельная библиотека на Rust + Vulkan. Движок через тонкий мост отдаёт ей камеру, сцену, модели с костями и лампы, так что в теории её потом можно прикрутить и к другой игре

Что уже есть на данный момент:

Свои форматы -- локации, модели и материалы конвертируются из данных игры. Из шейдеров, .thm и bump-карт достаю нормали и шероховатость, у террейна свой материал со слоями

Рисование почти целиком на видеокарте: отсечение, indirect draw, bindless-текстуры. Локация подгружается кусками в фоне, без фризов даже на HDD (это отдельная настройка)

Лучи: своя BVH на каждую клетку локации и на каждого персонажа, анимации обновляются каждый кадр. Листва проверяется по альфе прямо в лучах, так что деревья тоже дают тени

Сам пафтрейсинг -- солнце с мягкими тенями, все лампы как физические излучатели, непрямой свет и переотражения через кеш излучения, отражения на гладких поверхностях. Сверху шумодав (SVGF), TAA (пока только он, а то глазки болели:), автоэкспозиция, блум, тонмаппинг

Лампы локаций пришлось разбирать вручную. Например в Скадовске у оригинала каждый плафон светил дважды -- лампа плюс её статичная копия. Когда я пытался делать "надстройку" над рендером сталкера, это сильно мешало, поэтому свёл всё к одному стандарту

Ещё сделал себе инструменты прямо в игре (dev-режим): редактор света (навёлся на лампу -- крутишь цвет, мощность, радиус, конус, есть пресеты освещения и свои источники), редактор материалов, панель с настройками пафтрейсинга, солнца и неба (можно подсунуть HDR-карту)

Сейчас около 60-100 fps в 1366x768 на RTX 3070 Laptop, цель -- 100+ в 1080p

Чего пока нет: меню и интерфейса игры (их рисует старый рендер), частиц, воды, травы, следов от пуль. Впереди оптимизация, борьба с шумом и своя стилизация картинки, потому что одним PT картинка сыта не будет

Тему завёл просто потому что хочется поделиться с сообществом тем, что получается. Под разные системы буду записывать ролики на ютуб, ссылки буду кидать сюда

 

Скрины: https://disk.yandex.ru/d/SRD934CNFF1tZw

xrEngine_pHrxr83xou.png

xrEngine_p0thRZbYcd.png

xrEngine_HMShkN84CL.png

Изменено пользователем slashqd
Добавил скрины
  • Лайк 1
  • Мастер! 2
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Manly

Да это же... Сам - куй-трайсинг. :u1F602: :u1F44D.0: :bc310bc3-6cb8-4279-860d-c4fdb7162848:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования