1 / 15

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

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

ryder
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. Моделирование движения • Расчет приращений кинематических параметров (функции состояния) • Получение новых значений параметров – решение ОДУ движения • метод Эйлера • метод Рунге-Кутта • Применение полученных позиций и скоростей к телам Для каждого тела данные независимы и вычисления выполняются параллельно GPU

  6. Грубая проверка пересечений пар ограничивающими объемами AABB vs AABB OBB vs OBB Обнаружение пересечений Геометрия твердых тел Для каждого тела составление списка клеток, содержащих их. Создание потенциально пересекающихся пар объектов на основе дискретного разбиения пространства на ячейки GPU GPU • Точная проверка пересечений твердых тел: • Для каждой пары тел выполняется проверка пересечений алгоритмом GJK, реализованным на GPU Пары тел, находящиеся в одних клетках сетки CPU Широкая фаза Узкая фаза GPU Пары тел, подозрительных на пересечение Множество контактов в точках коллизий

  7. Реакция на пересечения 1 блок • Применение импульса в точке пересечения тела приводит к изменению скоростей, нужных для формирования данных об остальных контактных точках • Для параллельной обработки коллизий требуется модификация алгоритма 2 блок 3 блок • Алгоритм параллельной обработки пересечений: • Построение графа зависимостей • Построение реберной раскраски графа зависимостей • Формирование независимых от данных множеств пар - блоки • В каждом блоке пары обрабатываются на GPU параллельно • Расчет импульсов, применяемых к телам Пример реберной раскраски графа зависимостей

  8. Анализ производительности • Увеличение производительности метода на GPU в 6-8 раз относительно реализации на CPU • Нелинейная сложность метода относительно количества обрабатываемых объектов

  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 • Physics on NVIDIA GPUs, Mark Harris, 2006 • OpenCL Game Physics : Bullet: A Case Study in Optimizing Physics Middleware for the GPU, Erwin Coumans. 2009 • GPU Gems 3: Part V - Physics Simulation, 2008 • Real-Time Collision Detection, Christer Ericson, 2005 • Parallel Continuous Collision Detection, Duksu Kim, Jae-Pil Heo, Sung-eui Yoon, 2008

  12. Обнаружение пересечений Широкая фаза Геометрия твердых тел • Для каждого тела составляется список клеток, содержащих его. • Создание потенциально пересекающихся пар объектов на основе дискретного разбиения пространства на ячейки. Пара тел, находящиеся в одних клетках сетки Грубая проверка пересечений пар ограничивающими объемами: • AABB • OBB • Сфера Точная проверка пересечений двух тел Для каждой пары тел параллельно выполняется проверка пересечений одним из алгоритмов, реализуемых GPU • GJK • V-clip Узкая фаза

  13. Обнаружение пересечений Для каждого тела составление списка клеток, содержащих их. Создание потенциально пересекающихся пар объектов на основе дискретного разбиения пространства на ячейки GPU Геометрия твердых тел CPU Широкая фаза Пары тел, находящиеся в одних клетках сетки

  14. Грубая проверка пересечений пар ограничивающими объемами • AABB • OBB • Сфера Обнаружение пересечений (2) Пары тел, находящиеся в одних клетках сетки GPU Широкая фаза Пары тел, подозрительных на пересечение

  15. Обнаружение пересечений (3) Пары тел, подозрительных на пересечение • Точная проверка пересечений твердых тел • Для каждой пары тел параллельно выполняется проверка пересеченийодним из алгоритмов, реализуемых на GPU • GJK • V-clip Узкая фаза GPU Множество контактов в точках коллизий

More Related