Программа предназначена для рендеринга трехмерных сцен, для получения фотореалистических изображений. Она включает все элементы, описанные в техническом задании:
Реализован алгоритм обратной трассировки лучей, позволяющий строить тени, сглаживать и текстурировать поверхности.
Для ускорения используется метод иерархических оболочек, делающий алгоритм трассировки очень быстрым.
Помимо этого в программе:
Очень мощная схема моделирования эффекта преломления, учитывающая зависимость интенсивностей преломленного и отраженного луча от коэффициента преломления среды.
Поддерживается освещение со специальными эффектами. Источник может светить во все стороны, а может светить в определенном телесном угле. Существует возможность сделать так, чтобы интенсивность источника уменьшалась при приближении к краям телесного угла.
Существует возможность сглаживания изображения. Поскольку сглаживание занимает очень много времени, то я сделал так, чтобы пользователь мог включать или выключать эту функцию по своему усмотрению.
Существует множество вариантов модернизации программы.
Модернизация алгоритма трассировки:
Включение в него фильтрации текстур, например, пирамидальной фильтрации, позволяющей корректно отображать текстурированные объекты находящиеся вдали.
Добавление новых оптических эффектов. Можно, например, сделать все оптические свойства поверхности, зависящими от длины волны падающего света.
Написание трехмерного редактора, который будет позволять:
редактировать геометрию объектов на сцене
редактировать свойства материалов
добавлять и удалять объекты сцены.
управлять источниками света.
загружать и сохранять сцены. Для этого понадобится введение специального формата.
Модуль Engine может быть подключен к любой программе Delphi и использован, для практического моделирования трехмерных сцен и их прорисовки.
1. Роджерс Д. Алгоритмические основы машинной графики: пер. с англ. - М.: Мир, 1989.
2. Порев В.Н. Компьютерная графика 2004.
3. Тихомиров Ю. Программирование трехмерной графики. - СПб.: ИРМ - Санкт-Петербург, 1998.
4. Гантмахер Ф.Р. Теория матриц. - М.: Наука, 1967.