Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В компьютерной графике , уровень детализации ( LOD ) относится к сложности модели 3D представления. [1] [2] [3] LOD может быть уменьшен по мере удаления модели от наблюдателя или в соответствии с другими показателями, такими как важность объекта, скорость или положение относительно точки обзора. Методы LOD повышают эффективность рендеринга за счет уменьшения рабочей нагрузки на этапах графического конвейера , обычно это преобразования вершин . Ухудшение визуального качества модели часто остается незамеченным из-за небольшого влияния на внешний вид объекта при удалении или быстром движении.

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

Принято говорить, что «объект был LOD'd », когда объект упрощен базовым алгоритмом LOD-ing [ необходима цитата ] .

Историческая справка [ править ]

Происхождение [1] всех алгоритмов LOD для трехмерной компьютерной графики можно проследить до статьи Джеймса Х. Кларка в октябрьском выпуске журнала Communications of the ACM за 1976 год . В то время компьютеры были монолитными и редкими, а графикой управляли исследователи. Само оборудование было совершенно другим, как по архитектуре, так и по производительности. Таким образом, можно наблюдать много различий в отношении сегодняшних алгоритмов, но также и много общих моментов.

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

Такая же структура среды теперь предлагается как способ управления различными деталями, что позволяет избежать ненужных вычислений, но при этом обеспечивает адекватное визуальное качество:

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

Предлагаемый алгоритм представляет собой древовидную структуру данных, в дугах которой кодируются как преобразования, так и переходы к более детализированным объектам. Таким образом, каждый узел кодирует объект, и согласно быстрой эвристике дерево спускается до листьев, которые предоставляют каждому объекту более подробную информацию. Когда лист будет достигнуто, другие методы могут быть использованы при более подробно требуется, например, Catmull «ы рекурсивного разбиения [2] .

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

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

Хорошо известные подходы [ править ]

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

Первый метод, Discrete Levels of Detail (DLOD) , включает создание нескольких дискретных версий исходной геометрии с пониженным уровнем геометрической детализации. Во время выполнения модели с полной детализацией при необходимости заменяются моделями с уменьшенной детализацией. Из-за дискретного характера уровней при замене одной модели на другую могут возникать визуальные всплески . Это может быть смягчено альфа-смешением или морфингом между состояниями во время перехода.

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

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

Подробная информация о дискретном уровне детализации [ править ]

Пример различных диапазонов DLOD. Более темные области должны отображаться с более высокой детализацией. Выполняется дополнительная операция отбраковки, отбрасывающая всю информацию за пределами усеченного конуса (цветные области).

Основная концепция дискретного уровня детализации (DLOD) заключается в предоставлении различных моделей для представления одного и того же объекта. Для получения этих моделей требуется внешний алгоритм, который часто является нетривиальным и зависит от многих методов сокращения полигонов . Последовательные алгоритмы LOD-ing просто предполагают, что эти модели доступны.

Алгоритмы DLOD часто используются в ресурсоемких приложениях с небольшими наборами данных, которые легко помещаются в памяти. Хотя можно использовать алгоритмы, не связанные с ядром, степень детализации информации не очень подходит для этого типа приложений. Этот вид алгоритма обычно легче запустить, поскольку он обеспечивает более высокую производительность и меньшую загрузку ЦП из-за небольшого количества операций.

Методы DLOD часто используются для «автономных» движущихся объектов, возможно, включая сложные методы анимации. Другой подход используется для geomipmapping , [3] популярный рендеринг местности алгоритм , поскольку это относится к сеткам местности , которые в графических и топологический отличается от «объекта» сетки. Вместо того, чтобы вычислять ошибку и упрощать сетку в соответствии с этим, геокартирование использует метод фиксированного сокращения, оценивает внесенную ошибку и вычисляет расстояние, на котором ошибка является допустимой. Несмотря на простоту, алгоритм обеспечивает достойную производительность.

Пример дискретного уровня детализации [ править ]

В качестве простого примера рассмотрим сферу . Подход с дискретным уровнем детализации кэширует определенное количество моделей, которые будут использоваться на разных расстояниях. Поскольку модель может быть тривиально сгенерирована процедурно с помощью ее математической формулировки, использование разного количества точек выборки, распределенных на поверхности, является достаточным для создания различных требуемых моделей. Этот проход не является алгоритмом LOD-ing.

Для моделирования реалистичного сценария привязки преобразования можно использовать специальное написанное приложение. Использование простых алгоритмов и минимального количества операций с фрагментами гарантирует отсутствие ограничений ЦП . В каждом кадре программа будет вычислять расстояние до каждой сферы и выбирать модель из пула в соответствии с этой информацией. Чтобы легко показать концепцию, расстояние, на котором используется каждая модель, жестко закодировано в источнике. Более сложный метод предполагает вычисление адекватных моделей в соответствии с выбранным расстоянием использования.

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

В следующей таблице сравнивается производительность рендеринга с учетом LOD и метода полной информации ( грубой силы ).

Иерархический уровень детализации [ править ]

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

Практическое применение [ править ]

Видеоигры [ править ]

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

В популярной игре о строительстве городов Cities: Skylines моды позволяют изменять уровень детализации.

В ГИС и 3D моделировании городов [ править ]

LOD встречается в ГИС и 3D моделях городов как аналогичная концепция. Он показывает, насколько тщательно были нанесены на карту реальные особенности и насколько модель соответствует своему реальному аналогу. Помимо геометрической сложности, в LOD модели могут учитываться другие показатели, такие как пространственно-семантическая согласованность, разрешение текстуры и атрибуты. [6] Стандартный CityGML содержит одну из самых известных категорий LOD. [7]

Аналогия «LOD-ing» в ГИС называется обобщением .

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

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

См. Также [ править ]

  • Прогрессивное уточнение
  • Прогрессивные сетки
  • Редкое воксельное октодерево
  • Пространственное разрешение

Ссылки [ править ]

  1. ^ http://people.cs.clemson.edu/~dhouse/courses/405/notes/OpenGL-mipmaps.pdf
  2. ^ http://computer-graphics.se/TSBK07-files/pdf/PDF09/10%20LOD.pdf
  3. ^ http://rastergrid.com/blog/2010/10/gpu-based-dynamic-geometry-lod/
  4. ^ "Документация Unreal Engine, Экземпляры листвы, Отбор"
  5. Масгрейв, Ф. Кентон, Крейг Э. Колб и Роберт С. Мейс. «Синтез и рендеринг размытых фрактальных ландшафтов». ACM Siggraph Компьютерная графика. Vol. 23. № 3. ACM, 1989.
  6. ^ Biljecki, F .; Ledoux, H .; Stoter, J .; Чжао, Дж. (2014). «Формализация уровня детализации в 3D-моделировании города» . Компьютеры, окружающая среда и городские системы . 48 : 1–15. DOI : 10.1016 / j.compenvurbsys.2014.05.004 .
  7. ^ Biljecki, F .; Ledoux, H .; Стотер, Дж. (2016). «Улучшенная спецификация LOD для 3D-моделей зданий» . Компьютеры, окружающая среда и городские системы . 59 : 25–37. DOI : 10.1016 / j.compenvurbsys.2016.04.005 .
  1. ^ Сообщения ACM, октябрь 1976 г., том 19, номер 10. Страницы 547-554. Иерархические Геометрические модели для видимых алгоритмов ПоверхностныепоДжеймс Х. Кларк, Калифорнийский университет в СантаКруз. Оцифрованное сканирование находится в свободном доступе по адресуhttps://web.archive.org/web/20060910212907/http://accad.osu.edu/%7Ewaynec/history/PDFs/clark-vis-surface.pdf.
  2. ^ Катмулл Э.,Алгоритм подразделения для компьютерного отображения изогнутых поверхностей. Tech. Представитель UTEC-CSc-74-133, Университет Юты, Солт-Лейк-Сити, штат Юта, 1 декабря
  3. ^ Рибеллес, Лопес и Бельмонте, «Улучшенная модель с дискретным уровнем детализации через инкрементное представление», 2010 г., доступно по адресуhttp://www3.uji.es/~ribelles/papers/2010-TPCG/tpcg10.pdf
  4. ^ де Бур, WH,Fast Terrain Rendering using Geometrical Mipmapping, в избранных статьях flipCode, октябрь 2000 г. Доступно по адресуhttps://www.flipcode.com/archives/Fast_Terrain_Rendering_Using_Geometrical_MipMapping.shtml.
  5. ^ Статья Карла Эриксона наhttp://www.cs.unc.edu/Research/ProjectSummaries/hlods.pdfдает быстрый, но эффективный обзор механизмов HLOD. Более подробное описание следует в его диссертации по адресуhttps://wwwx.cs.unc.edu/~geom/papers/documents/dissertations/erikson00.pdf.