Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы к лекциям по компьютерной графике.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Сглаживание

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

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

Типичный графический конвейер изображен на рис.2. Реализация может значительно изменяться как по принятой терминологии, так и по последовательности этапов, заложенных в конвейер. Одной из реализаций архитектуры графического конвейера является чисто программная архитектура Direct3D компании Microsoft.

Архитектура Direct3d компании Microsoft

Компания Microsoft анонсировала конвейерную архитектуру, называемую Direct3D, как часть интерфейса DirectX. Direct3D предоставляет разработчикам приложений трехмерной графики интерфейс API. Использование интерфейса Direct3D дает разработчикам возможность создавать приложения в единственном экзепляре, не заботясь о том, какой графический акселератор установлен в компьютере конечного пользователя. Архитектура Direct3D состоит из нескольких частей. Первый компонент - промежуточный абстрактный аппаратный уровень (HAL) - служит передаточным звеном между приложениями и установленным оборудованием. Если нет никакого аппаратного ускорения, то соответствующие функции берет на себя второй компонент архитектуры - программный, - называемый уровнем эмуляции аппаратуры (HEL). На рис.7 изображены связи между уровнями HAL и HEL, приложениями и аппаратурой дисплея.

Рис.7

В интерфейсе приложений Direct3D предусмотрены два режима - непосредственный и абстрактный.

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

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

Недостатком в этом случае является меньшая производительность абстрактного режима по сравнению с производительностью, достигаемой на непосредственном режиме.

Конвейер Direct3D изображен на рис.8. Конвейер состоит из трех этапов: преобразования, освещение и растеризация. Преобразования и освещение относятся к стадии геометрических преобразований, которая рассмотрена ранее как компонент типичного графического конвейера, а растеризация является этапом на стадии рендеринга.

Р ис.8

На этапе преобразований выполняются операции вращения и проецирования трехмерных объектов на плоскость. На этом этапе вычисляется взаимное расположение объектов. Можно задавать позицию, направление и перспективу наблюдателя сцены,. Кроме того, объекты можно вращать, искривлять и менять в размерах. Этап освещения состоит из трех частей: выбор типа источника освещения, управление уровнем рассеянного света и задание материала объекта. На этапе растеризации используются результаты вычислений двух предыдущих этапов - преобразования и освещения,- чтобы выполнить рендеринг сцены для вывода на дисплей.

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

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

Компания Microsoft планирует включить Direct3D в состав своих операционных систем. В ожидании появления таких операционных систем разработчики приложений выпускают новые приложения, использующие интерфейс Direct3D.