Skip to content

Изменения в рендерах

xrSimpodin edited this page Feb 29, 2024 · 2 revisions

OGSR Engine использует DX11 рендер из X-Ray 1.6 с некоторыми доработками и нововведениями.

  • Адаптирован Screen Space Shaders addon - SSDO, SSR, лужи, DOF, туман, ветер и тд.
  • Адаптирован ENHANCED SHADERS (PBR) + Enhanced Color Grading
  • Добавлен шейдер GTAO by Doenitz
  • Теперь мы не будем поддерживать два вида шейдеров, для тч и зп погоды. Шейдеры в OGSR GA и здесь будут общие. Соотв. корректная работа этих шейдеров на тч-погоде не гарантируется. Рекомендуем использовать зп-погоду, например эту или любую другую.
  • Переработано меню настроек графики, кол-во настроек уменьшено, сделано более понятным как в современных играх.
  • Добавлена многопоточная загрузка текстур. Управляется конс. командой r_mt_texload и соотв. опцией в меню.
  • Теперь двиг должен правильно выбирать самый мощный GPU из имеющихся (актуально на ноутах с несколькими GPU)
  • Использование устаревших D3DX библиотек заменено на DirectXTex, DirectXMesh, DirectXMath. Благодаря этому двиг теперь поддерживает современные форматы сжатия текстур типа BC7 и не требует наличия в системе d3dx*.dll
  • Добавлена поддержка отладки рендера с помощью RenderDoc.
  • Возвращена поддержка textures.ltx, включая настройки parallax в стиле OGSE. Отключаемо дефайном USE_TEXTURES_LTX через конфиг сборки движка.
  • Теперь можно использовать несколько textures.ltx. Например, textures1.ltx, textures2.ltx, ... . Они будут грузиться по возрастанию и дополнять друг друга. Можно для всяких текстурных паков это использовать.
  • Добавлено сглаживание SMAA (конс. команда r_aa_mode)
  • Добавлено несколько новых видов саншафтов (конс. команда r_sunshafts_mode). Интенсивность саншафтов можно настроить в погодных секциях параметром sun_shafts_intensity.
  • Блудмарки/воллмарки работают на всех рендерах.
  • HQ-Geometry fix от Shoker. Модели теперь выглядят более качественно.
  • Исправлена работа консольных команд r__tf_mipbias и r__tf_aniso - теперь они работают правильно, их значения не сбрасываются.
  • Фикс переполнения rsDVB_Size - он увеличен.
  • Скрины будут в формате png по умолчанию. Для скринов в формате jpg оставлен ключ запуска -ss_jpg.
  • Работают скриншоты в оконном режиме.
  • Фикс отображения на худе прозрачных поверхностей.
  • Добавлен ограничитель FPS от Shoker. Режимы ограничения переключаются консольной командой r_fps_lock (nofpslock, fpslock60, fpslock120, fpslock144, fpslock240).
  • Добавлены новые консольные команды:
r__smap_size -- настройка разрешения карт теней.
r__actor_shadow -- включить тень от ГГ.
r2_disable_hom -- отключить обработку HOM-ов. Можно использовать на кривых локациях, в которых часто наблюдаются баги из-за кривых HOM-ов.
  • Починена вертикальная синхронизация.
  • Фикс растянутого неба.
  • Поддержка авторастягиваемых прицельных сеток под любое разрешение экрана (из OGSE). Включается в секции [features]:
; Включить авторастягиваемые прицельные сетки. Для этой опции текстуры прицельных сеток должны иметь разрешение 1600x1000 (либо любое другое с таким же соотношением?).
; Текстуры сеток будут автоматически подстраиваться под любое разрешение экрана.
scope_textures_autoresize = true

Для конкретного предмета отключить авторастягивание можно добавив в конфиг предмета scope_texture_autoresize = false, например для широкой текстуры бинокля.

  • Макс. значение для r__geometry_lod увеличено с 1.2 до 3.
  • Расширенная регулировка дальности, плотности и высоты травы.
r__detail_scale ;регулирует высоту травы.
r__no_scale_on_fade ; вроде как включает и выключает регулировку высоты травы для нее, когда она ресуется в меньшем размере на расстоянии, прежде чем перестать рисоваться.
  • Расширена регулировка плотности травы. Теперь диапазон r__detail_density: [0.06, 1.0].
  • Работают тени от травы.
  • Включен фикс виртуального радиуса ламп.
  • Включен фикс "мигающих поинт-ламп".
  • Убрана обработка секции [reduce_lod_texture_list].
  • Шейдеркэш отключен. От него больше проблем чем пользы.
  • Починен R_occlusion - мерцание теней от источников света на худе, предупреждения по переполнению RENDER [Warning]: Too many occlusion queries were issued(>1536)!!!, и прочие глюки этой системы. Может даже немножко фпс повысится.
  • Работает levelmap / cubemap screenshot ( #298 )
  • Починен и теперь работает дебаг-рендер на DX11 (для g_zones_dbg, g_vertex_dbg и тп.)
  • Добавлен шейдерный эффект для шлемов. Добавлены команды r2_visor_refl и r2_visor_refl_control (шейдер включается при включении этих 2х команд). Также добавлены команды r2_visor_refl_intensity - для настройки силы эффекта и r2_visor_refl_radius - соответственно для изменения радиуса эффекта. По умолчанию шейдер выключен консольными командами поскольку для нормальной его работы нужен скрипт который будет отслеживать надетый костюм и уже в зависимости от этого включать\выключать шейдер.
  • Добавлен новый Raindrops эффект (подходит для шлемов). Настраивается консольными командами:
r2_rain_drops -- глобальная команда для включения эффекта через меню.
r2_rain_drops_control -- команда для включения эффекта из скриптов (типа сняли шлем - выключили, одели - включили. При переключении этой командой эффект перезапускается сначала.)
r2_rain_drops_intensity -- Интенсивность эффекта. Чем больше - тем более "ярко выраженнее" будут капли.
r2_rain_drops_speed -- Скорость стекания капель.
  • Консольная команда ai_use_torch_dynamic_lights будет управлять объемным светом фонарей нпс, если он включен для них. Ранее эта команда не работала вообще.
  • Фикс тумана для шейдера models\transparent
  • Добавлен специальный шейдер для коллиматоров models_lfo_light_dot_weapons
  • Тесселяция теперь может работать на худовых моделях
  • Добавлена возможность замены шейдеров в визуалах через конфиг (чтобы включать тесселяцию без правки моделей например):
; Замена шейдеров в визуалах
[vis_shaders_replace]
; шейдер тесселяции: models\model -> models\model_pn. Должен присутствовать в shaders.xr!
actors   = models\model,models\model_pn, models\weapons,models\model_pn, models\artefact,models\model_pn, models\artefact2,models\model_pn
new      = models\model,models\model_pn, models\weapons,models\model_pn, models\artefact,models\model_pn, models\artefact2,models\model_pn
monsters = models\model,models\model_pn
dynamics\weapons\wpn_hand = models\model,models\model_pn, models\weapons,models\model_pn
; Т.е. тут обрабатываются все визуалы, у которых в пути есть `dynamics\weapons\wpn_hand`. В качестве значения указываются пары что на что менять.
  • Скрины для сохранений делаются в более высоком качестве
  • Экспорт в шейдеры fog_params.y --> fog_near, fog_params.z --> fog_far. Может когда-то пригодятся.
  • Добавлено кэширование ui_shader для ускорения работы UI
  • Добавлена консольная команда r_lens_flare для вкл/выкл флара от солнца.