- •Содержание
- •Предисловие
- •Области применения компьютерной графики
- •Цифровое представление графики
- •Основные операции над графическими объектами
- •История компьютерной графики
- •Развитие аппаратных и программных средств
- •Применение в кинематографе
- •Технические средства компьютерной графики: мониторы, графические адаптеры, плоттеры, принтеры, сканеры
- •Устройства вывода. Экраны
- •Устройства вывода твердых копий
- •Устройства ввода. Сканеры
- •Устройства ввода. Цифровые фотоаппараты
- •Устройства координатного ввода
- •Свойства растровых изображений
- •Форматы хранения графической информации
- •Цветовые модели растровых изображений
- •Системы координат, типы преобразований графической информации
- •Проблемы геометрического моделирования
- •Понятие однородных координат
- •Геометрические операции над моделями
- •Виды геометрических моделей их свойства, параметризация моделей
- •Поверхностные модели
- •Аналитические поверхности
- •Составные поверхности
- •Параметризация моделей
- •2D и 3d моделирование в рамках графических систем
- •Методы построения 3Dтел
- •Анализ твердотельных моделей
- •Алгоритмы визуализации: отсечения, развертки, удаления невидимых линий и поверхностей, закраски
- •Полигональная визуализация и линии очерка
- •7Рис. 8.59 – Тор (а), параллельная (б) и центральная (в) проекции его линий очерка.
- •Основные растровые алгоритмы
- •Удаление скрытых линий
- •Способы создания фотореалистических изображений
- •Тенденции построения современных графических систем: графическое ядро, приложения, инструментарий для написания приложений
- •Понятие конвейеров ввода и вывода графической информации
- •Cтандарты в области разработки графических систем
- •Библиотека DirectX
- •Графические процессоры, аппаратная реализация графических функций
- •3D акселерация
- •Компьютерная анимация
- •Принципы создания анимации
- •Классификация и обзор современных графических систем
- •Основные функциональные возможности современных графических систем
- •Графические системы класса 2d
- •Графические системы класса 3d
- •Принципы построения “открытых” графических систем
- •Организация диалога в графических системах
- •Предметный указатель
- •Список литературы
Библиотека DirectX
Используя DirectX, разработчики могут использовать аппаратно независимый интерфейс программирования, с помощью которого создаются новые игры, для участия в которых, пользователю достаточно лишь вставить в устройство чтения компакт диск с данными и наслаждаться игрой. Теперь писать игры и играть в них стало гораздо приятнее.
DirectX представляет собой набор из нескольких API (application programming interface - интерфейс программирования приложений), позволяющих разработчикам игр и других интерактивных приложений получать доступ к специфическим функциям аппаратного обеспечения, без необходимости написания аппаратно-зависимого программного кода. DirectX основан на наборе интерфейсов COM или классов. COM расшифровывается, как Component Object Model (Компонентная Модель Объектов), и представляет собой спецификацию интерфейса, в котором функции вызываются через указатели. Таким образом, объекты COM могут описываться такими языками программирования, как C/C++, Delphi или даже Basic. Интерфейс COM используется не только в DirectX, но и на уровне операционной системы в качестве модели объектов и является сердцем одной из самой широко применяемой технологии - OLE (Objects Linking and Embedding - связывание и встраивание объектов).
Текущая версия DirectX включает в себя следующие API:
DirectDraw- Обеспечивает доступ к аппаратным средствам, отвечающих за изображение. Предлагается возможность работать с двумерной графикой и напрямую управлять видеопамятью, оверлеями и сменой видеостраниц.
DirectSound- Как видно из названия, этот компонент обеспечивает аппаратнонезависимый интерфейс воспроизведения звука. DirectSound позволяет приложениям полностью использовать возможности аппаратных компонентов, обеспечивающих работу со звуком, например, микширование без временных задержек.
DirectInput- Обеспечивает аппаратнонезависимый ввод данных в систему в режиме реального времени. События, обрабатываемые DirectInput, формируются Клавиатурой, Мышкой и Джойстиком.
DirectPlay- Представляет собой независимый протокол для осуществления связи между компьютерами. Может применяться для многопользовательских игр, связь в которых осуществляется через Интернет, локальную сеть или прямое последовательное соединение с помощью кабеля. Интерфейс, именуемый DirectPlay Lobby, позволяет создавать онлайновые места встреч в интернет, попадая в которые, множество людей могут объединяться и совместно участвовать в играх.
Direct3D- Эта подсистема создания трехмерных графических изображений. Состоит из API низкого уровня, который обеспечивает несколько базовых возможностей создания изображения, и API высокого уровня, который осуществляет комплекс операций, образующих изображение.
Графические процессоры, аппаратная реализация графических функций
Рынок графических подсистем до появления понятия мультимедиабыл относительно прост в развитии. Важной вехой в развитии был стандарт VGA (Videographics Array), разработанный компанией IBM в 1987 году, благодаря чему производители видеоадаптеров получили возможность использовать более высокое разрешение (640х480) и большую глубину представления цвета на мониторе компьютера. С ростом популярности ОС Windows, появилась острая потребность в аппаратных ускорителях двумерной графики, чтобы разгрузить центральный процессор системы, вынужденный обрабатывать дополнительные события. Отвлечение CPU на обработку графики существенно влияет на общую производительность GUI (Graphical User Interface) - графического интерфейса пользователя, а так как ОС Windows и приложениям для нее требуется как можно больше ресурсов центрального процессора, обработка графики осуществлялась с более низким приоритетом, т.е. делалась очень медленно. Производители добавили в свои продукты функции обработки двумерной графики, такие, как прорисовка окон при открытии и свертывании, аппаратный курсор, постоянно видимый при перемещении указателя, закраска областей на экране при высокой частоте регенерации изображения. Итак, появился процессор, обеспечивающий ускорение VGA (Accelerated VGA - AVGA), также известный, как Windows или GUI ускоритель, который стал обязательным элементом в современных компьютерах.
Внедрение мультимедиа создало новые проблемы, вызванные добавлением таких компонентов, как звук и цифровое видео к набору двумерных графических функций. Сегодня легко заметить, что многие продукты AVGA поддерживают на аппаратном уровне обработку цифрового видео. Следовательно, если на Вашем мониторе видео проигрывается в окне, размером с почтовую марку - пора установить в Вашей машине мультимедиа ускоритель. Мультимедиа ускоритель (multimedia accelerator) обычно имеет встроенные аппаратные функции, позволяющие масштабировать видеоизображение по осям x и y, а также аппаратно преобразовывать цифровой сигнал в аналоговый, для вывода его на монитор в формате RGB. Некоторые мультимедиа акселераторы могут также иметь встроенные возможности декомпрессии цифрового видео.
