
- •Компьютерная графика
- •1. Введение в компьютерную графику
- •2. Цветовое пространство
- •3. Основы растровой графики
- •3.1. Общие сведения
- •3.2. Источники получения и средства работы с растровой графикой
- •3.3. Достоинства и недостатки растровой графики
- •4. Основы векторной графики
- •4.1. Общие сведения
- •4.2. Средства создания векторных изображений
- •4.3. Достоинства и недостатки векторной графики
- •5. Форматы графических изображений
- •5.1. Общие сведения
- •5.2. Алгоритмы сжатия графической информации
- •5.3. Растровые форматы
- •5.4. Универсальные и векторные графические форматы
- •6. Взаимные преобразования растровой и векторной графики
- •7. Основы трехмерной графики
- •7.1. Общие сведения
- •7.2. Рабочее пространство
- •7.3. Моделирование объектов
- •7.4. Материалы и карты
- •7.5. Анимация
- •7.6. Визуализация
- •8. Пример разработки нового изделия с использованием средств автоматизации дизайна
- •8.1. Система программного обеспечения Alias|Wavefront
- •8.2. Профессиональные графические планшеты для проектирования
- •8.3. Этапы разработки промышленного изделия
7.6. Визуализация
Итоговая визуализация (rendering) - заключительный этап работы со сценой.
К этому этапу сцена содержит информацию о геометрии объектов, их материалах и освещении. Задача модуля визуализации состоит в том, чтобы вычислить цвет каждого пиксела итогового изображения, основываясь на информации о моделях и выбранном положении виртуального наблюдателя (камеры).
Цвет каждой точки на поверхности отрисовываемого объекта вычисляется исходя из физических свойств материала и освещающего его света. Для описания того, как поверхность отражает или пропускает свет, существует два основных алгоритма тонирования (shading algorithms). Они называются алгоритмами локального (local illumination) и глобального освещения (global illumination).
Алгоритмы локального освещения описывают то, как каждая поверхность отражает или пропускает свет. Эти математические алгоритмы вычисляют интенсивность, цвет и дальнейшее (после отражения или прохождения насквозь) распределение света, упавшего на поверхность объекта. Простейшие из таких алгоритмов рассматривают только свет, непосредственно пришедший от источников освещения к тонируемой поверхности.
Однако алгоритмы локального освещения не позволяют получать корректные итоговые изображения, так как не учитывают более сложные взаимодействия поверхностей и освещения сцены (например, поверхности могут блокировать часть падающего на них света и отбрасывать тени на другие поверхности; в блестящих поверхностях могут присутствовать отражения других объектов; на поверхностях могут возникать рефлексы; прозрачные поверхности позволяют видеть объекты,находящиеся за ними).
Алгоритмы просчета глобального освещении при визуализации корректно учитывают прохождение света между иоверхпос тями, что решает поставленные проблемы. Чаще всего используются два алгоритма:
трассирования лучей (ray tracing);
излучательности (radiosity).
Алгоритм трассирования лучей отслеживает в обратном направлении (backward) прохождение лучей света от глаза наблюдателя через каждый пиксел итогового изображения к поверхностям визуализируемых объектов.
Алгоритм обратного трассирования лучей является очень мощным и гибким. Он позволяет аккуратно просчитывать такие характеристики глобального освещения, как тени, зеркальные отражения, преломления света в прозрачных материалах. Однако он имеет два существенных недостатка:
высокая сложность и, как следствие, малая скорость вычислений;
подмена просчитанного непрямого освещения (indirect lighting) на «абстрактный» окружающий свет (ambient light), что приводит, например, к отсутствию рефлексов на поверхностях.
Алгоритм просчета излучательности фундаментально отличается от алгоритма трассирования лучей. Вместо вычисления цвета каждого пиксела итогового изображения этот алгоритм просчитывает интенсивность каждой точки пространства сцены. Поверхности всех объектов разбиваются на элементы (небольшие по площади) и для каждого из них вычисляется,сколько света он излучает на остальные элементы.
Полученное таким образом изображение сцены является корректным с точки зрения отражений света между поверхностями (diffuse interreflections), но имеет и свои неустранимые недостатки:
большие затраты памяти при вычислениях;
отсутствие в полученном изображении отражений и преломлений света в прозрачных поверхностях.
Так как ни один из вышеизложенных алгоритмов не может полностью решить проблему корректного вычисления глобального освещения, в профессиональных пакетах ЗD-визуализации они используются совместно (рис. 25)
Рис. 25. Итоговая визуализация трехмерного изображения с использованием алгоритмов трассирования лучей и глобального освещения