ДонНТУ Магистерские работы

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

С.А. Зори
профессор кафедры «Программная инженерия» им. Л.П. Фельдмана,
Донецкий национальный технический университет
ik.ivt.rec@mail.ru

Аннотация

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

Введение

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

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

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

Общая концепция представления трехмерной дискретной объемной сцены и синтеза изображений в системе объемной пространственной визуализации

Предлагается следующая обобщенная концепция представления дискретной объемной трехмерной сцены (объемного объектного пространства, «мира») и синтеза 3D-объемных изображений [1] (рис. 1). Далее будем использовать прямоугольную (декартову) правостороннюю трехмерную систему координат.

Пусть заданы:

  1. Воксель – минимальный трехмерный пространственный элемент дискретизированного с некоторым шагом некоторого трехмерного пространства, в общем случае трехмерный прямоугольный параллелепипед. В простейшем случае - трехмерный куб с единичными сторонами.
  2. Вокселизированный дискретный мир (сцена) Wd как объемное дискретно-пространственное представление геометрии (Gd) и энергетических характеристик (Ed) «реального» мира (сцены) Wr, заданное объемными воксельными моделями (аппроксимациями) объектов и окружающего их 3D-пространства мира - Wr ⇒ Wd. Для Wd заданы:
    • 2.1) Параметры пространственной дискретизации мира (пространства сцены и объектов) – разрешение Ds, Do.
    • 2.2) Мировая система координат (МСК) - OXYZ.
      В МСК определено воксельное представление пространства сцены S как массив вокселей VS[l,m,n], где l,m,n – индексы вокселя в VS, соответствующие координатам XYZ в МСК. Значение вокселя VS[l,m,n] суть некоторая характеристика «воздуха» пространства сцены в определенном данным вокселем объеме (например, коэффициент поглощения, и т.п.)
    • 2.3) Воксельные представления объектов сцены Oi, определенные в системе координат объекта (СКО) OXoiYoiZoi или в МСК.
      Под воксельным представлением объекта Oi будем понимать множество (массив) вокселей VOi[l,m,n], таких, что Oi = ⋃VOi, l,m,n – индексы вокселя в VOi, соответствующие координатам XoiYoiZoi в СКО.
      Для объекта Oi собственная (связанная) система координат (СКОi), задается:
      • положением СКОi относительно МСК (X0oi, Y0oi, Z0oi);
      • углами поворота СКОi относительно МСК (ψoi, θoi, γoi).
      При этом значение вокселя VOi[l,m,n] суть некоторая характеристика объекта в этом «элементарном» объеме (цвет, прозрачность и т.п.)
    • 2.4) Источники освещения Lj - заданы в МСК своим местоположением (XLj, YLj, ZLj) и энергетическими характеристиками (цвет, интенсивность и пр.), точечные источники света.
      Отметим, что источники света могут быть и не точечными, тогда для них задается геометрическое описание поверхности источника и энергетические характеристики (аналогично Oi).
  3. Наблюдатель - E:
    • 3.1) Система координат наблюдателя (СКН) - OXEYEZE.
      СКН относительно МСК задается аналогично СК объектов – своим положением (X0E, Y0E, Z0E) и ориентацией - углами поворота системы координат наблюдателя относительно мировой системы координат (ψE, θE, γE).
    • 3.2) Направление взгляда наблюдателя (луч визирования) – VE. Обычно направление визирования совпадает с осью ZE.
    • 3.3) Сектор пространственного обзора наблюдателя - SE.
      Сектор обзора может задаваться различными способами – пространственными угловыми характеристиками, ограничивающими лучами и пр. в зависимости от используемой модели наблюдателя и формы дисплея.
  4. Объемный экран (дисплей)
    Под объемным экраном (дисплеем) VDE будем понимать видимую наблюдателем E часть объемного пространства мира - VSE (дисплей отображает видимое пространство мира).
    Видимый объем VSE (видовое пространство) – видимая наблюдателем E пространственная геометрическая часть объемного пространства S мира (сцены), определяемая физической моделью наблюдения, VSE ⊂ S.
    Видимый объем VSE задается как массив вокселей VVSE, полностью покрывающий (заполняющий) VSE.
    В зависимости от физической модели наблюдения (с использованием специфики зрения человека - модели глаза, или без ее использования), а также других принятых упрощений и ограничений, в [1, 4] определены примеры разновидностей форм видового пространственного объема объемных дисплеев.
    Объемное изображение – видимая наблюдателю объемная часть вокселизированного дискретного мира, попавшей в видовое пространство объемного дисплея.
  5. Динамические характеристики мира:
    • 5.1) Параметры, характеризующие поведение объектов во времени:
      • изменения в пространственно-дискретизированном представлении геометрии каждого объекта сцены, собственно изменение VOi;
      • изменения визуальных характеристик объектов (изменения значений VOi[l,m,n]);
      • изменения расположения и ориентации объектов (перемещение, вращение объектов и пр.) в МСК.
    • 5.2) Параметры динамики источников освещения:
      • пространственного расположения источников освещения;
      • изменения в энергетических характеристиках источников освещения.
    • 5.3) Параметры динамики наблюдателя:
      • пространственного расположения и ориентации наблюдателя;
      • изменения направления визирования и сектора обзора.
    • 5.4) Параметры динамики изменения визуальных свойств окружающего внутреннего пространства сцены – изменения значений VS[l,m,n].

Задачей объемной визуализации является построение объемного пространственно-дискретизированного образа мира – объемного изображения IV, видимого наблюдателю с его позиции в направлении визирования в пространстве объемного дисплея.

То есть, для каждого момента времени t найти такое множество вокселей VIV(t), что (рис. 2):

IV(t) = ⋃ VIV(t), VIV(t) = {VOi[l,m,n](t) | VOi[l,m,n](t) ∈ VSE(t)}. (1)

При этом каждый воксель объемного изображения должен получить значение (характеристику) VIV[l,m,n](t), с учетом характеристик вокселей объектов VOi[l,m,n](t) попавших в видовой объем VSE объемного дисплея VDE, источников освещения Lj(t) и характеристик вокселей пространства сцены VS[l,m,n](t):

VIV[l,m,n](t) = FV( ⋃ VOi[l,m,n](t) , ⋃ Lj(t) , VS[l,m,n](t) ) (2)

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

Таким образом, в рамках предложенной концепции, при решении статической задачи синтеза объемного изображения вокселизированного мира с заданными моделями объектов в МСК по сути достаточно:

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

Обобщенный метод синтеза объемного изображения дискретного воксельного мира проиллюстрирован на рис. 3.

В псевдокоде приведено упрощенное определение отражений и преломлений (единичные эффекты, аналогично базовому алгоритму Уиттеда трассировки лучей [7]).

Алгоритм дискретной трассировки (траверса) луча

Алгоритм дискретной трассировки (траверса) луча при этом может быть наглядно представлен следующим образом (рис. 4) [1, 4]. Здесь показана проекция воксельной сетки в плоскости XY. Для корректного траверса воксельной сетки луч должен последовательно посетить воксели 1, 2, 3, 4, 5, 6, 7, 8. Уравнение луча при этом - u + t·v для t >= 0 и алгоритм распространяет луч в интервале t, каждый t покрывает 1 воксель.

Рисунок 4 - Траверс трассирующего луча

Предлагается следующий инкрементный алгоритм траверса дискретного луча (рис. 5).

    Begin
        List:= NULL;
        Определение tX, tY, tZ, X, Y, Z по t( ⃗ );
        Do {
            If (tX < tY) Then
                If (tX < tZ) Then
                    X:= X + dX;
                    If (X >= Xmax) Then /* вышли за сетку по Х*/
                        return (NULL);
                    End_If
                    tX:= tX + tdX;
                Else {
                    Z:= Z + dZ;
                    If (Z >= Zmax) Then /* вышли за сетку по Z*/
                        return (NULL);
                    End_If
                    tZ:= tZ + tdZ;
                } End_If
            Else {
                If (tY < tZ) Then
                    Y:= Y + dY;
                    If (Y >= Ymax) Then /* вышли за сетку по Y*/
                        return (NULL);
                    End_If
                    tY:= tY + tdY;
                Else {
                    Z:= Z + dZ;
                    If (Z >= Zmax) Then /* вышли за сетку по Z */
                        return (NULL);
                    End_If
                    tZ:= tZ + tdZ;
                } End_If
            } End_If
            List:= List_of_Object ([X][Y][Z]);
        } while (List == NULL);
        return (List);
    End
        

Рисунок 5 - Алгоритм траверса пространственно-дискретного луча

Алгоритм начинается с инициализации - определения начального вокселя ⃗. Если начало луча находится вне сетки, то нужно найти воксель, через который луч проникает в сетку (сцену). Переменные X и Y инициализируются координатами исходного вокселя. Переменные dX и dY – шаги и представляются либо +1, либо -1, указывая на увеличение или уменьшение X и Y на каждом шаге пересечения луча вокселя (определяется знаком X и Y координат в v).

Далее определяется значение t, при котором луч пересекает вертикальную границу первого вокселя, и сохраняется в переменной tX. Аналогично производятся вычисления для Y (tY). Минимум этих двух величин будет показывать, как долго мы можем распространять луч в текущем вокселе. Далее вычисляется tdX и tdY, которые показывают, как далеко вдоль луча мы можем двигаться (в единицах t) для горизонтальной составляющей (равной ширине вокселя) или вертикальной (равной высоте вокселя). Аналогичная техника используется для Z-координаты.

Базовый цикл продолжается до тех пор, как мы не найдем воксель с непустым списком объектов (List) в нем (видимый воксель объекта в этом трассирующем луче), или не покинем пространство (сетку) сцены.

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

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

Обобщенная архитектура синтеза объемного изображения

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

Представление характеристик вокселей

Предлагается [1] следующее качественно-адекватное представление значений (характеристик - параметров) вокселей объектов мира VOi[l,m,n], позволяющее производить расчет освещенности вокселей объемного изображения с учетом характеристик источников освещения Lj и характеристик вокселей пространства VS[l,m,n] (2), включающее следующие признаки и значения:

По аналогии и с использованием упрощений можно подойти и к заданию значений вокселей внутреннего пространства сцены VS[l,m,n] и источников света Lj. Например, в модели VS[l,m,n] можно исключить признаки F, R, N, а вместо Mr и Mrf использовать значение прозрачности Mt (transparency) материала. Для задания Lj достаточно определить цвет источника света Mc и вектор освещения N.

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

Ускорение синтеза динамических изображений

Заметим, что для организации ускорения синтеза динамических объемных изображений мира (динамика объектов, наблюдателя, освещения), можно использовать известные в компьютерной графике подходы – распараллеливание, временную и пространственную декомпозицию процесса обработки [1, 2, 4, 5, 6, 8, 9].

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

Архитектура вычислительной системы аппаратной поддержки 3D-объемной визуализации

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

Основные направления ускорения синтеза в системах такого класса связаны, согласно предложенной концепции генерации 3D-объемных изображений дискретного воксельного мира, с ускорением решения двух основных задач:

Направления исследований

Таким образом, предлагаются к дальнейшим исследованиям такие направления ускорения синтеза 3D-изображений в системах 3D-объемной пространственной визуализации:

Выводы

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

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

Литература

  1. Zori, S. A. Spatial Visualization via Real Time 3D Volumetric Display Technologies / S. A. Zori, Е. А. Bashkov, Anas-M. Al Oraiqat // Lambert Academic Publishing (LAP). - 2018-01-25 | book. ISBN: 978-620-2-09398-9
  2. Specialized Computer Systems for Environment Visualization // Springer 3D Research. – 2018. - Vol. 9, No 2. - 13 P. | DOI: 10.1007/s13319-018-0168-9
  3. Башков, Е. А. Реалистичная пространственная визуализация с использованием технологий объемного отображения: Монография / Е.А. Башков, С.А. Зори. – Донецк: ГВУЗ "ДонНТУ", 2014. – 150 с.
  4. Зори, С. А. Высокопроизводительные средства организации реалистичной объемной визуализации в системах трехмерной компьютерной графики: Монография / Е. А. Башков, С. А. Зори. – Покровск: ГВУЗ "ДонНТУ", 2017. - 215 с.: ил. ISBN 978-966-377-215-8
  5. Зори, С. А., Аноприенко, А. Я. Особенности организации объемной визуализации в системах трехмерной компьютерной графики // Программная инженерия: методы и технологии разработки информационно-вычислительных систем (ПИИВС-2018): сборник научных трудов II Международной научно-практической конференции, 14-18 ноября 2018 г. – Донецк, ГОУВПО «Донецкий национальный технический университет», 2018. – Том. 1. - C. 302 – 308.
  6. Bashkov, Е. А. Realistic stereo visualization system architecture using ray tracing / Evgeniy A. Bashkov; Sergii A. Zori; Anas M. Al-Oraiqat; Akmaral Tleshova; Piotr Kisała // Proc. SPIE 10808 - Photonics Applications in Astronomy, Communications, Industry and High-Energy Physics Experiments, 2018. - Wilga, Poland. - Vol. 108080X (1 October 2018). – 8 p. DOI: 10.1117/12.2501601
  7. Whitted Turner. An improved illumination model for shaded display / Whitted T. // Commun. ACM, 1989. – Vol. 23, No. 6. – PР. 343 – 349.
  8. Зори, С. А. Использование средств аппаратной поддержки для повышения производительности систем 3D-пространственной визуализации / С. А. Зори, А. Я. Аноприенко, Р. В. Мальчева, О. А. Авксентьева // Информатика и кибернетика. – Донецк: ДонНТУ, 2019. – № 1 (15). - С. 5 – 12.
  9. Malcheva, R. An Acceleration of FPGA-based Ray Tracer / R. Malcheva, M. Yunis // European Scientific Journal, 2014. - Vol.10, N7. – PP. 186-190.
  10. 3D Primitives GPGPU Generation for Volume Visualization in 3D Graphics Systems Anas M. Al-Oraiqat, Sergii A. Zori //Journal of KING ABDULAZIZ UNIVERSITY: Computing and Information Technology Sciences, 2020. - Vol. 9, No.2. – PР. 85-97. (ISSN 1658-6336)