Level of Detail

LOD (англ. Levels Of Detail — уровни детализации) — приём в программировании трёхмерной графики, заключающийся в создании нескольких вариантов одного объекта с различными степенями детализации, которые переключаются в зависимости от удаления объекта от виртуальной камеры. Другой метод заключается в использовании одной основной, «грубо приближенной», модели и нескольких внешних надстроек к ней. Каждая последующая надстройка к основной модели дополняется элементами детализации пропорционально номеру надстройки. То есть на самом большом расстоянии будет отображаться единственная главная модель объекта. С приближением же последнего к камере игрока к конвейеру отрисовки будут последовательно подключаться последующие надстройки деталей.

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

Статические и динамические методы детализации

Существуют два подхода к управлению детализацией: статический и динамический LOD-уровень.

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

Динамические LOD системы, например, ROAM (Real-time Optimally Adapting Meshes) и RQT (Restricted Quadtree Triangulation).