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

УДК 004.93

С.А. Зори, Е.А. Башков

ИСПОЛЬЗОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ ВОЗМОЖНОСТЕЙ ГРАФИЧЕСКИХ СИСТЕМ ДЛЯ ОРГАНИЗАЦИИ ВИЗУАЛИЗАЦИИ ТРЕХМЕРНЫХ СЦЕН С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ ОБЪЕМНОГО ОТОБРАЖЕНИЯ

Исследованы подходы к пространственной SD-визуализации трехмерных сцен для устройств объемного отображения. При построении компьютерных систем как пространственной объемной, так и стереоскопической SD-визуализации для получения корректных и качественных визуальных результатов преимущественно используют методы рей-трейсинга (Ray tracing methods). Ввиду большой ресурсоемкости методов рей -трейсинга ведущим направлением повышения эффективности их реализации является применение высокопроизводительных специализированных параллельных вычислительных систем на базе графических видеоадаптеров. В статье рассмотрена реализация подхода к пространственной SD-стереовизуализации трехмерных сцен с использованием параллельного GPU. Проведенные эксперименты реализации синтеза изображений трехмерной сцены методом трассировки лучей на GPU с CUDA показали, что: около 60 % времени тратится на решение вычислительной задачи, значительная часть времени (около 40 %) тратится на пересылку данных между ЦП и GPU для вычислений и организации процесса визуализации. Исследования влияния увеличения размера вычислительной сети на скорость вычислений показали важность правильного задания структуры формир о-вания параллельной вычислительной сети и механизма распараллеливания.

Пространственная SD-визуализация; 3D-стереовизуализация; рей-трейсинг; параллельные вычисления на графическом мультипроцессоре; CUDA.

S.A. Zori, E.A. Bashkov

USE OF COMPUTING ON GRAPHIC SYSTEMS FOR VISUALIZATION OF 3D- SCENES WITH VOLUMETRIC DISPLAYING TECHNOLOGIES

This work is devoted to research of approaches to volumetric 3D-visualization of three-dimensional scenes. In computer systems both volumetric 3D-visualization and stereoscopic 3D-visualization for reception of correct and qualitative visual results mainly use Ray tracing methods. For increase of efficiency of their realization is used high-efficiency specialized parallel computing systems on GPU basis. In article is considered the realization of the approach to 3D-stereo visualization of three-dimensional scenes with use parallel GPU. The experiments of realization of image synthesis of 3D-scenes by Ray tracing method on GPU with CUDA have shown, that about 60 % of time it is spent for the decision of a computing task, the significant part of time (about 40 %) is spent for transfer of data between the CPU and GPUfor calculations and the visualization organization, and the correct formation of structure of the parallel computer network on GPU and choice of the common mechanism of parallel realization of the task is very important.

Volumetric 3D-visualization; stereo 3D-visualization; Ray tracing; parallel computing on GPU; CUDA

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

ционной объемной (3D-) визуализацией. К сферам применений объемной визуализации относятся любые области научной, исследовательской и практической деятельности человека, потенциально требующие на сегодняшний день улучшения и качественно нового уровня отображения результатов компьютерной симуляции и моделирования.

Задача реалистичной пространственной визуализации является сегодня активно обсуждаемой, имеющиеся результаты ее решения интенсивно внедряются в практическую область. Разработке эффективных методов и средств объемной (пространственной) 3D-визуализации посвящено множество работ [1—4]. Но, несмотря на это, единого и эффективного подхода к качественной реализации объемного отображения, как и фактически устройств, их реализующих, на сегодняшний день пока не существует.

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

Способы организации объемной визуализации. В настоящее время используются два основных способа отображения трехмерной информации в объемном виде (пространственной 3D-визуализации) - пространственная объемная 3D-визуализация (3D-volumetric visualization) и стереоскопическая 3D-визуализация (3D-stereoscopic visualization) [2-4].

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

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

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

Подавляющее же большинство объемных трёхмерных изображений визуализируется в настоящее время при помощи метода стереоскопической 3D-визуализации, как наиболее лёгкого в реализации, и базовыми методами построения объемных изображений для устройств 3D-визуализации на современном этапе являются методы, основанные на стереоскопии [2-5].

Необходимо также отметить следующую особенность - для получения корректных и качественных визуальных результатов сегодня при построении компьютерных систем как пространственной объемной, так и стереоскопической 3D-визуализации преимущественно используют методы рей-трейсинга (Ray tracing

methods) - «классический» Ray-tracing и Ray-casting в системах «классической» компьютерной 3D-графики и стереоскопической 3D-визуализации, и «объемный» метод Volume Ray-casting для организации объемного рендеринга в воксельных системах пространственной объемной 3D-визуализации [5, 6, 8].

Использование параллельных архитектур графических систем для организации объемной стереовизуализации методом трассировки лучей. Трассировка лучей (ray tracing) используется в машинной графике давно и успешно. Современные алгоритмы трассировки лучей являются оптимизацией базовых алгоритмов [6, 7], при этом, как правило, они используют алгоритм обратной трассировки луча из-за огромной вычислительной нагрузки классического метода. Характеристики некоторых популярных методов оптимизации трассировки лучей приведены в табл. 1.

Таблица1

Сравнительная характеристика методов оптимизации рэй-трэйсинга

Метод Преимущества Недостатки

Kd-деревья ♦ позволяет использовать бинарный поиск для нахождения примитива, пересекаемого лучом; ♦ простой и эффективный алгоритм траверса; ♦ хорош для GPU; ♦ занимает мало памяти ♦ трудоемкое построение, а именно, поиск разбиения с минимальным SAH; ♦ имеет большую глубину, чем BVH; ♦ больше шагов при построении

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

BVH-деревья ♦ обладают высокой скоростью и адаптивностью построения; ♦ довольно простой траверс как для трассировки лучей, так и для определения столкновений; ♦ хорош для GPU ♦ сложность структур данных

Однако даже с использованием модифицированных и оптимизированных методов трассировки без применения высокопроизводительных параллельных вычислительных систем решение задачи синтеза в реальном времени не представляется возможным [8]. Вследствие большого объема однотипных вычислений рендеринг можно разбивать на потоки (распараллелить). Поэтому для визуализации весьма актуально использование многопроцессорных систем [10, 3-5] и использование возможностей высокопроизводительных специализированных параллельных вычислительных систем на базе графических видеоадаптеров, например CUDA на графических видеокартах NVIDIA. Метод как прямой, так и обратной трассировки лучей хорошо масштабируется по числу процессоров. Поскольку лучи и фотоны могут трассироваться практически независимо друг от друга, то каждому узлу (процессору) параллельной системы можно выделить свою часть изображения для обработки, например, разделив картинку на N одинаковых частей и поручив каждому процессору рендеринг своей части [4, 10, 11] (рис. 1).

- объединение на главной машине

обоаботка на талах

Рис. 1. Схема паралельной трассировки лучей

Таким образом, базовая процедура синтеза стереоизображения есть подготовка (расчет) стереопары [4, 5, 9, 11]. В силу того, что расчет изображений может осуществляться абсолютно независимо для левого и правого изображения, процесс может быть распараллелен во времени и хорошо отображен на параллельные архитектуры вычислительных систем.

Тогда процесс компьютерного синтеза стереопары на GPU-CUDA можно организовать следующим образом:

♦ параллельная независимая реализация синтеза «левый канал» - «правый канал» на мультипроцессоре;

♦ параллельная «внутриканальная» реализация рендеринга методом трассировки лучей на ядрах мультипроцессора, выделенных под каждый канал.

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

Левый канал

Параллельное GPU

Рис. 2. Процесс стереосинтеза с использованием GPU

Экспериментальное исследование системы визуализации методом трассировки лучей на базе архитектуры CUDA. Эксперименты проводились для исследования зависимости временных характеристик синтеза от параметров, определяющих сложность генерируемой сцены, - количества источников освещения, количества объектов, составляющих сцену, их сложности, а также параметров вычислительной среды - размера вычислительной CUDA-сети и некоторых других параметров. Исследуемыми характеристиками системы являлись: время выполнения вычислительной части, время, необходимое для визуализации сцены, и общее время синтеза сцены. Во время экспериментов также определялся объем времени, который система тратила на каждый из этапов синтеза, для выявления потерь времени на пересылку данных из оперативной памяти в память GPU и синхронизацию работы частей системы.

Эксперименты по синтезу изображения трехмерной сцены проводились на графической видеокарте NVIDIA с использованием разработанного прототипа программной системы [9-11]. На рис. 3-4 представлены результаты некоторых экспериментов по синтезу изображения сцен.

Вычислительная сеть Рис. 3. Временные зависимости синтеза трехмерной сцены

Рис. 4. Временные зависимости синтеза трехмерной сцены от размера сети

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

сцена: 6 объектов; 1 источник освещения

Рис. 5. Затраты времени на основные процедуры при синтезе изображения

Выводы

1. Рассмотрена реализация подхода к пространственной 3D-стереовизуализации трехмерных сцен с использованием параллельного GPU.

2. Проведенные эксперименты реализации синтеза изображений трехмерной сцены методом трассировки лучей на GPU с CUDA показали, что:

♦ около 60 % времени занимают собственно численные расчеты;

♦ значительная часть времени (около 40 %) тратится на пересылку данных между ЦП и GPU для вычислений и организации процесса визуализации;

♦ решение тестовой задачи на вычислительной CUDA-сети размером (4:1) сокращает время вычислений на 20—25 % по отношению к сети размером (2:1).

3. Исследования влияния размера вычислительной сети на скорость вычислений показали важность правильного задания структуры формирования параллельной вычислительной сети и механизма распараллеливания.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Ray Zone. Stereoscopic cinema & the origins of 3-D film (University Press of Kentucky, 2007). -110 p.

2. 3D-Videocommunication - Algorithms, conceptsand real-time systems in human centred communication // Edited by Oliver Schreer, Peter Kauff, Thomas Sikora John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England. - 2005. - 340 p.

3. Башков Е.А., Зори С.А., Ковальский С.В. Современное алгоритмическое и аппаратное обеспечение виртуальных систем трехмерного моделирования окружающей обстановки // Науюж пращ Донецького национального техшчного ушверситету. Серiя "1нформатика, юбернетика i обчислювальна технжа, ИКВТ-2009. - Донецьк: ДонНТУ, 2009. - С. 11.

4. Башков Е.А., Зори С.А. Реалистичная визуализация трехмерных объектов и сцен с использованием технологий объемного отображения // Известия ЮФУ. Технические науки. - 2012. - № 5 (130). - C. 133-137.

5. Гуров А.В., Зори С.А. Реалистичная стереовизуализация трехмерных сцен методом трассировки лучей на специализированных параллельных вычислительных системах // Матерiали 4-1 М1жнародно1 науково-техшчно! конференцп «Моделювання та комп'ютерна графжа». - Донецьк: ДонНТУ, Мшстерство освгти та науки, молодi та спорту Укра1ни, 2011. - C. 109-113.

6. Hierarchical grid для быстрой трассировки лучей [Электронный ресурс]. - Электрон. текстовые данные. - Режим доступа: http://www.ray-tracing.ru/articles201.html Monday, 20 December 2010 13:21:12.

7. Interactive k-d Tree GPU Raytracing [Электронный ресурс]. - Электрон. текстовые данные. - Режим доступа: http://graphics.stanford.edu/papers/i3dkdtree / Friday, 2 May 2010 15:25:12.

8. Распределенная трассировка лучей [Электронный ресурс]. - Электрон. текстовые данные. - Режим доступа: http://www.ray-tracing.ru/articles208.html Monday, 20 December 2010 13:21:12.

9. Иванова Е.В., Зори С.А. Применение технологий параллельных вычислений для реализации реалистичной ЗД-графики // Матерiали Всеукрашсько! науково-техтчно! конференцп студентш, астрантш та молодих вчених «1нформацшт управляюч системи та компью-терний мотторшг (1УС та КМ-2010)». - Донецьк: ДонНТУ, 2010. - Т. 2. - С. 206-208.

10. Запорожченко И.А., Григорьев М.А., Зори С.А. Анализ методов уменьшения вычислительной сложности алгоритма трассировки лучей и способов их параллельной реализации // Матерiали 5-1 М1жнародно1 науково-технiчноl конференцп «Моделювання та комп'ютерна графжа». - Донецьк: ДонНТУ, Мшстерство освгти та науки Укра1ни, 2013. - С. 109.

11. Зори С.А. Синтез стереоизображений на параллельных графических вычислительных системах // Збiрник наукових праць науково-практично! конференцп «Комп'ютерна графжа та розтзнавання зображень». - Вшниця: Вшницький обласний iнститут тслядипломно! освгти, 2012. - С. 75-79.

Статью рекомендовал к опубликованию д.т.н., профессор А.В. Боженюк.

Зори Сергей Анатольевич - Государственное высшее учебное заведение «Донецкий национальный технический университет»; e-mail: zori@pmi.dgtu.donetsk.ua; 83001, г. Донецк, ул. Артема, 58, Украина; тел.: +380623010856; кафедра прикладной математики и информатики; к.т.н.; доцент.

Башков Евгений Александрович - e-mail: bashkov@pmi.dgtu.donetdk.ua; тел.: +380623053567; кафедра прикладной математики и информатики; зав. кафедрой; д.т.н.; профессор.

Zori Sergiy Anatol'evich - State Higher Education Establishment "Donetsk National Technical University"; e-mail: zori@pmi.dgtu.donetsk.ua; 58, Artyom street, Donetsk, 83001, Ukraine; phone: +380623010856; the department of Applied mathematics and Computer Science; cand. of eng. sc.; associate professor.

Bashkov Evgen Alexandrovich - e-mail: bashkov@pmi.dgtu.donetdk.ua; phone: +380623053567; the department of applied mathematics and computer science; the chief of department; dr. of eng. sc.; professor.