1 / 11

Моделирование динамики твердых тел на GPU

Моделирование динамики твердых тел на GPU. Выполнили: Гриднев Максим Машинский Леонид Присивко Вячеслав гр. 3057 /2. Моделирование движения твердых тел (ТТ) в виртуальном пространстве. Постановка задачи. Требования: Ограничения движения ТТ: Столкновения

Download Presentation

Моделирование динамики твердых тел на GPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Моделирование динамики твердых тел на GPU Выполнили: Гриднев Максим Машинский Леонид Присивко Вячеслав гр. 3057/2

  2. Моделирование движения твердых тел(ТТ) в виртуальном пространстве Постановка задачи • Требования: • Ограничения движения ТТ: • Столкновения • Упругие и жесткие связи между телами • Интерактивность: • Моделирование в реальном времени (~10% от общего времени просчета) • Детализированные статические объекты (ландшафт, окружение)

  3. Обзор существующих решенийна CPU • Моделирование движения • Обнаружение пересечений • Широкая фаза • Регулярная и древовидная сетка • AABB, OBB, SAT • Узкая фаза • GJK(EPA) • Lin-Canny • V-Clip • Реакция на пересечения

  4. Модификация решений для GPU • Алгоритмы должны обрабатывать данные для каждого твердого тела независимо и параллельно • Модификация : • Разрешить зависимости между данными твердых тел, используемые алгоритмами • Перенести на GPU алгоритмы для одиночного тела или пары тел Использование GPU может датьзначительный прирост производительности Динамика роста производительности CPU и GPU

  5. Моделирование движения Вход: N тел с кинематическими параметрами Алгоритм: Для каждого твердого тела • Расчет приращений кинематических параметров (функции состояния). • Получение новых значений параметров – решение задачи Коши • метод Эйлера • метод Рунге-Кутта • Применение полученных позиций и скоростей к телам Выход: N тел с новыми значениями параметров Для каждого тела данные независимы и вычисления выполняются параллельно

  6. Вход: N тел с заданными позициями и геометрией • Алгоритм: • Для каждого из N тел на GPU построить список клеток сетки, в которых тело находится • Создание потенциально пересекающихся пар объектов на основе дискретного разбиения пространства на ячейки • Для каждой полученной пары на GPU выполнить грубую проверку • AABB с AABB • OBB с OBB • Выход: Список пар тел, подозрительных на пересечение Обнаружение пересечений Рис.1. (a) Выровненный по осям ограничивающий параллепипед (AABB) (b) Ориентированный ограничивающий параллепипед (OBB) Широкая фаза Узкая фаза • Вход: Список пар тел, подозрительных на пересечение • Алгоритм: • Для каждой пары на GPU выполнить точную проверку на пересечения используя алгоритм GJK • Выход: Список пар пересекающихся сел, информация о пересечениях

  7. Информация о пересечении - точки контактов • Контакт покоя • Метод последовательных импульсов [Catto, 2006] • Ударный контакт • Использование гипотезы Ньютона[Mitrich, 1994] • Последовательная обработка контактов для каждого тела Реакция на пересечения 1 блок 2 блок Рис.1. Контакт покоя Рис.2. Ударный контакт 3 блок • Алгоритм параллельной обработки контактов: • Построение графа зависимостей • Построение реберной раскраски графа зависимостей • Формирование независимых от данных множеств пар - блоки • В каждом блоке пары обрабатываются на GPU параллельно • Расчет импульсов, применяемых к телам Рис. 3. Пример реберной раскраски графа зависимостей

  8. Анализ производительности • Увеличение производительности метода на GPU в 6-8 раз относительно реализации на CPU • Cложность метода относительно количества обрабатываемых объектов – O(N2)

  9. Выводы Моделирование динамики твердых тел на GPU дает следующие преимущества: Разгрузка CPU для выполнения альтернативных задач Возможность увеличения количества обрабатываемых тел в 10 раз без потери производительности

  10. Спасибо!

  11. Литература • An Introduction to Physically Based Modeling:Rigid Body Simulation I—Unconstrained Rigid BodyDynamics, David Baraff, 1997 • An Introduction to Physically Based Modeling: Rigid Body Simulation II—Nonpenetration Constraints, David Baraff, 1997 • GPU Gems 3: Part V - Physics Simulation, 2008 • Real-Time Collision Detection, Christer Ericson, 2005 • Physics on NVIDIA GPUs, Mark Harris, 2006 • OpenCL Game Physics : Bullet: A Case Study in Optimizing Physics Middleware for the GPU, Erwin Coumans. 2009

More Related