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

Содержание

Слайд 2

Основные темы

Что такое уровень детализации
Статические и динамические методы
Видозависимость
Реализация
По

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

Слайд 3

Мотивация

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

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

Слайд 4

Мотивация: большие модели

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

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

Слайд 5

Пример модели

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

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

Слайд 6

Пример модели

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

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

Слайд 7

Уровень детализации: Основная идея

Возможное решение:
Упрощение геометрии малых или удаленных объектов
Известно как Level

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

Слайд 8

Уровень детализации: традиционный подход

Создание уровней детализации объектов (LODs)

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

Слайд 9

Уровень детализации: традиционный подход

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

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

Слайд 10

Традиционные подход: статический LOD

Традиционный подход:
Во время препроцессинга создается отдельный LOD для каждого

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

Слайд 11

Преимущества статического LOD

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

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

Слайд 12

Преимущества статического LOD

Позволяет на полную использовать аппаратное ускорение
Статические LODы можно легко упаковать

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

Слайд 13

Недостатки статического LOD

Вопрос: Почему же возникает необходимость использовать что-то кроме статического LOD?
Ответ:

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

Слайд 14

Радикальное упрощение

Для радикального упрощения геометрии:
сложные объекты должны быть разбиты на простые
простые –

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

Слайд 15

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

Отличие от традиционного подхода:
Статический LOD: создание уровней заранее перед визуализацией
Динамический

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

Слайд 16

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

Данный уровень детализации определяется точно, а не выбирается из

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

Слайд 17

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

Более плавная визуализация
Переключение между статическими LODами может привести к

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

Слайд 18

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

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

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

Слайд 19

Видозависимый LOD: варианты применения

Видозависимость используется для того, чтобы
Показывать близкие часть объекта с

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

Слайд 20

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

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

Слайд 21

Иерархический LOD

Видозависимые LOD могут решить проблему с большими объектами
Иерархические LOD решают проблему

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

Слайд 22

Иерархический LOD

Очень хорошо взаимодействует с видозависимым LOD.
Можно рассматривать всю сцену как

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

Слайд 23

Алгоритмы видозависимых LOD

Разработано достаточно много хороших алгоритмов видозависимых LOD
Далее для примера будет

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

Слайд 24

Обзор метода VDS

Обзор метода VDS:
На эпапе препроцессинга строится дерево вершин - иерархическая

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

Слайд 25

Структуры данных

Дерево вершин
Содержит всю модель
Представляет иерархию всех вершин
Используется на каждом кадре для

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

Слайд 26

Дерево вершин

С каждым узлом дерева ассоциировано подмножество вершин модели
С каждым листовые узлом

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

Слайд 27

Дерево вершин: сворачивание и разворачивание

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

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

Слайд 28

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

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

Слайд 29

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

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

Слайд 30

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

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

Слайд 31

Дерево вершин: livetris и subtris

2 категории треугольников

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

Слайд 32

Дерево вершин: livetris и subtris

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

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

Слайд 33

Видозависимое упрощение

Может быть использован любой интерактивный критерий сворачивания узла.
Примеры видозависимых критериев упрощения
Размер

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

Слайд 34

Оптимизация

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

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

Слайд 35

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

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

Слайд 36

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

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

Слайд 37

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

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

Слайд 38

Видозависимый LOD vs. Статического LOD

Видозависимый LOD предпочтительнее, когда
Модели содержат большое число небольших

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

Слайд 39

Видозависимый LOD vs. Статического LOD

Статический LOD является лучшим выбором, так как обладает

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

Слайд 40

Видозависимый LOD vs. Статического LOD

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

Видозависимый LOD vs. Статического LOD Приложения, которые используют Статический LOD Видеоигры Симуляторы
приложения
Виртуальные музеи
Имя файла: Введение-в-методы-переменного-уровня-детализации-полигональных-сеток.pptx
Количество просмотров: 203
Количество скачиваний: 0