Научная статья на тему 'Подход к визуализации триангулированных поверхностей методом обратного трассирования лучей'

Подход к визуализации триангулированных поверхностей методом обратного трассирования лучей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
228
66
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гусятин В. М., Громенко А. Е.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Подход к визуализации триангулированных поверхностей методом обратного трассирования лучей»

УДК 681.323

В.М. ГУСЯТИН, канд. техн. наук, ХНУРЭ (г. Харьков),

А.Е. ГРОМЕНКО, ХНУРЭ (г. Харьков)

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

У статті введене поняття гранично триангульованої поверхні, розглянуті способи її отримання і завдання, приведено алгоритм пошуку точок перетинання проекційного променя з трикутником цієї поверхні. Для запропонованого підходу розглянуті особливості реалізації технології субдискретизації екрану, виконана оцінка необхідної пропускної здатності шини даних, проведене порівняння по обчислювальних витратах з архітектурою SaarCOR, запропоновано структуру спецобчислювача, який оптимізований для паралельно-конвеєрної архітектури з безперервним потоком вхідних даних.

In the article it is introduced conception of ultimate triangulated surface, obtaining method and representation such surface is considered. Intersection algorithm projection ray with triangle is described. For proposed approach is analyzed features of supersampling realization, rough estimate for capacity of data bus is performed, computing costs comparison with SaarCOR architecture is introduced, special numerator architecture is proposed.

Актуальность и постановка проблемы. В настоящее время изображения трехмерных сцен для систем визуализации (СВ) синтезируются в основном двумя методами: прямым и обратным трассированием лучей [1]. На современном этапе развития компьютерной графики наиболее развит метод прямого трассирования. Метод обратного трассирования, хотя и требует больших вычислительных и аппаратных затрат для своей реализации, но обладает рядом существенных преимуществ: обработка динамических

источников света и теней, расчет вторичного освещения, преломление и отражение лучей света [1, 2]. Все это позволяет данным методом синтезировать более реалистичное изображение. Поэтому разработка подсистем и узлов СВ, работающей по обратному методу, актуальна. Сейчас это направление активно исследуется как в нашей стране, так и за рубежом. Имеются разработки в области синтеза изображений облаков [3], рельефа [4], объектов, состоящих из совокупности поверхностей второго порядка и плоскостей [5]; рассматриваются вопросы визуализации источников света [6]. Разработкой спецпроцессоров, работающих по методу обратного трассирования, занимаются коллективы из Саарлендского университета (Saarland University) [7] и университета Торонто (University of Toronto) [8]. Существует коммерческая реализация аппаратного ускорителя метода обратного трассирования под названием PURE, разработанного компанией Advanced Rendering Technology (www.art-render.com).

В современной компьютерной графике из-за преобладания метода прямого трассирования представление 3D-объектов в виде триангулированной поверхности (ТП) является стандартом. К преимуществам ТП относятся: простота и универсальность её математического представления, удобство построения, трансформации и преобразования; возможность получения в триангулированном виде геометрии многих объектов реального мира. Существует множество библиотек ТП для свободного использования, например, в Стэндфордском университете (The Stanford 3D Scanning Repository). Решение задачи эффективного синтеза изображений ТП методом обратного трассирования является актуальным, так как позволит сохранить для этого метода преемственность ранее полученных результатов, уменьшить время на подготовку или изменение 3 D сцены и моделей объектов в ней.

Классический подход к синтезу изображений ТП обратным методом подразумевает поиск точки пересечения проекционного луча (ПЛ) с треугольником и интерполяцию освещенности. Широко известен алгоритм поиска пересечения проекционного луча с треугольником [9], а также его модификации для оптимальной обработки ТП [10]. Данные алгоритмы считаются наиболее приемлемыми для аппаратной реализации [8] по сравнению с другими классическими методами [11, 12], но не позволяют достичь быстродействия соизмеримого с прямым методом. При этом синтезированные изображения наравне с достоинствами обратного метода имеют все недостатки изображений, синтезированных прямым методом. Основным недостатком следует считать отсутствие взаимосвязи угловой погрешности СВ и геометрических искажений, возникающих в процессе синтеза изображения поверхности. В этом случае с определенных ракурсов видны плоские грани треугольников поверхности, возникают неточности в процессе расчета освещенности. Очевидно, что при классическом подходе к синтезу изображений увеличение количества треугольников для более точного представления геометрии поверхности ведет к существенному росту объема вычислений, особенно при высоких разрешениях экрана. Введение различных классификационных описаний геометрии трехмерных объектов [13], построение восьмеричных деревьев (octree) [1] уменьшают зависимость времени синтеза изображения от количества треугольников, но резко усложняют аппаратную реализацию. Варианты спецвычислителей, основанные на классическом подходе к синтезу ТП, предложены коллективами из Саарленда [14] и Торонто [8].

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

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

Предельно триангулированная поверхность. Определим, что ТП является предельно триангулированной (ПТП) для расстояния Dmn , если она состоит из треугольников, максимальная длина стороны которых

удовлетворяет условию:

Lmax < 2 • Dm,ntg ^ , (1)

где у доп - допустимая угловая погрешность СВ [15].

Из (1) видно, что для любого расстояния больше Dmn угловой размер

треугольника всегда меньше удоп, т.е. длина проекции любой стороны

треугольника на плоскость экрана меньше линейного размера пикселя. В таком случае при синтезе изображения ПТП выполнение интерполяции нормали или освещенности в пределах треугольника является избыточной операцией. Это позволяет упростить процесс визуализации, а также избежать искажений, присущих методам интерполяции [16].

Значение расстояния Dmm в системном плане обычно получают из технических характеристик на проект СВ.

Получение ПТП с заданной длиной Lmax стороны треугольника возможно двумя способами:

- сканирование геометрии объекта реального мира;

- уменьшение размеров треугольников ТП (subdivision), в дальнейшем, просто разбиение.

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

Второй способ в качестве исходных данных использует ТП, полученные по первому способу или сконструированные в графических пакетах (3 Dsmax, Maya и т.п.). Для уменьшения длины стороны треугольников исходной ТП выполняется разбиение треугольников согласно некоторому методу. В этом направлении выполнен ряд исследований [17 - 20]. Условно их можно разделить на методы, основывающиеся на нормалях в вершинах ТП [17, 18], и методы, основывающиеся на топологии соседних треугольников [19, 20]. Эти методы имеют свои достоинства и области применения, но для подготовки ПТП предпочтительнее методы [17, 18], так как позволяют более точно приблизиться к исходной поверхности, в частности, на границах треугольников ТП. Вычислительная сложность алгоритма разбиения не имеет большого значения в силу того, что подготовка ПТП выполняется на препроцессорном этапе. Для уменьшения размеров треугольников ТП наиболее подходит предложенный в [18] метод, при котором нормали плоскостей двух соседних треугольников в процессе увеличения числа итераций разбиения приближаются друг к другу.

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

^начало = {^1, ^2 , ^з) и Тслед = {у^ } , (2)

где У1, У2, У3 - координаты вершин в системе координат (СК) объекта; ум -вектор смещения в СК объекта вершины нового треугольника относительно одной из общих вершин.

Важно отметить, что в СК объекта координаты вершин и вектора смещения (2) могут быть представлены меньшим количеством двоичных разрядов по сравнению с координатами в базовой системе координат. В дополнение к этому, максимальное значение модуля вектора смещения т ограничено условием (1).

Алгоритм поиска точки пересечения ПЛ с треугольниками ПТП.

Считаем, что ПЛ располагаются по столбцам и строкам и проходят через центры пикселей плоского экрана, центр проекций (ЦП) равноудален от углов экрана, количество пикселей по высоте и ширине чётное. Тогда с учетом условия (1) треугольник может иметь общую точку только с одним ПЛ. Такая ситуация показана на рис. 1, где ЦП обозначен точкой к; £, - плоскость экрана; У\У2У3 - обрабатываемый треугольник, кР 1, кР2 - проекционные лучи, и р -плоскость, определяемая условиями:

РО,

р 101, (3)

к ер,

где ОУ2 - система координат экрана.

Этап 1. Определяются указатели положения вершин треугольника. Выполняемые действия аналогичны для всех вершин треугольника, в качестве примера на рис. 1 приведена вершина У\.

Указатель положения вершины VI относительно столбцов ПЛ

вычисляется согласно соотношению (для вершины У\ , см. рис. 1):

NZvi -

(4)

Рис. 1. Геометрические элемены задачи

где номер вершины і = 1, 2, 3; - расстояние от вершины V до плоскости Р;

І уі - линейный размер пикселя на расстоянии еуі (расстояние от вершины Уі до плоскости экрана §); [х] - округление вверх до ближайшего целого числа. Введем плоскость а, определяемую условиями:

а 1102,

•а! 0У, (5)

к є а.

Указатель положения МГуі относительно ближайшей к вершине Уі строки ПЛ вычисляется согласно соотношению:

(6)

где - расстояние от вершины Vi до плоскости а.

В результате имеем положение вершин треугольника относительно некоторого ПЛ с индексами строки и столбца ).

Этап 2. Определяется факт пересечения треугольника ПЛ. Считается, что треугольник имеет точку пересечения с ПЛ, если выполняется условие:

(N*,1 * N^2 0ЯМ2У1 * М2У3

)N(N^1 *МГу2 0ЯМГУ1 *МГуз).

Индексы (NZПЛ, ^ГПЛ) ПЛ, который пересекает треугольник равны:

NZПЛ - min(NZv1, NZ2, NZv3 ); ^

NYm - min(NYv1, NYv2, NYv3 )•

Этап 3. Поиск точки пересечения. Вычисление координат реальной точки K пересечения ПЛ, имеющего индексы (NZ]m,Nmn), и обрабатываемого треугольника не выполняется. В качестве условной точки пересечения P принимается точка на ПЛ такая, что (см. рис. 1):

hP - hVm , (9)

где Vm - вершина на расстоянии evm - min(evi), где i -1,2,3 , т.е. ближайшая к экрану вершина треугольника.

На данном этапе координаты точки Р вычисляются через параметр t,

такой что P - h + 4t • O, где O является направляющим вектором ПЛ. Параметр t равен:

t - eVm + d1vm + d^vm • (10)

Из анализа возможных положений треугольника относительно ПЛ угловая ошибка точки пересечения yPK удовлетворяет условию:

уPK <0,5 •удоп • (11)

Нормалью поверхности n в точке пересечения P является нормаль

плоскости треугольника. По известным координатам вершин треугольника

нормаль n вычисляется тривиально.

Этап 4. Полученная точка пересечения P и нормаль n помещаются в кадровый буфер, который обозначим следующим образом:

(Nzra, Nпл (P, П) • (12)

Этапы 1 - 4 выполняются для всех треугольников ПТП.

Субдискретизация экрана. Необходимо отметить, что при нанесении текстуры для повышения реалистичности (устранения ступенчатости (antialiasing)) применяется технология субдискретизации экрана (supersampling). В этом случае при классическом подходе увеличение степени субдискретизации экрана приводит к увеличению объема вычислений

пропорционально увеличению количества ПЛ. В рассмотренном алгоритме

вычислительные затраты практически не зависят от количества ПЛ, так как выполняется обработка множества треугольников, а не ПЛ. В тоже время, при субдискретизации экрана для работы алгоритма согласно условию (1)

необходимо уменьшить длину Lmax стороны треугольника. Для этого в реальном времени выполняется разбиение исходного треугольника ПТП в его же плоскости на дочерние треугольники согласно Серпинскому [21]. Разбиение выполняется при условии:

Advmax < lvm , (13)

где lvm - линейный размер пикселя на расстоянии evm;

Adv тах = тах

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

Для вершины Ук дочернего треугольника, расположенной посередине стороны УУ], вычисление линейного размера пикселя Д*, расстояний й^к и йуГк существенно упрощается, а именно:

Дальнейшая обработка дочернего треугольника выполняется согласно этапам 1 - 4.

Как следует из алгоритма поиска точки пересечения, его особенностью является небольшая вычислительная сложность: отсутствуют операции с плавающей точкой, используются только арифметические функции. Для большинства обрабатываемых треугольников выполняются только этапы 1, 2, количество треугольников, для которых выполняются этапы 3, 4,

пропорционально количеству ПЛ. Кроме того, количество матричных преобразований координат минимально за один кадр. Это связано с тем, что параметр / (выражение 10) инвариантен к СК; поиск точек пересечения для всех треугольников ПТП осуществляется в её СК, для чего достаточно выполнить матричные преобразования только координат ЦП и нормалей плоскостей а и р в ту же систему координат.

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

Оценка необходимой пропускной способности шины данных.

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

и = 0,5 • (/„■+ V);

й?ук = 0,5 • (й™ + йгЧ ); йуук = 0,5 • (йуу, + йуу} ).

(14)

Определим размер памяти необходимый для хранения (2). Поля структуры У\, У2, Уз содержат координаты вершин треугольника, поэтому их разрядность зависит от линейных размеров поверхности. Пусть 1ТП -максимальный линейный размер ПТП в произвольном направлении, а -минимальный угол обзора экрана. Определим, что расстояние до

поверхности удовлетворяет условию

д >--------------1тп-, (\5)

тп 2 • г§(0,5а)’ ( )

т.е. на таком расстоянии ТП практически полностью помещается на экране.

Количество двоичных разрядов для представления координаты вершины треугольника в СК поверхности вычисляется согласно соотношению

1о82 %■ , (\6)

вершина _ ^разрядов _

м

где Д/ - является весом младшего двоичного разряда координаты.

Вес младшего разряда предлагается вычислять согласно соотношению

у

Д = 2 • • 1Е^длп , (\7)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

где М - коэффициент позиционирования вершин в СК объекта.

Например, если принять М = 25, то это предполагает задание длины стороны треугольника с шагом не хуже 0,03 -Ьтя^.

При относительном задании ПТП максимальная длина вектора смещения Ум из (3) определяется условием (1). Количество разрядов для его представления определяется из соотношения

1оБ2

смещение _ '^разрядов =

^шах

м

(18)

В предельном случае условия (15) согласно (\6) имеем лрршд™ = \5 и с учетом (1), (17) для рассмотренного примера согласно (18) - = 5 .

Длина стороны треугольника ТП определяется согласно условию (\). Положим, что ТП состоят из правильных треугольников. Оценивать количество треугольников предлагается согласно соотношению

N а _ловерх , (\9)

где _поверх - площадь поверхности; _ - площадь треугольника ПТП.

Необходимая пропускная способность Бса^а рассчитывается согласно соотношению

Я -Ут • N ПОЛ

Бё^а ~~ , (20)

т кадра

где Ткадра = 33 мс - является максимальным периодом обновления кадра, который обусловлен психофизическими особенностями зрения человека;

Ут = 16 бит - размер вектора смещения из (2).

По известной максимальной пропускной способности современных шин данных [22] и соотношению (20) выполнен расчет максимального количества

треугольников N, данные о которых можно передать за время обновления кадра (см. табл. 1).

Таблица 1

№ Шина данных Пропускная способность, МБ/с Ут, байт , шт.

1. ЛОР 8х 2000 2 3,3 • 107

2. РСШхрге88 16 4000 2 6,6 • 107

3. РСШхрге88 32 8000 2 1,32 • 108

4. ББК553 двухкан. 8533 2 1,4 • 108

5. ББК2 800 двухкан. 12800 2 2,11 • 108

6. ЕБ-Б1ММ 566/667 21504 2 3,54 • 108

Данные по необходимой пропускной способности БЛаШ для различных поверхностей сведены в табл. 2, в которой обозначено: Б - расстояние от ЦП до поверхности; рпов - занимаемая поверхностью площадь экрана из расчета, что видимой является 0,25-5'пов; Ыф - степень субдискретизации экрана;

- максимальное число обработанных треугольников с учетом их разбиения по Серпинскому и условия (13).

Таблица 2

№ Название е пов , м2 Бшт , м Б, м 1? О % О4 N шт Бйага, МБ/с Ысуб Жгтах , шт

1. Человек 1,8 2 2 21 1,1106 127,16 1 1,110б

2 21 4 4,4-106

5 4 4 1,1106

20 83 1 4,2-106

20 83 4 16,4106

2. Самолет 700 20 45 16 4,2-106 485,51 4 4,2-106

90 4 16 4,2406

Из табл. 1 и 2 следует, что при существующей пропускной способности возможно передать в спецвычислитель данные о геометрии порядка 100 объектов. В перспективных разработках компании 1ВМ предполагается введение стандартов пропускной способности шины данных с памятью до 75 ГБ/с. Кроме того, из табл. 2 следует, что при заданной степени

субдискретизации экрана и удалении объекта количество фактически обрабатываемых треугольников ^(max уменьшается.

Оценка вычислительных затрат. Предложенный подход сравнивается по вычислительным затратам с разработанным научным коллективом (J. Schmittler, I. Wald, P. Slusallek и др.) из Саарлендского (Saarland, Germany) университета методом, заложенным в архитектуру для обратного трассирования лучей SaarCOR. Для сравнения выбран этап поиска точки пересечения как имеющий наибольший удельный вес в вычислительных затратах. Сведения по реализации архитектуры SaarCore взяты из [7, 14, 23]. Данные о количестве операций по сравниваемым архитектурам приведены в табл. 3. В скобках для предложенного подхода указано количество операций для вершины дочернего треугольника.

Таблица 3

№ Блок Add Mul Div Cmp Shift

Предложенный подход

І Количество операций на вершину NO^ (nверЩР)

Размер пикселя 1„ () З(І) 3(0) 0(0) 0(0) 2(2)

Индекс строки Ыы () 4(2) 3(0) І(І) 0(0) 0(І)

Индекс столбца Ы}М) 4(2) 3(0) І(І) 0(0) 0(І)

2 Определение факта пересечения, Ы™рерс 0 0 0 4 0

3 Определение параметра г, Ы°пер 2 3 0 0 0

Архитектура SaarCore

І Traversal, 4 4 0 ІЗ 0

2 Transformation, 9 9 0 0 0

3 Intersection, 3 2 І 0 0

Общее число операций для синтеза изображения сцены для предложенного подхода Ыорщеле и архитектуры 8аагСОЯ Ы^щСж вычисляются согласно соотношениям:

<ещле = Гд (3 • КЛш + (У - 3)+ы™» + 2ед №пе%дЯпл; (21а)

Ы8аагСОК = КПЛ • 2 Д ГПЛ •

(2 • N3 + К”? + 4 • Ы™*), (21б)

где Sa - степень субдискретизации экрана; V = 0,5 • (2 + 2*^) • (1 + 2*Хц) -

количество вершин после разбиений по Серпинскому [21]; K = 4*^ -количество треугольников после разбиений [21]; Гд - количество

треугольников в сцене; ^ - количество ПЛ; Гпл - среднее количество треугольников на ПЛ.

Соотношение (21а) не позволяет учесть расстояние от треугольника до ЦП в сцене, поэтому количество разбиений исходного треугольника рассчитывается для расстояния Dmm, что в большинстве случаев приводит к избыточному количеству обрабатываемых треугольников (см. табл. 2). Также необходимо отметить, что в отличие от предложенного подхода, в архитектуре SaarCOR используются операции с плавающей точкой.

Для рассматриваемых подходов на рис. 2 приведено сравнение количества арифметико-логических и мультипликативных операций в зависимости от степени субдискретизации экрана SOTc. Рассматриваются идеальный случай (рис. 2а), сцены ’’cruiser” (рис. 2б) и ’’office” (рис. 2в), приведенные в качестве примера в [14].

2*2 4xj кхк K&xt* jjxji 64x64 5,

а) идеальный случай

1x1 2*2 4x4 ХиХ ІАХІ6 .12x12 -v ик 1X1 2x2 4x4 *х8 Іочіб UU2V

б) сцена "cruiser" в) сцена "office"

Рис.2. Сравнение вычислительных затрат

Для сравнения вычислительных затрат вводится коэффициент Ко: который вычисляется с учетом (21) согласно соотношению:

дгобщее

Коп = предл . (22)

ои дгОбщее

ЗаагСОЯ

Под идеальным случаем понимается соответствие одного треугольника проекционному лучу; для сцен принималось Т°^1се = 4 -108, Т^Ш!1ег = 2,4 -108,

Т°^се = 10, тПЛ1:1ег = 10 для предложенного подхода и Т°1се = 15, тПЛ'*ег = 7 для архитектуры 8аагСОЯ, Япл = 786432.

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

- синтезированное согласно предложенному подходу изображение имеет допустимую угловую погрешность геометрии поверхностей, которая при данных условиях не выдерживается в архитектуре 8аагСОЯ;

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

- для предложенного подхода на этом этапе заканчивается обработка треугольника, а в архитектуре 8аагСОЯ необходимо еще выполнить интерполяцию освещенности по Фонгу [14].

Аппаратная реализация. На рис. 3 представлена структурная схема спецвычислителя, работающего по предложенному подходу.

Спецвычислитель выполняет обработку одного треугольника ПТП. Как видно из рис. 3, вычисление координат нормали и параметра точки пересечения выполняется параллельно с обработкой вершин треугольника. Конвейер предложенного спецвычислителя состоит из 5 этапов и, согласно алгоритму поиска точки пересечения поток обрабатываемых данных не прерывается. Минимальное время обработки одного треугольника ПТП достигается при аппаратной реализации и параллельном выполнении этапов 3 и 4 конвейера для каждого дочернего треугольника. Естественно, что в таком случае необходимо в блоке разбиения (этап 2) одновременно формировать все дочерние треугольники. Для ускорения обработки всей ПТП возможно установить необходимое число параллельно работающих спецвычислителей.

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

- оптимизирован для параллельно-конвейерной архитектуры: алгоритм вычислений линейный с непрерывным потоком входных данных, существенную часть операций он позволяет выполнять параллельно, в

вычислениях используется только целочисленная арифметика, количество матричных преобразований минимально;

- существует взаимосвязь угловой погрешности СВ и геометрических искажений визуализируемой поверхности;

- отсутствует необходимость интерполяции освещенности в плоскости треугольника в соответствии с Гуро или Фонгом;

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

- с увеличением степени субдискретизации экрана вычислительные затраты уменьшаются по сравнению с классическим подходом.

Рис. 3. Структурная схема спецвычислителя

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

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

Таким образом, для предельно триангулированной поверхности будут рассмотрены все этапы синтеза изображения. Это позволит сравнить объем вычислений, необходимый для полного синтеза изображения предложенным

методом с существующими подходами, основанными как на методе обратного трассирования лучей, так и прямого.

Список литературы: l. Computer graphics: principles and practice I J. D. Foley, A.van Dam, S.K. Feiner, J.F. Huges. - Addison-Wesley publishing company. - 1996, 2-nd ed. - 1174 p. 2. Realtime Ray Tracing For Current And Future Games I J. Schmittler, D. Pohl, T. Dahmen and etc. - Proceedings of 34. Jahrestagung der Gesellschaft fur Informatik. - 2004. 3. Остроушко А.П. Модели и структуры вычислительных устройств обработки цветовой информации и создания спецэффектов в системах визуализации: Дис. канд. техн. наук: 05.13.13. - Харьков, 2000. - 138 с. 4. Чаговец Я.В. Модели, алгоритмы и структуры спецпроцессоров для формирования изображений рельефа в системах визуализации реального времени: Дис. канд. техн. наук: 05.13.13. - Харьков, 2002. - 209 с. 5. Филимончук М.А. Модели, алгоритмы и структуры спецпроцессоров формирования изображений движущихся объектов в системах визуализации реального времени: Дис. канд. техн. наук: 05.13.13. - Харьков, 2004. - 141 с. б. БугрийА.Н. Модели, алгоритмы и структуры спецпроцессоров формирования изображений световых эффектов в системах визуализации реального времени: Дис. канд. техн. наук: 05.13.13. - Харьков, 2004. - 141 с. 7. Schmittler J. SaarCore A Hardware-Architecture for Realtime Ray Tracing. PhD thesis. Computer Graphics Group, Saarland University, 2006. S. Fender J., Rose J. A High-Speed Ray Tracing Engine Built on a Field-Programmable System II In IEEE International Conf. on Field-Programmable Technology. - 2003. -P. 188-195. 9. Moller T., Trumbore B. Fast, Minimum Storage Ray Triangle Intersection II The Journal of Graphics Tools, A. K. Peters. - 1997. - Vol 2. - № 1. - P. 21-28. lO. Galin E. Fast Ray Triangle Fan Intersection. Rapport de recherche RR-LIRIS-2004-030, Soumis а Journal of Graphic Tools. - 2004. ll. BadouelD. An Efficient Ray-Polygon Intersection II Graphics Gems, Academic Press. - 1990. -P. 390-393. l2. Stolfi J. Oriented Projective Geometry. - Boston: Academic Press. - 1991. - 237 p. l3. ФилимончукМ.А., ГроменкоА.Е. Уменьшение времени синтеза изображений динамических объектов методом обратного трассирования II Вісник Харківського Національного університету, № 551. Серія: "Актуальні проблеми сучасної науки в дослідженнях молодих вчених м. Харкова". Частина 1. - Харків: ХНУ, 2002. - С. 179-181. l4. Realtime Ray Tracing of Dynamic Scenes on an FPGA Chip. I J. Schmittler, S. Woop, D. Wagner, and etc. II In Proceedings of Graphics Hardware. -2004. - P. 95-106. l5. Гусятин В.М. Оценка точности геометрических преобразований в спецпроцессоре растровой графики // Радиоэлектроника и информатика. - 1998. - N° 2. - С. 118120. l6. Olano T.M., Yoo T.S. Precision Normals (Beyond Phong). UNC Computer Science Technical Report 93-021, Department of Computer Science, University of North Carolina, Chapel Hill, North Carolina, 1993. l7. Curved PN Triangles II A. Vlachos, J. Peters., C. Boyd, J.L. Mitchell II ACM Symposium on Interactive 3D Graphics. - 2001. - P. 159-166. lS. Гусятин В.М., Громенко А.Е., Сорокин Р.В. Рекурсивное разбиение триангулированных поверхностей в задачах синтеза изображений для систем визуализации // Материалы VII международной научно-технической конференции "Авиа-2006", 2006. - Т. 1. - К.: НАУ. - C. 13.113-13.116. l9. Zorin D, Schroder P, Sweldens W. Interpolating subdivision for meshes with arbitrary topology II ACM siggraph proceedings. - 1996. - P. 189-192. 20. Labsik U., Greiner G. Interpolatory V3-Subdivision II In Proceedings of Eurographics Computer Graphics Forum, Bd. 19. - 2000. - Vol. 19. - P. 131-38. 2l. Морозов А.Д. Введение в теорию фракталов: учебное пособие. - Нижний Новгород: Изд-во Нижнегородского университета, 2004. - 160 с. 22. ГукМ.Ю. Аппаратные средства IBM PC. Энциклопедия. - С-Пб: Питер, 2006. - 1072 с. 23. Schmittler J., Wald I., Slusallek P. SaarCOR - A Hardware Architecture for Ray Tracing II In Proceedings of the ACM SIGGRAPH I Eurographics Conference on Graphics Hardware 2002. - 2002. - P. 27-36.

Поступила в редакцию 30.10.2006

i Надоели баннеры? Вы всегда можете отключить рекламу.