Попова Александра Николаевна

Факультет компьютерных наук и технологий

Кафедра компьютерной инженерии

Специальность «Системное программирование»

Разработка аппаратной поддержки модифицированного алгоритма трассировки лучей

Научный руководитель: к.т.н., доц., проф. каф. КИ Мальчева Раиса Викторовна

Реферат по теме выпускной работы

Содержание

Введение

Рост компьютерных технологий происходит интенсивными темпами. Расширяются сферы их применения. Повышается потребность их улучшения и развития. Одной из таких областей является компьютерная графика. Компьютерная графика начала свое развитие с 50-х годов. С каждым годом она принимала все большую значимость. Появлялись новые технологии и алгоритмы. На сегодняшний день существует множество способов визуализации для достижения различных эффектов в зависимости от поставленных задач.

1. Аппаратно-программная поддержка трассировки лучей

1.1 Актуальность темы

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

1.2 Цели и задачи

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

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

Предмет исследования – синтез изображений на основе метода трассировки лучей.

Объект исследования – аппаратурные решения при реализации трассировщика лучей.

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

2. Особенности трассировки лучей

2.1 Прямая трассировка

Итак, что же такое трассировка лучей? Трассировки лучей – это процесс прослеживания путей от заданной точки в сцене и оценки влияния на эту точку материала других точек из трехмерного окружения. Результатом является измененный цвет анализируемой точки. Таким образом можно просчитывать тени, отражения, преломления и прямую освещенность объекта [1].

При прямой трассировке лучей (излучательности) из источника света (1) выходит пучок лучей. Их траектория отслеживается и при попадании на объект (2). Далее отслеживается траектория из этой точки к зрителю (4), при этом получаем значения пикселя на сцене (3) (рисунок 1).

Пример получения значения пикселя методов излучательности

Рисунок 1 – Пример получения значения пикселя методов излучательности

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

  • разбивка поверхностей объектов синтезированной сцены на плоские участки;
  • расчет формфакторов для каждой пары участков;
  • решение системы энергетического баланса и распределение интенсивностей по узлам аппроксимации;
  • отрисовка – определение для каждого пикселя экрана точки пересечения луча с конкретным участком и расчет интенсивности для данной точки.

При этом первые три шага могут быть выполнены на стадии препроцесирования и только последний – на рабочей стадии.

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

2.2 Обратная трассировка лучей

При обратной трассировке отслеживаются лучи, которые попадают в глаз наблюдателя. От глаза испускаются лучи. При пересечении таким лучом объекта сцены отслеживается: видна ли эта точка одному из источников света (если их несколько). Для этого из этой точки испускаются лучи к каждому источнику света. Если луч находит пересечение с другим объектом прежде, чем достигнет источника, то такая точка находится в тени и освещать ее не нужно. Если же луч достиг источников, то освещенность данной точки буде равна сумме освещенностей от каждого такого источника. Если же объект имеет еще и отражающие свойства, то для отраженного луча повторяется аналогичная трассировка. Такой метод автоматически сокращает вычислительную нагрузку.

3. Значение аппаратурной поддержки

Для реализации алгоритма трассировки лучей в реальном времени необходима его аппаратурная поддержка. При визуализации изображения приходится выполнять большое число расчетов. При этом их число можно сократить, если принимать смежные пиксели равными. Для этого используют метод интерполяции. Например, если для изображения 1024×1024 провести интерполяцию по блокам 4×4, то число процессов уменьшится в 7 раз [2].

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

Рассмотрим пример распараллеливания алгоритма на примере математического выражения для поиска пересечения луча с полигональным объектом. Луч задан параметрическим уравнением (1). Каждая грань объекта – массивами координат вершин {x[n], y[n], z[n]} и нормальным вектором N={nx , ny, nz }, заданными в системе координат объекта (СКО).

(1)

где координата начала луча в СКО; – координата начала луча в СКО;

параметры луча (вектора) в СКО – параметры луча (вектора) в СКО.

Параметр t определяет пересечение луча с многогранником и определяется отношением (2) числителя (dev) к знаменателю (div), взятому с обратным знаком.

(2)

Знаменатель представляет собой скалярное произведение вектора луча на нормальный вектор грани (выражение 3).

(3)

Числитель есть подстановка точки начала луча в уравнение плоскости грани (5). При этом свободный член уравнения плоскости, d, определяется из выражения (4) подстановкой координат любой вершины грани в уравнение.

(4,5)

UML позволяет создать платформу для независимого описания, которое затем может быть использовано для принятия решений о программной (микропрограммной) или аппаратной реализации той или иной части системы. UML поддерживается значительной частью инструментальных средств [3]. Для построения UML-диаграмм выделим блоки элементарных вычислений (рисунок 2).

UML представление блоков элементарных вычислений

Рисунок 2 – UML представление блоков элементарных вычислений EBL: а) Sub-machine M1, b) Sub-machine A1, c) Sub-machine В1

Реализация выражения (3) требует 3-х умножений и 2-х сложений (рисунок 3), такой блок назовем P0BL. Используя введенные выше блоки элементарных вычислений получаем UML-диаграмма блока вычисления скалярного произведения.

UML-диаграмма блока вычисления скалярного произведения

Рисунок 3 – UML-диаграмма блока вычисления скалярного произведения (P0BL)

Блок вычисления числителя имеет ту же организацию, но в Sub-machine A1 вместе с Res2 нужно подать значение d. Обозначим такой блок P1BL. Делимое и делитель независимы и, следовательно, могут вычисляться параллельно. При этом для числителя необходимо предварительно вычислить параметр d. Рисунок 4 показывает такой порядок вычислений.

UML-диаграмма последовательно–параллельной реализации

Рисунок 4 – UML-диаграмма последовательно–параллельной реализации выражений (3)–(5)

Если для вычисления dev вместо блока с P1BL структурой применить блок с P0BL структурой, а затем к результату (dev0) прибавить параметр d (выражения 6), то выражения (3), (4) и первая часть из (6) могут быть рассчитаны параллельно (рисунок 5).

(6)

UML-диаграмма параллельной реализации

Рисунок 5 – UML-диаграмма параллельной реализации выражений (3)–(5)

Таким образом можно наглядно оценить реализацию различными способами и выбрать оптимальное решение поставленной задачи.

4. Анализ современного состояния использования метода

Из-за того, что с помощью метода трассировки лучей достигаются очень реалистичные изображения, то заинтересованность в этом методе довольно высока. Его используют для компьютерной графики в мультфильмах и кино. Такая компания, как PIXAR (рисунок 6) давно сотрудничает с NVIDIA и создает новые мультипликации с меньшими затратами времени и с качественной графикой.

Использование NVIDIA OptiX и Katana в реальном времени

Рисунок 6 – Использование NVIDIA OptiX и Katana в реальном времени (PIXAR) (анимация: 306×146px, 5 кадров, 10 циклов, 146kb)

NVIDIA активно разрабатывает разнообразные технологии (CUDA, Iray) и графические процессоры (GeForce, Quadro и Tesla) для ускорения вычислений методом трассировки лучей.

Imagination Technologies продемонстрировала работу своих аппаратных ускорителей трассировки лучей. Специализированные ускорители Caustic 2500 (с двумя чипами RT2 и 16 Гбайт памяти DDR2) и Caustic 2100 (один чип RT2 и 8 Гбайт памяти DDR2) (рисунок 7) были представлены в январе 2013 года [4].

Плата с ускорителем трассировки лучей

Рисунок 7 – Плата с ускорителем трассировки лучей Caustic 2500, размещённом под видеокартой

Ещё в 2014 году Imagination Technologies представили PowerVR GR6500, который стал первым мобильным GPU, содержащим выделенный блок Ray Tracing Unit (RTU), который отвечает именно за формирование изображения методом трассировки лучей. Правда, до потребительского сегмента эта технология всё ещё не добралась, хотя профессиональные настольные ускорители продаются уже достаточно давно[5]. На Mobile World Congress2016 компания представила серию графических процессоров для бюджетного сегмента с новой GPU-архитектурой – Series8XE (рисунок 8). Она будет использоваться в смартфонах, планшетах, телевизорах, оборудовании для потокового вещания и автомобилях [6].

Imagination Technologies Series8XE

Рисунок 8 – Imagination Technologies Series8XE

Не отстает от них и AMD. В 2016 году компания открыла исходные тексты библиотеки построения трёхмерных изображений методом трассировки лучей FireRays 2.0 и публикации её исходных текстов. Библиотека может использовать различные бэкенды (OpenCL GPU, OpenCL CPU, Embree и скоро Vulkan) для ускорения расчёта взаимодействия лучей с поверхностями и поддерживает работу в Linux, OS X и Windows. Кроме видеокарт AMD FirePro (видеокарты для рабочих станций) и Radeon (видеокарты для настольных ПК и ноутбуков), аппаратное ускорение также обеспечивается для GPU Intel (HD 4300, HD 5300) и NVIDIA (GeForce GTX970 и Titan X). Код открыт под лицензией MIT и передан под покровительство проекта GPUOpen [7].

В свою очередь в INTEL существуют разработки без использования GPU. OSPRay (open source, scalable, and portable ray tracing) – движок для высокой производительности визуализации высокой точности на базе архитектуры INTEL CPU. OSPRay полностью основан на CPU, и работает на любом ноутбуке, рабочей станции или вычислительном узле в системах для высокопроизводительных вычислений. OSPRay построен в первую очередь на Embree и ISPC (INTEL SPMD Program Compiler) , и полностью использует современные наборы инструкций, таких как INTEL SSE, AVX, AVX2 и AVX-512 для достижения высокой производительности рендеринга [8]. Embree представляет собой набор воспроизводительных ядер трассировки лучей, разработанных в INTEL [9].

Примером нетрадиционного использования технологий NVIDIA является решение проблемы, возникшей с возведенной в Лондоне башней. Оказалось, что изогнутое стекло, за которое 37-этажный небоскреб прозвали Walkie-Talkie (т.е. рацией), способно создавать опасные концентрации солнечных лучей. Это здание уже расплавило припаркованный рядом Jaguar XJ и буквально сварило шампунь в магазинчике неподалеку. На ежегодной конференции NVIDIA по GPU-технологиям GTC 2015 с помощью графических процессоров NVIDIA было показано, каким образом пятое по высоте здание в мире превратилось в опасного поджигателя. Смоделировав ситуацию с лондонским небоскребом, исследователи обнаружили, что отраженные от Walkie-Talkie солнечные лучи могли причинить еще больший вред. Стеклянные изгибы создают на поверхности точки, в которых температура может подниматься до 93 градусов Цельсия. Если еще чуть изменить изгиб поверхности, это здание могло бы растопить и свинец.

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

До последнего времени моделирование отраженного света занимало крайне много времени. Поэтому обычно им занимались на этапе презентации заказчику практически законченных проектов, используя специфические условия освещения. Чаще всего презентовались избранные ракурсы модели, а не интерактивное моделирование взаимодействия объекта с изменяющейся окружающейся средой (рисунок 9). Новая технология рендеринга Iray 2015 изменяет процесс. В паре с видеокартой Quadro M6000, новым флагманом линейки профессиональных решений NVIDIA, Iray 2015 моделирует взаимодействие света с объектами в сцене по мере изменения макета дизайнерам [10]. Такой подход позволит моделировать отражение лучей не только для построения изображений, но и для изучения их влияния.

Моделирование в реальном времени

Рисунок 9 – Моделирование в реальном времени при помощи технологии NVIDIA Iray

Выводы

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

При написании данного реферата магистерская работа еще не завершена. Окончательное завершение: июль 2017 года. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.

Список литературы

  1. Плаксин А.А., Любанов А.В., Mental Ray / Iray. Мастерство визуализации в Autodesk 3ds Max – М.:ДМК Пресс, 2012. –258с.:ил.
  2. Сереженко А.А, Разработка ускоренного алгоритма трассировк лучей [Электронный ресурс] – Режим доступа: http://masters.donntu.ru/2010...
  3. Gonzalez, I., Aguayo, E., Lopez-Buedo, S. Self-reconfigurable embedded systems on Low-Cost-FPGAs // Micro, 2007. - № 27(4). – РР. 49–57.
  4. Константин Ходаковский, Imagination: трассировка лучей в реальном времени может появиться в мобильных устройствах [Электронный ресурс] – Режим доступа: http://www.3dnews.ru/...
  5. Imagination Technologies в очередной раз показала, что её GPU способны формировать изображение методом трассировки лучей[Электронный ресурс] – Режим доступа: http://www.ixbt.com/...
  6. Андрей Шиллинг, Imagination Technologies представила новые GPU начального уровня и оборудование для трассировки лучей [Электронный ресурс] – Режим доступа: http://www.hardwareluxx.ru/...
  7. Компания AMD открыла исходные тексты библиотеки трассировки лучей FireRays 2.0[Электронный ресурс] – Режим доступа: https://www.opennet.ru/...
  8. Официальный сайт проекта OSPRay[Электронный ресурс] – Режим доступа: http://www.ospray.org
  9. Embree Overview[Электронный ресурс] – Режим доступа: http://embree.github.io
  10. Трассировка лучей в реальном времени может уберечь от лучей смерти в реальной жизни[Электронный ресурс] – Режим доступа: http://www.nvidia.com.ua/...
  11. Malcheva R. Application of multilevel design on the base of UML for digital system developing // in book “Design of Digital Systems and Devices. Series: Lecture Notes in Electrical Engineering. – Springer-Verlag Berlin Heildelberg, 2011. – Vol. 79. - PP. 93-117.

  • Резюме
  • Биография
  • Реферат
  • Библиотека
  • Ссылки
  • Отчет о поиске
  • Индивидуальный раздел