Уровни детализации для локальных источников света

Система уровней детализации для источников света в Gem RTS позволяет эффективно управлять освещением в сценах, оптимизируя производительность за счет динамического управления затуханием яркости в зависимости от расстояния до камеры.

Принцип работы

Система LOD для локальных источников света основана на затухании их яркости вплоть до полного удаления источника света по мере увеличения расстояния до камеры. Для каждого источника света определяется его LOD-класс, который определяет параметры затухания. По мере увеличения расстояния от камеры до источника света, его яркость плавно уменьшается до полного исчезновения. Такой подход позволяет сократить количество активных источников света в кадре и регулировать радиус их освещения, что снижает нагрузку на рендеринг.

Цели системы уровней детализации для источников света

  1. Оптимизация производительности

    • Сокращение радиуса освещения Снижение яркости источников света уменьшает эффективный радиус освещения, что сокращает количество пикселей, освещаемых источником, и снижает общую нагрузку на систему при расчетах освещения.

    • Уменьшение количества источников света Источники света, находящиеся далеко от камеры, удаляются из сцены. Это снижает количество расчетов освещения от локальных источников света, что повышает FPS.

  2. Визуальная реалистичность

    • Плавное уменьшение яркости Затухание яркости источника света с увеличением расстояния соответствует законам физики и делает визуальное восприятие сцены более реалистичным.

    • Незаметное удаление источников света Плавное уменьшение яркости делает процесс исчезновения источников света менее заметным для игрока.

Классы уровней детализации для локальных источников света

LOD-классы для локальных источников света определяют параметры затухания яркости освещения при их удалении от камеры. В Gem RTS используются LOD-классы, которые описаны в файле \main\scene\set\lod_light.set:

  • default

  • small

  • medium

  • big

  • huge

Каждому локальному источнику света можно задать LOD-класс, согласно его визуальным свойствам. Для этого используется Редактор спецэффектов. В поле lod для блока параметров Light view необходимо выбрать соответствующий LOD-класс из выпадающего списка.

Если для источника света не задан конкретный LOD-класс, будут использованы параметры класса default.

Конфигурация LOD-классов в редакторе спецэффектов

Набор имен LOD-классов, доступных для выбора в Редакторе спецэффектов, прописывается в конфигурационном файле редактора: resource\interface\editor\efx\view.tpl в разделе блока lightview.

Пример строк:

{Block "lod" optional 
  {param "typevalues" blockinfo enum {values "small" "medium" "big" "huge"} {default "medium"}} 
}

Список имен LOD-классов в конфигурационном файле Редактора спецэффектов должен соответствовать списку, указанному в файле \main\scene\set\lod_light.set

Параметры затухания

Параметры затухания яркости источников света для каждого LOD-класса указаны в файле \main\scene\set\lod_light.set. Для настройки затухания используются следующие параметры:

  • falloff_start — расстояние (в метрах), с которого начинается уменьшение яркости источника света;

  • falloff_end — расстояние, на котором яркость света становится равной нулю, и источник удаляется из сцены.

Пример конфигурации затухания для LOD-классов

{levelofdetail
  {"default" ; first lod is default
    {falloff_start 80}
    {falloff_end 150}
  }
  {"small"
    {falloff_start 50}
    {falloff_end 100}
  }
  {"medium"
    {falloff_start 80}
    {falloff_end 120}
  }
  {"big"
    {falloff_start 120}
    {falloff_end 200}
  }
  {"huge"
    {falloff_start 240}
    {falloff_end 360}
  }
}

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

Особенности настройки и оптимизации

  1. Оптимизация затухания Подбор значений параметров falloff_start и falloff_end выполняется с целью минимизации нагрузки на систему рендеринга. Чем меньше значения этих параметров, тем выше производительность сцены, но при этом необходимо учитывать, чтобы исчезновение источников света происходило плавно и незаметно.

  2. Настройка параметров Для достижения оптимального баланса между производительностью и качеством визуализации рекомендуется экспериментировать с параметрами для различных классов LOD. Минимальные значения параметров следует устанавливать таким образом, чтобы избежать резких переходов яркости при перемещении камеры.

Last updated