Введение

Регулирование сложности представления 3D-модели для экономии памяти и вычислительных ресурсов. В компьютерной графике уровень детализации (LOD) относится к сложности представления 3D-модели. LOD может быть уменьшен по мере удаления модели от наблюдателя или в соответствии с другими метриками, такими как важность объекта, относительная скорость или положение точки обзора. Методы LOD повышают эффективность рендеринга за счет снижения нагрузки на этапы графического конвейера, как правило, преобразования вершин. Снижение визуального качества модели часто остается незамеченным из-за незначительного влияния на внешний вид объекта при большом расстоянии или быстром движении. Хотя чаще всего LOD применяется только к детализации геометрии, основная концепция может быть обобщена. В последнее время методы LOD также включают управление шейдерами для контроля сложности пикселей. Форма управления уровнем детализации применяется к текстурным картам уже много лет под названием mipmapping, что также обеспечивает более высокое качество рендеринга. Обычно говорят, что "объект был упрощен с использованием LOD", когда объект упрощается как базовым алгоритмом LOD, так и 3D-моделистом, вручную создающим модели LOD.

Известные подходы

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

Первый метод, дискретные уровни детализации (DLOD), предполагает создание нескольких дискретных версий исходной геометрии с пониженным уровнем геометрической детализации. Во время выполнения модели с полной детализацией заменяются моделями с уменьшенной детализацией по мере необходимости. Из-за дискретной природы уровней при замене одной модели другой может возникать визуальный эффект "скачка". Это можно смягчить с помощью альфа-смешивания или морфинга между состояниями во время перехода. Второй метод, непрерывные уровни детализации (CLOD), использует структуру, содержащую непрерывно изменяемый спектр геометрической детализации. Эту структуру можно запросить для плавного выбора подходящего уровня детализации, необходимого для конкретной ситуации. Значительным преимуществом этой техники является возможность локального изменения детализации; например, сторона большого объекта, находящаяся ближе к камере, может быть представлена с высокой детализацией, одновременно уменьшая детализацию на его дальней стороне. В обоих случаях уровни детализации выбираются на основе некоторой эвристики, которая оценивает потерю детализации при уменьшении уровня детали, например, путем оценки геометрической ошибки уровня детализации относительно полнодетализированной модели. Затем объекты отображаются с минимальным уровнем детализации, необходимым для удовлетворения эвристики, которая разработана для минимизации геометрической детализации настолько, насколько это возможно, чтобы максимизировать производительность при сохранении приемлемого уровня визуального качества.

Подробности о дискретных LOD

Основная концепция дискретного LOD (DLOD) заключается в предоставлении различных моделей для представления одного и того же объекта. Получение этих моделей требует внешнего алгоритма, который зачастую сложен и является предметом множества техник упрощения полигональных сеток. Алгоритмы последовательного LOD просто исходят из предположения, что эти модели уже доступны. Алгоритмы DLOD часто применяются в ресурсоемких приложениях с небольшими наборами данных, которые легко помещаются в память. Хотя можно использовать алгоритмы, работающие с данными вне оперативной памяти, гранулярность информации не очень хорошо подходит для подобных приложений. Этот тип алгоритма обычно проще реализовать, обеспечивая более высокую производительность и меньшую загрузку ЦП благодаря небольшому числу операций. Методы DLOD часто используются для отдельных движущихся объектов, возможно, с применением сложных методов анимации. Для геомипмаппинга используется другой подход – популярный алгоритм рендеринга местности, поскольку он применяется к сеткам местности, которые графически и топологически отличаются от сеток "объектов". Вместо вычисления ошибки и упрощения сетки на её основе, геомипмаппинг использует метод фиксированного упрощения, оценивает возникающую ошибку и вычисляет расстояние, на котором эта ошибка становится допустимой. Несмотря на простоту, алгоритм обеспечивает приемлемую производительность.

Иерархическая система управления

Поскольку аппаратное обеспечение оптимизировано для обработки большого количества деталей, рендеринг объектов с малым количеством полигонов может приводить к неоптимальной производительности. HLOD решает эту проблему, объединяя различные объекты в группы. Это повышает эффективность и позволяет учитывать факторы близости.

Видеоигры

LOD особенно полезен в 3D-видеоиграх. Разработчики видеоигр стремятся предоставить игрокам большие миры, но всегда ограничены аппаратными возможностями, частотой кадров и необходимостью отрисовки графики в реальном времени. С появлением 3D-игр в 1990-х годах многие игры просто не отрисовывали удаленные объекты и структуры. Отображались только ближайшие объекты, а более дальние постепенно исчезали, фактически реализуя эффект тумана вдалеке. Видеоигры, использующие LOD-рендеринг, избегают этого эффекта тумана и позволяют отрисовывать большие области. Среди заметных ранних примеров LOD-рендеринга в 3D-видеоиграх можно выделить The Killing Cloud, Spyro the Dragon, Crash Bandicoot: Warped, Unreal Tournament и движок Serious Sam. Большинство современных 3D-игр используют комбинацию техник LOD-рендеринга, применяя различные модели для крупных объектов и отсечение объектов по расстоянию для деталей окружения, таких как трава и деревья. Этот эффект иногда все еще заметен, например, когда персонаж игрока пролетает над виртуальной местностью или использует снайперскую оптику для обзора на больших расстояниях. Особенно заметно, как трава и листва "выскакивают" при приближении, это также известно как отсечение листвы. LOD также можно использовать для рендеринга фрактальной местности в реальном времени. Система Nanite в Unreal Engine 5 по сути реализует уровень детализации внутри самих мешей, а не только для объектов в целом.

В ГИС и 3D моделировании городов

LOD встречается в ГИС и 3D-моделях городов как схожая концепция. Он указывает на степень детализации отображения объектов реального мира и на то, насколько точно модель соответствует своему прототипу в реальности. Помимо геометрической сложности, при определении LOD модели могут учитываться и другие показатели, такие как пространственно-семантическая согласованность, разрешение текстур и атрибуты. Стандарт CityGML содержит одну из наиболее известных классификаций уровней детализации (LOD). Аналог процесса "LODing" в ГИС называется обобщением.

Программное обеспечение для рендеринга и моделирования

MeshLab – это инструмент для обработки полигональных сетей с открытым исходным кодом, способный точно упрощать 3D-полигональные модели. Polygon Cruncher – коммерческое программное обеспечение от Mootools, которое уменьшает количество полигонов в объектах, не изменяя их внешний вид. Simplygon – коммерческий пакет для обработки сетей, предназначенный для перестроения произвольных входных сетей в модели, пригодные для рендеринга в реальном времени.