'

Введение в методы переменного уровня детализации полигональных сеток

Понравилась презентация – покажи это...





Слайд 0

Введение в методы переменного уровня детализации полигональных сеток Алексей Игнатенко ignatenko@graphics.cs.msu.su


Слайд 1

Основные темы Что такое уровень детализации Статические и динамические методы Видозависимость Реализация По материалам учебного курса при конфереренции ACM SIGGRAPH 2001


Слайд 2

Мотивация Очень важен интерактивный рендеринг геометрических данных большого объема Научная и медицинская визуализация CAD Симуляторы Игры


Слайд 3

Мотивация: большие модели Проблема Полигональные модели часто слишком сложны для интерактивной визуализации Более того, чем быстрее становится «железо» тем больше становятся модели.


Слайд 4

Пример модели 10 миллионов треугольников


Слайд 5

Пример модели 80 миллионов треугольников


Слайд 6

Уровень детализации: Основная идея Возможное решение: Упрощение геометрии малых или удаленных объектов Известно как Level of Detail (LOD) Так же известно как polygonal simplification, geometric simplification, mesh reduction, multiresolution modeling,…


Слайд 7

Уровень детализации: традиционный подход Создание уровней детализации объектов (LODs)


Слайд 8

Уровень детализации: традиционный подход Более удаленные объекты используют более грубые уровни детализации


Слайд 9

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


Слайд 10

Преимущества статического LOD Легко программируется Создание и визуализация разделены Создание LODов не учитывает ограничений интерактивной визуализации От визуализации требуется только выбрать нужный LOD


Слайд 11

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


Слайд 12

Недостатки статического LOD Вопрос: Почему же возникает необходимость использовать что-то кроме статического LOD? Ответ: Потому что иногда статический LOD не подходит для радикального упрощения геометрии Например: Ландшафты Трехмерные изоповерхности Данные с трехмерных дистанционных сканеров Сложные CAD-модели


Слайд 13

Радикальное упрощение Для радикального упрощения геометрии: сложные объекты должны быть разбиты на простые простые – скомбинированы Это очень сложно или невозможно при статическом подходе Так что же можно сделать?


Слайд 14

Динамический уровень детализации Отличие от традиционного подхода: Статический LOD: создание уровней заранее перед визуализацией Динамический LOD: создание структуры данных, из которой геометрия с нужной детализацией может быть извлечена в реальном времени во время визуализации.


Слайд 15

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


Слайд 16

Динамический уровень детализации: преимущества Более плавная визуализация Переключение между статическими LODами может привести к эффекту «перепрыгивания» Динамические LOD позволяют плавно изменять уровень разбиения, устраняя этот эффект


Слайд 17

Динамический уровень детализации: преимущества Поддерживает прогрессивную передачу Поддерживает видозависимые (view-dependent) LOD Можно использовать текущие параметры виртуальной камеры для определения лучшего представления для данного вида.


Слайд 18

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


Слайд 19

Динамический уровень детализации: пример


Слайд 20

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


Слайд 21

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


Слайд 22

Алгоритмы видозависимых LOD Разработано достаточно много хороших алгоритмов видозависимых LOD Далее для примера будет рассмотрен алгоритм VDS (View-Dependent simplification)


Слайд 23

Обзор метода VDS Обзор метода VDS: На эпапе препроцессинга строится дерево вершин - иерархическая кластеризация вершин данной полигональной сетки Во время рисования кластеры разворачиваются и сворачиваются в зависимости от положения виртуальной камеры Кластеры, которые становятся слишком маленькими, сворачиваются, уменьшая общее число треугольников


Слайд 24

Структуры данных Дерево вершин Содержит всю модель Представляет иерархию всех вершин Используется на каждом кадре для обновления Список активных треугольников Представляет текущее упрощение Содержит список треугольников для рисования Треугольники добавляются или удаляется в результате операций с деревом вершин.


Слайд 25

Дерево вершин С каждым узлом дерева ассоциировано подмножество вершин модели С каждым листовые узлом ассоциирована вершина из оригинальной модели С каждым промежуточным узлом ассоциировано множество вершин, ассоциированных с каждым из его потомков. Каждому узлу также присваивается представляющая его вершина, или заместитель (proxy)


Слайд 26

Дерево вершин: сворачивание и разворачивание Сворачивание узла дерева заменяет ассоциированные с ним вершины на вершину-заместитель Разворачивание узла заменяет заместитель на ассоциированные вершины


Слайд 27

Дерево вершин: пример


Слайд 28

Дерево вершин: пример


Слайд 29

Дерево вершин: пример


Слайд 30

Дерево вершин: livetris и subtris 2 категории треугольников


Слайд 31

Дерево вершин: livetris и subtris Ключевое наблюдение: Для каждого узла дерева subtris может быть вычислено заранее Для каждого узла дерева livetris можно поддерживать в реальном времени.


Слайд 32

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


Слайд 33

Оптимизация Методы оптимизации Асинхронное упрощение сетки Распараллеливание алгоритма Использование пространственной связности За малый промежуток времени сцена меняется мало Поддержание связанной геометрии в памяти Оптимизация для аппаратных ускорителей


Слайд 34

Проблема: перехлестывание сетки


Слайд 35

Проблема: искажение сетки (mesh foldovers)


Слайд 36

Проблема: искажение сетки (mesh foldovers)


Слайд 37

Видозависимый LOD vs. Статического LOD Видозависимый LOD предпочтительнее, когда Модели содержат большое число небольших объектов (напр. ландшафт) Упрощение должно выполняться автоматически (напр. CAD) Необходима гибкая система видозависимых критериев упрощения сетки


Слайд 38

Видозависимый LOD vs. Статического LOD Статический LOD является лучшим выбором, так как обладает свойствами Простая для реализации модель Малая загрузка CPU Проще использовать аппаратуру


Слайд 39

Видозависимый LOD vs. Статического LOD Приложения, которые используют Статический LOD Видеоигры Симуляторы Видозависимый LOD Инструменты CAD Научные и медицинские приложения Виртуальные музеи


Слайд 40

Вопросы?


×

HTML:





Ссылка: