77360

Параллельный рендеринг воксельной графики

Научная статья

Информатика, кибернетика и программирование

В данной статье описывается разработка средств распараллеливание воксельной графики используемой для представления больших объемов данных получаемых в результате компьютерного моделирования сложных процессов. Обычно данных представляются в виде 3х мерного массива. Затем вычисляется ближайшая точка пересечения этого луча с областью данных параллелограммом. После этого алгоритм движется по трёхмерному массиву данных с шагом в одну ячейку до попадания в не пустую точку.

Русский

2015-02-02

27.5 KB

2 чел.

Параллельный рендеринг
воксельной графики

И.О. Михайлов

Институт математики и механики УрО РАН, УрФУ

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

В самом общем случае воксельная графика предусматривает хранение объекта в виде набора(облака) точек. Обычно данных представляются в виде 3-х мерного массива. Одним из основных преимуществом воксельной графики по сравнению с полигональной является возможность продемонстрировать внутреннюю структуру объекта. А основным недостатком высокие требования по памяти и малое распространение специализированных аппаратных средств для расчёта графики.

Базовым алгоритмом рендеринга использованным в работе является трассировка лучей (точнее Ray casting). Этот алгоритм заключается в следующем из каждой точке изображения строится луч. Затем вычисляется ближайшая точка пересечения этого луча с областью данных(параллелограммом). После этого алгоритм движется по трёхмерному массиву данных с шагом в одну ячейку, до попадания в не пустую точку. Основным преимуществом данного метода является большие возможности распараллеливания (вплоть до каждой точки изображения), а основным недостатком большая вычислительная сложность.

Для корректного отображения данных с полупрозрачными ячейками необходимо модифицировать данный алгоритм. Вычисляется дальняя точка пересечения луча с областью данных, и движение по трёхмерному массиву осуществляется в обратном направлении.

В данной работе используются плотные октодеревевьев в виде набора 3х-мерных массивов. Первый из них в 8 раз меньше массив исходных данных, каждый последующий в 8 раз меньше предыдущего. В каждом элементе массива хранится количество не пустых ячеек в соответствующей области основного массива (с данными). Это даёт возможность быстро пропускать пустые участки при трассировке лучей. Этот подход даёт те же преимущества что и разряженные октодеревья, кроме экономии памяти, однако значительно упрощает доступ к отдельным вокселям и их модификацию. Алгоритм прямого хода эффективен за счёт пропуска уже заполненных точек, но не поддерживает прозрачность. Для корректного отображения полупрозрачных данных необходимо использовать алгоритм обратного хода.

Первые результаты были получены на многоядерном персональном компьютере. При этом использовалась технология OpenMP, для параллельного рендеринга точек изображения. Область данных была общая для всех потоков.

Область данных представляет собой 3-х мерный массив из 4-байтовых целых чисел, в котором ненулевые ячейки задают объект, а нулевые считаются пустыми. Не нулевые ячейки содержат информацию о цвете и прозрачности точек объекта. Возможно расширения до 8-байтовых целых чисел, для хранения вспомогательной информации. В текущей реализации используются кубические массивы со стороной равной степени двойки (от 128 до 512). Для ускорения работы строится набор вспомогательных массивов, хранящих информацию о группах пустых ячеек для быстрого их пропуска. Затем эксперименты были перенесены на суперкомпьютер Уран ИММ УрО РАН, где для реализации использовалась библиотека MPI. При этом узлы были разделены на несколько групп. Области данных внутри одной группы дублировались. Сперва производился независимый рендеринг изображений в каждой группе, а затем полученные изображения совмещались в одно с учётом буфера глубины.

Благодаря тому, что окончательное изображение получает сложением вспомогательных с учётом буфера глубины, есть возможность использовать алгоритмы отличные от трассировки лучей. Например некоторые данные возможно эффективней хранить в виде облака точек, с последующим проецированием на плоскость экрана. Описанный выше алгоритм можно использовать в средах виртуальной реальности.

Работа выполнена в рамках программы Президиума РАН № 18 "Алгоритмы и математическое обеспечение для вычислительных систем сверхвысокой производительности" при поддержке УрО РАН (проект 12-П-1-1034).


 

А также другие работы, которые могут Вас заинтересовать

79378. Комп’ютери бувають різні 66.5 KB
  Мета: сформувати уявлення про види компютерів; розглянути види компютерів та сфери їх застосування; повторити правила безпечної роботи та поведінки в компютерному класі правила вибору переміщення обєктів; вчити робити висновки узагальнення доводити власну думку...
79379. ПРАВИЛА БЕЗОПАСНОГО ПОВЕДЕНИЯ В СИТУАЦИЯХ КРИМИНОГЕННОГО ХАРАКТЕРА 36.5 KB
  Не держите деньги в карманах в которые легко проникнуть вору. Ключи и кошелек храните во внутренних карманах При выходе из дома в темное время суток избегайте малолюдных и плохо освещенных мест пустынных парков и скверов; на улице держитесь подальше от стен домов.
79380. Относительное позиционирование 85.5 KB
  Смещение в этом случае будет происходить не относительно «родительского» элемента (как при абсолютном позиционировании), а относительно самого блока в нормальном потоке. Это будет понятнее на примере. Пусть у нас есть html-страница с тремя div-ами...
79381. УГОЛОВНАЯ ОТВЕСТВЕННОСТЬ НЕСОВЕРШЕННОЛЕТНИХ. ПОНЯТИЕ ПРСТУПЛЕНИЯ. ОСОБЕННОСТИ УГОЛОВНОЙ ОТВЕТСТВЕННОСТИ НЕСОВЕРШЕННОЛЕТНИХ 16.78 KB
  Лишение свободы на определенный срок в возрасте до 16 лет на срок до 6 лет. Если за особо тяжкое преступления с санкцией до 10 лет несовершеннолетним назначается отбытие в воспитательных колониях. М.Б. наказание в виде лишения свободы и за небольшой и средней тяжести преступления, есл преступления совершены впервые.
79382. УГОЛОВНАЯ ОТВЕСТВЕННОСТЬ ЗА ХУЛИГАНСТВО, ВАНДАЛИЗМ, НАДРУГАТЕЛЬСТВО, ЗА ПРИВЕДЕНИЕ В НЕГОДНОСТЬ ТРАНСПОРТНЫХ СРЕДСТВ 19.16 KB
  Грубое нарушение общественного порядка: действия причинившие существенный ущерб личным или общественным интересам либо выразившееся в злостном нарушении общественной нравственности Примеры: срыв общественного мероприятия нарушение покоя и отдыха граждан в ночное время распитие спиртных...
79383. ПРАВИЛА ПОВЕДЕНИЯ В УСЛОВИЯХ ЧС ПРИРОДНОГО И ТЕХНОГЕННОГО ХАРАКТЕРА 55 KB
  Способы оповещения и управления эвакуацией людей при пожаре: подачей звуковых и или световых сигналов во все помещения здания с постоянным или временным пребыванием людей; трансляцией текстов директор школы зам. директора о необходимости эвакуации путях эвакуации направлении...
79385. ПРЕДНАЗНАЧЕНИЕ И ЗАДАЧИ ГО. СТРУКТУРА И ОРГАНЫ УПРАВЛЕНИЯ. КЧС И ПБ 60 KB
  Определяет: задачи и правовые основы их осуществления; правовое регулирование в области гражданской обороны; принципы организации и ведения гражданской обороны; полномочия органов государственной власти Российской Федерации органов исполнительной власти субъектов Российской Федерации...
79386. ЯДЕРНОЕ ОРУЖИЕ И ЕГО ПОРАЖАЮЩИЕ ФАКТОРЫ 36 KB
  Световое излучение – поток лучистой энергии: ультрафиолетовые, инфракрасные видимые лучи. Вызывает ожоги, поражение органов зрения, возгорание горючих веществ. Время действия – 20 секунд. Защита: непрозрачные материалы, убежища, различные преграды.