С.А. Зори
профессор кафедры «Программная инженерия» им. Л.П. Фельдмана,
Донецкий национальный технический университет
ik.ivt.rec@mail.ru
В статье рассмотрена предложенная автором общая концепция представления трехмерной дискретной объемной сцены и обобщенный метод синтеза объемного изображения воксельной сцены для систем объемной пространственной визуализации. Предложена архитектура вычислительной системы объемной пространственной визуализации на основе разработанных средств. Намечены направления дальнейших исследований методов и алгоритмов эффективной генерации воксельных представлений, а также разработок новых решений на основе ускоряющих техник и упрощений.
Организация бурно развивающихся в последнее время компьютерных систем объемной пространственной 3D-визуализации предусматривает принципиально новую организацию вычислительного процесса, отличную от «классического» 3D графического конвейера, и применения принципиально другого представления трехмерной дискретной объемной сцены, сложных методов синтеза и визуализации (объемная трассировка лучей, объемный рендеринг и пр.).
Среди этих систем наибольшее распространение получили системы воксельного представления и визуализации [1 - 5]. Недостаточный уровень практической реализации таких систем – их сложность, дороговизна, отсутствие стандартизированной аппаратной поддержки, слабая реалистичность создаваемых образов и большое время синтеза (за счет применения в них усложненных трудоемких вычислительных процедур модельной 3D-генерации и 3D-пространственной обработки) обусловливает необходимость некоей «стандартизации» общей концепции представления трехмерной дискретной объемной сцены и обобщенного метода синтеза объемного изображения воксельной сцены, с целью разработки «под них» эффективных методов и алгоритмов синтеза изображений объемных графических примитивов [1 -5].
В работе рассмотрены предложенная автором общая концепция представления трехмерной дискретной объемной сцены и обобщенный метод синтеза объемного изображения воксельной сцены для систем объемной пространственной визуализации (3D-объемной СОИ). Предложена архитектура вычислительной системы объемной пространственной визуализации на основе разработанных средств, освещены дальнейшие направления исследований и разработок.
Предлагается следующая обобщенная концепция представления дискретной объемной трехмерной сцены (объемного объектного пространства, «мира») и синтеза 3D-объемных изображений [1] (рис. 1). Далее будем использовать прямоугольную (декартову) правостороннюю трехмерную систему координат.
Пусть заданы:
Задачей объемной визуализации является построение объемного пространственно-дискретизированного образа мира – объемного изображения 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)
Здесь необходимо отметить главную особенность такого подхода к объемной пространственной визуализации – фактически, при наличии готовых пространственно-дискретизированных (воксельных) моделей объектов мира (и других характеристик дискретного мира) построение изображения можно свести к определению видимых наблюдателю вокселей моделей объектов, попавших в видовой пространственной объем объемного дисплея, с дальнейшим учетом в их характеристиках параметров освещения и других визуальных свойств внутреннего окружающего пространства мира.
Таким образом, в рамках предложенной концепции, при решении статической задачи синтеза объемного изображения вокселизированного мира с заданными моделями объектов в МСК по сути достаточно:
Обобщенный метод синтеза объемного изображения дискретного воксельного мира проиллюстрирован на рис. 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-объемной пространственной визуализации:
В статье рассмотрена предложенная автором общая концепция представления трехмерной дискретной объемной сцены и обобщенный метод синтеза объемного изображения воксельной сцены для систем объемной пространственной визуализации.
Предложена архитектура вычислительной системы объемной пространственной визуализации на основе разработанных средств. Освещены дальнейшие направления исследований и разработок, главными из которых являются: