Уровень детализации - Level of detail
В компьютерная графика, уровень детализации (LOD) относится к сложности 3D модель представление.[1][2][3] LOD может быть уменьшен по мере удаления модели от зрителя или в соответствии с другими показателями, такими как важность объекта, относительная скорость или положение точки обзора. Методы LOD повышают эффективность рендеринга за счет снижения рабочей нагрузки на графический конвейер этапы, обычно преобразования вершин.Ухудшение визуального качества модели часто остается незамеченным из-за небольшого влияния на внешний вид объекта при удалении или быстром движении.
Хотя большую часть времени LOD применяется к детали геометрии только основная концепция может быть обобщена. В последнее время методы LOD также включали шейдер управление, чтобы контролировать сложность пикселей. карты текстур в течение многих лет под именем mipmapping, также обеспечивая более высокое качество рендеринга.
Принято говорить, что «объект был LOD'd"когда объект упрощен нижележащим LOD-алгоритм[нужна цитата ].
Историческая справка
Эта статья написано как личное размышление, личное эссе или аргументированное эссе который излагает личные чувства редактора Википедии или представляет оригинальный аргумент по теме.июнь 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Происхождение[1] всех алгоритмов LOD для 3D компьютерной графики можно проследить до статьи Джеймс Х. Кларк в октябрьском выпуске 1976 г. Коммуникации ACM В то время компьютеры были монолитными и редкими, а графикой руководили исследователи. Само оборудование было совершенно другим, как по архитектуре, так и по производительности. Таким образом, можно наблюдать много различий в отношении сегодняшних алгоритмов, но также и много общих моментов.
Исходный алгоритм представил гораздо более общий подход к тому, что будет обсуждаться здесь. После введения некоторых доступных алгоритмов для управления геометрией было заявлено, что наиболее плодотворные результаты были получены от "... структурирование визуализируемой среды", позволяя использовать более быстрые преобразования и вырезка операции.
Такая же структура среды теперь предлагается как способ управления различными деталями, что позволяет избежать ненужных вычислений, но при этом обеспечивает адекватное визуальное качество:
Например, додекаэдр выглядит как сфера с достаточно большого расстояния и, таким образом, может использоваться для ее моделирования, если смотреть с этого или большего расстояния. Однако, если его когда-либо рассматривать более внимательно, он будет выглядеть как додекаэдр. Одно из решений - просто определить его как можно более детально. Однако тогда у него может быть гораздо больше деталей, чем необходимо для представления его на больших расстояниях, а в сложной среде с множеством таких объектов будет слишком много полигонов (или других геометрических примитивов) для алгоритмы видимой поверхности эффективно обрабатывать.
Предлагаемый алгоритм предусматривает древовидная структура данных который кодирует в своих дугах как преобразования, так и переходы к более детализированным объектам. Таким образом, каждый узел кодирует объект и в соответствии с быстрым эвристический, дерево спускается к листьям, которые предоставляют каждому объекту более подробную информацию. Когда достигается лист, можно использовать другие методы, когда требуется более высокая детализация, например Catmull с рекурсивное подразделение[2].
Однако важным моментом является то, что в сложной среде объем информации, представленной о различных объектах в окружающей среде, варьируется в зависимости от доли поля зрения, занятой этими объектами.
Затем в документе вводятся вырезка (не путать с выбраковка хотя часто похожи), различные соображения по графический рабочий набор и его влияние на производительность, взаимодействие между предложенным алгоритмом и другими для повышения скорости рендеринга.
Хорошо известные подходы
Хотя представленный выше алгоритм охватывает весь диапазон методов управления уровнем детализации, в реальных приложениях обычно используются специализированные методы, адаптированные к отображаемой информации. В зависимости от требований ситуации используются два основных метода:
Первый способ, Дискретные уровни детализации (DLOD), включает создание нескольких дискретных версий исходной геометрии с пониженным уровнем геометрической детализации. Во время выполнения модели с полной детализацией при необходимости заменяются моделями с уменьшенной детализацией. Из-за дискретности уровней могут быть визуальные выскакивают когда одну модель меняют на другую. Это может быть смягчено альфа-смешение или же морфинг между состояниями во время перехода.
Второй способ, Непрерывные уровни детализации (CLOD), использует структуру, содержащую постоянно изменяющийся спектр геометрических деталей. Затем можно исследовать структуру, чтобы плавно выбрать соответствующий уровень детализации, необходимый для ситуации. Существенным преимуществом этой техники является возможность локального изменения деталей; например, сторона большого объекта, более близкая к виду, может быть представлена с высокой детализацией, одновременно уменьшая детализацию на его удаленной стороне.
В обоих случаях LOD выбираются на основе некоторой эвристики, которая используется для оценки того, сколько деталей теряется из-за уменьшения детализации, например, путем оценки геометрической ошибки LOD относительно модели с полной детализацией. Затем объекты отображаются с минимальным количеством деталей, необходимых для выполнения эвристики, которая предназначена для минимизации геометрических деталей в максимально возможной степени, чтобы максимизировать производительность при сохранении приемлемого уровня визуального качества.
Подробная информация о дискретном уровне детализации
Основная концепция дискретного уровня детализации (DLOD) заключается в предоставлении различных моделей для представления одного и того же объекта. Получение этих моделей требует внешнего алгоритма, который часто нетривиален и зависит от многих методы сокращения полигонов. Последовательные алгоритмы LOD-ing просто предполагают, что эти модели доступны.
Алгоритмы DLOD часто используются в ресурсоемких приложениях с небольшими наборами данных, которые легко помещаются в памяти. Несмотря на то что вне ядра алгоритмы могут быть использованы, детализация информации не очень подходит для такого рода приложений. Такой алгоритм обычно легче запустить, поскольку он обеспечивает более высокую производительность и более низкую производительность. ЦПУ использование из-за небольшого количества операций.
Методы DLOD часто используются для «автономных» движущихся объектов, возможно, включая сложные методы анимации. Другой подход используется для геокартирование,[3] популярный рендеринг ландшафта Алгоритм, потому что это применимо к сеткам ландшафта, которые графически и топологически отличаются от сеток "объектов". Вместо того, чтобы вычислять ошибку и упрощать сетку в соответствии с этим, геокартирование использует метод фиксированного сокращения, оценивает внесенную ошибку и вычисляет расстояние, на котором ошибка является допустимой. Несмотря на простоту, алгоритм обеспечивает достойную производительность.
Пример дискретного уровня детализации
Эта секция возможно содержит оригинальные исследования.Сентябрь 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В качестве простого примера рассмотрим сфера. Дискретный подход LOD может кэшировать определенное количество моделей, которые будут использоваться на разных расстояниях. Поскольку модель тривиально может быть процедурно созданный согласно математической формулировке, использование разного количества точек выборки, распределенных на поверхности, достаточно для создания различных требуемых моделей. Этот проход не является алгоритмом LOD-ing.
Изображение | |||||
---|---|---|---|---|---|
Вершины | ~5500 | ~2880 | ~1580 | ~670 | 140 |
Примечания | Максимальная детализация, для крупных планов. | Минимум деталей, очень далекие объекты. |
Для моделирования реалистичного сценария привязки преобразования можно использовать специальное написанное приложение. Использование простых алгоритмов и минимума операций с фрагментами гарантирует, что Ограничение ЦП не происходит. В каждом кадре программа будет вычислять расстояние до каждой сферы и выбирать модель из пула в соответствии с этой информацией. Чтобы легко показать концепцию, расстояние, на котором используется каждая модель, составляет жестко закодированный в источнике. Более сложный метод предполагает вычисление адекватных моделей в соответствии с выбранным расстоянием использования.
OpenGL используется для рендеринга из-за его высокой эффективности при управлении небольшими партиями, хранении каждой модели в список отображения таким образом избегая накладных расходов на связь. Дополнительная вершинная нагрузка создается путем применения двух направленных источников света, идеально расположенных бесконечно далеко.
В следующей таблице сравнивается производительность рендеринга с учетом LOD и полной информации (грубая сила) метод.
Грубый | DLOD | Сравнение | |
---|---|---|---|
Оформлено изображений | |||
Время рендеринга | 27,27 мс | 1,29 мс | 21 × уменьшение |
Вершины сцены | 2,328,480 | 109,440 | 21 × уменьшение |
Иерархический LOD
Поскольку оборудование ориентировано на большое количество деталей, рендеринг низкополигональных объектов может иметь неоптимальную производительность. HLOD позволяет избежать проблемы, группируя разные объекты вместе[4]. Это позволяет повысить эффективность, а также воспользоваться соображениями близости.
Практическое применение
Видеоигры
LOD особенно полезен в 3D-видеоиграх. Разработчики видеоигр хотят предоставить игрокам большие миры, но всегда ограничены аппаратным обеспечением, частотой кадров и в реальном времени характер графики видеоигр. С появлением 3D-игр в 1990-х годах многие видеоигры просто не отображали удаленные структуры или объекты. Будут визуализироваться только близлежащие объекты, а более удаленные части будут постепенно исчезать, по сути дальний туман. Видеоигры, использующие рендеринг LOD, избегают этого эффекта тумана и могут визуализировать большие области. Некоторые известные ранние примеры рендеринга LOD в 3D-видеоиграх включают: Спайро Дракон, Crash Bandicoot: Искаженный, Нереальный Турнир и Серьезный Сэм двигатель. В большинстве современных 3D-игр используется комбинация методов рендеринга LOD с использованием различных моделей для больших структур и удаленного удаления деталей окружающей среды, таких как трава и деревья. Эффект иногда все еще заметен, например, когда персонаж игрока летит над виртуальной местностью или использует снайперский прицел для просмотра на большом расстоянии. Когда вы приближаетесь, кажется, что трава и листва выскакивают наружу, что также называется удалением листвы.[4] LOD также можно использовать для рендеринга фрактальный ландшафт в реальном времени.[5]
В популярной игре по строительству города Города: горизонты, моды допускают различные степени LOD-ing.
В ГИС и 3D моделировании городов
LOD находится в ГИС и 3D модели городов как аналогичное понятие. Он показывает, насколько тщательно были нанесены на карту особенности реального мира и насколько модель соответствует своему реальному аналогу. Помимо геометрической сложности, в LOD модели могут учитываться другие показатели, такие как пространственно-семантическая согласованность, разрешение текстуры и атрибуты.[6]Стандарт CityGML содержит одну из самых известных категорий LOD.[7]
Аналог "LOD-ing" в ГИС упоминается как обобщение.
Программное обеспечение для рендеринга и моделирования
- MeshLab инструмент обработки сеток с открытым исходным кодом, который может точно упростить трехмерные полигональные сетки.
- Многоугольник Cruncher коммерческое программное обеспечение от Mootools, которое уменьшает количество полигонов объектов без изменения их внешнего вида.
- Simplygon коммерческий пакет обработки сетки для переплетение общие входные сетки в в реальном времени рендерируемые сетки.
Смотрите также
Рекомендации
- ^ http://people.cs.clemson.edu/~dhouse/courses/405/notes/OpenGL-mipmaps.pdf
- ^ http://computer-graphics.se/TSBK07-files/pdf/PDF09/10%20LOD.pdf
- ^ http://rastergrid.com/blog/2010/10/gpu-based-dynamic-geometry-lod/
- ^ «Документация Unreal Engine, Instanced Meshes листвы, отбраковка»
- ^ Масгрейв, Ф. Кентон, Крейг Э. Колб и Роберт С. Мейс. «Синтез и рендеринг размытых фрактальных ландшафтов». ACM Siggraph Компьютерная графика. Vol. 23. № 3. ACM, 1989.
- ^ Biljecki, F .; Ledoux, H .; Stoter, J .; Чжао, Дж. (2014). «Формализация уровня детализации в 3D-моделировании города». Компьютеры, окружающая среда и городские системы. 48: 1–15. Дои:10.1016 / j.compenvurbsys.2014.05.004.
- ^ Biljecki, F .; Ledoux, H .; Стотер, Дж. (2016). «Улучшенная спецификация LOD для 3D-моделей зданий». Компьютеры, окружающая среда и городские системы. 59: 25–37. Дои:10.1016 / j.compenvurbsys.2016.04.005.
- ^ Сообщения ACM, октябрь 1976 г. Том 19, номер 10. Страницы 547-554. Иерархические геометрические модели для алгоритмов видимой поверхности к Джеймс Х. Кларк, Калифорнийский университет в Санта-Крус. Оцифрованный скан доступен бесплатно по адресу https://web.archive.org/web/20060910212907/http://accad.osu.edu/%7Ewaynec/history/PDFs/clark-vis-surface.pdf.
- ^ Катмулл Э., Алгоритм подразделения для компьютерного отображения искривленных поверхностей. Tech. Представитель UTEC-CSc-74-133, Университет Юты, Солт-Лейк-Сити, штат Юта, 1 декабря
- ^ Рибеллес, Лопес и Бельмонте, «Улучшенная модель с дискретным уровнем детализации через инкрементное представление», 2010 г., доступно по адресу http://www3.uji.es/~ribelles/papers/2010-TPCG/tpcg10.pdf
- ^ де Бур, W.H., Быстрый рендеринг ландшафта с использованием геометрического отображения, в избранных статьях flipCode, октябрь 2000 г. Доступно на https://www.flipcode.com/archives/Fast_Terrain_Rendering_Using_Geometrical_MipMapping.shtml.
- ^ Статья Карла Эриксона в http://www.cs.unc.edu/Research/ProjectSummaries/hlods.pdf обеспечивает быстрый, но эффективный обзор механизмов HLOD. Более подробное описание следует в его диссертации на https://wwwx.cs.unc.edu/~geom/papers/documents/dissertations/erikson00.pdf.