Из первого исследования видно, что график зависимости времени генерации изображения от глубины рекурсии по виду совпадает с графиком функции 2n. Это хорошо соответствует теории, т.к. количество лучей растет с увеличением глубины рекурсии как 2n.
Надо заметить, что для сцен с маленьким количеством полигонов нет необходимости задавать большие значения максимальной глубины рекурсии, т.к. разница в качестве сгенерированного изображения будет несущественна.
Во втором исследовании показано, что зависимость времени генерации от количества источников света линейна. Из полученных значений можно вычислить время, необходимое для расчета одного источника. На машине, на которой проводились исследования, при глубине рекурсии 5 это время примерно равно 0,8 секунды.
Заключение
В этой программе были продемонстрированы результаты роботы алгоритма генерации реалистичных изображений – обратной трассировки лучей.
Данная реализация демонстрирует возможности алгоритма строить изображения близкие к фотореалистичным. Трассировка является одним из самых совершенных алгоритмов генерации реалистичных изображений. Качество получаемого изображения несравнимо лучше, чем качество изображения, полученного с помощью таких алгоритмов, как Z-буфер. Однако требования к вычислительным мощностям, необходимым для генерации одного кадра изображения намного выше, чем в том же Z-буфере. Это делает невозможным применение этого алгоритма для реализации приложений, где необходима генерация изображений в реальном времени (3D-игры, различного рода симуляторы). Существуют методы повышения быстродействия алгоритма. Для увеличения скорости генерации изображения применяют такие средства, как метод порталов и метод оболочек.
Метод порталов подразумевает деление виртуального пространства сцены на некоторые замкнутые области. Например, разделение дома на комнаты. Двери между комнатами закрыты, и мы не можем видеть объекты в другой комнате. Это значительно сокращает количество примитивов, с которыми необходимо искать пересечения лучей при трассировке.
В методе оболочек примитивы сцены разделены на некоторые логические объекты, каждый из которых заключен в оболочку простого вида (шар, цилиндр, параллелепипед). Перед нахождением пересечения луча с примитивом проверяется пересечение с оболочкой, содержащей этот примитив. Оболочки часто делают вложенными (образуется древовидная структура), что заметно ускоряет поиск и отброс тех примитивов, пересечений с которыми точно не будет.
Но даже со всеми усовершенствованиями на сегодняшний день реализация трассировки в реальном времени представляется затруднительной. Известны попытки создания 3D-ускорителей с аппаратной поддержкой алгоритма обратной трассировки, однако широкого распространения они не получили из-за относительно высокой цены и недостаточного быстродействия (удовлетворительная скорость построения изображения была только для изображения с разрешением 640x480).
Однако вычислительные мощности персональных компьютеров растут каждый день. В скором времени должны появиться машины, на которых алгоритм трассировки будет работать в реальном времени. Трассировка должна вытеснить другие алгоритмы ввиду явного превосходства в качестве изображения и универсальности метода.
Список литературы
1. Роджерс Д. Алгоритмические основы машинной графики: пер. с англ.— М.: Мир, 1989.— 512 с.: ил.
2. Порев В. Н. Компьютерная графика. – СПб.: БХВ-Петербург, 2002. – 432 с.: ил.
3. Никулин Е. А. Компьютерная геометрия и алгоритмы машинной графики. СПб.: БХВ-Петербург, 2003. – 560с.: ил.
4. Авдеева С.М., Куров А.В. Алгоритмы трехмерной машинной графики: Учебное пособие. – М.: Изд-во МГТУ им. Н.Э. Баумана, 1996. – 60 с.: ил.
Дата: 2019-07-24, просмотров: 221.