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).


 

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

75124. Внутренняя среда организации. Методы и модели анализа 32.44 KB
  Strength Neutrl Wekness это анализ сильных нейтральных и слабых сторон организации. Как показала практика в ситуации стратегического анализа внутренней среды организации в качестве нейтральной позиции лучше всего фиксировать среднерыночное состояние для данной конкретной ситуации. К распространению также относят систему организации продаж напрямую потребителям через дилеров дистрибьюторов и т.
75125. Актуальность темы лидерства. Качества лидера. Феномен лидера 45.5 KB
  Лидер (от leader) — ведущий, первый, идущий впереди) — лицо в какой-либо группе (организации), пользующееся большим, признанным авторитетом, обладающее влиянием. Член группы, за которым она признает право принимать ответственные решения в значимых для неё ситуациях
75126. Типы лидерства: эмоциональное, ситуационное, контекстное и др. Типы лидеров 17.54 KB
  Типы лидерства: эмоциональное ситуационное контекстное и др. Типы лидеров. Богатство сторон аспектов лидерства определяет многообразие его типологии. Наиболее простой и широко распространенной классификацией лидерства в организации является выделение следующих типов иногда их называют ролями лидера: Деловое лидерство Оно характерно для групп возникающих на основе производственных целей.