- •«Национальный исследовательский томский политехнический университет» а.Н. Осокин периферийные устройства
- •Часть 1
- •Оглавление
- •Тема 1 Интерфейсы для подключения периферийных устройств 10
- •Тема 2 Устройства ввода 61
- •Тема 3 Общие сведения о формировании изображений 110
- •Тема 4 Видеосистема 119
- •Введение
- •Тема 1 Интерфейсы для подключения периферийных устройств
- •1.1. Общая характеристика интерфейсов информационных систем
- •1.1.1. Понятие интерфейса
- •1.1.2. Стандартизация интерфейсов
- •1.1.3. Классификация аппаратных интерфейсов
- •1.1.4. Принцип обмена данными
- •1.1.5. Режимы передачи данных
- •1.2. Интерфейс rs-232
- •1.2.1. Общие сведения об интерфейсе
- •1.2.2. Порты асинхронного адаптера персонального компьютера
- •1.3. Интерфейс ieee 1284
- •1.3.1. Общие сведения об интерфейсе
- •1.3.2. Параллельные порты пк
- •1.4.1. Общие сведения
- •1.4.2. Составляющие usb
- •1.4.3. Физическая архитектура шины usb
- •1.4.4. Аппаратное обеспечение usb
- •1.4.5. Физический интерфейс
- •1.4.6. Ограничения usb 1.1 и usb 2.0
- •1.5. Интерфейс 1394 (FireWire)
- •1.5.1. Общие сведения
- •1.5.2. Спецификации интерфейса FireWire
- •1.5.3. Разъёмы и кабель
- •1.5.4. Преимущества интерфейса ieee 1394 и его использование
- •1.6. Беспроводные интерфейсы
- •Тема 2 Устройства ввода
- •2.1. Клавиатура
- •2.1.1. Принцип действия клавиатуры
- •2.1.2. Взаимодействие клавиатуры с системами персонального компьютера
- •2.1.3. Стандартная раскладка и назначение клавиш
- •2.2. Манипулятор «мышь»
- •2.2.1.Общие сведения о мыши. Принцип работы мыши
- •2.2.2. Кнопки мыши
- •2.2.3. Интерфейс подключения
- •2.2.4. Характеристики мыши
- •2.2.5. Эргономические проблемы использования мыши
- •2.3. Графические планшеты (дигитайзеры)
- •2.3.1. Назначение и принцип действия графических планшетов
- •2.3.2. Характеристики планшетов
- •2.4. Джойстики
- •2.4.1. Назначение джойстиков
- •2.4.2. Джойстики с плавным регулированием
- •2.4.3. Оптические и потенциометрические джойстики
- •2.4.4. Оси плавного регулирования
- •2.4.5. Функция обратной силовой связи
- •2.5. Сканеры
- •2.5.1. Назначение и принцип работы сканера
- •2.5.2. Классификация сканеров
- •2.5.3. Параметры сканеров
- •2.5.4. Программы оптического распознавания символов (ocr)
- •2.6. Цифровые фотоаппараты
- •2.6.1. Общие принципы работы цифровых фотоаппаратов
- •2.6.2. Классификация цифровых фотоаппаратов
- •2.7. Устройства естественного взаимодействия
- •2.8. Нейрокомпьютерный интерфейс
- •Тема 3 Общие сведения о формировании изображений
- •3.1. Методы вывода изображений
- •3.2. Формирование цветных изображений в визуализаторах
- •3.3. Формирование цветных изображений при печати
- •Тема 4 Видеосистема
- •4.1. Состав видеосистемы pc-совместимого компьютера
- •4.2. Мониторы
- •4.2.1. Структура монитора и виды мониторов
- •4.2.2. Жидкокристаллические мониторы
- •4.2.3. Плазменные панели
- •4.2.4. Органические светодиодные мониторы (oled)
- •4.2.5. Pled-мониторы
- •4.2.7. Энергосберегающие устройства отображения информации
- •4.3. Мультимедиапроекторы
- •4.3.1. Принцип действия и классификация компьютерных проекторов
- •4.3.2. Основные характеристики мультимедийных проекторов
- •4.3.3. Мультимедийные tft-проекторы
- •4.3.4. Полисиликоновые проекторы
- •4.3.5. Dmd/dlp-проекторы
- •4.3.6. Lcos-проекторы (d-ila-проекторы)
- •4.3.8. Светодиодные проекторы
- •4.4. Устройства отображения объемных изображений
- •4.4.1. Особенности восприятия человеком объемных изображений
- •4.4.2. Двухэкранные устройства отображения объемных изображений
- •4.4.3. Одноэкранные устройства отображения объемных изображений
- •4.5. Интерактивные доски
- •4.5.1. Функции и виды интерактивных досок
- •4.5.2. Интерактивные доски прямой проекции
- •4.5.3. Интерактивные доски обратной проекции
- •4.5.4. Интерактивные насадки на плазменные и lcd-дисплеи
- •4.5.5. Интерактивные жк-доски
- •4.6. Электронные книги
- •4.7. Видеоадаптеры
- •4.7.1. Назначение и принцип работы видеоадаптера
- •4.7.2. Устройство современного видеоадаптера
- •4.7.3. Технологии повышения реалистичности трехмерного изображения
- •4.7.4. Интерфейс прикладного программирования (api)
- •4.8. Интерфейсы видеосистемы
- •4.8.1. Назначение интерфейсов и их виды
- •4.8.2. Цифровые интерфейсы подключения мониторов к видеоадаптеру
- •Список источников
- •Периферийные устройства
- •Часть 1
- •Зарегистрировано в Издательстве тпу Размещено на корпоративном портале тпу в полном соответствии с качеством предоставленного оригинал-макета
4.7.4. Интерфейс прикладного программирования (api)
Для ускорения выполнения этапов 3D-конвейера ускоритель трехмерной графики должен обладать определенным набором функций, т.е. аппаратно, без участия центрального процессора, производить операции, необходимые для построения 3D-изображения. Набор этих функций является важнейшей характеристикой 3D-акселератора.
Поскольку 3D-акселератор имеет собственную систему команд, его эффективное применение возможно лишь в том случае, когда прикладная программа использует эти команды. Но, поскольку различных моделей 3D-акселераторов много, так же как и различных прикладных программ, формирующих объемные изображения, возникает проблема совместимости: невозможно написать такую программу, которая бы одинаково хорошо использовала низкоуровневые команды различных акселераторов. Очевидно, что и разработчики прикладного программного обеспечения, и производители 3D-акселераторов нуждаются в специальном пакете служебных программ, который выполняет следующие функции:
эффективное преобразование запросов прикладной программы в оптимизированную последовательность низкоуровневых команд 3 D-акселератора с учетом особенностей его аппаратного построения;
программную эмуляцию запрошенных функций, если в используемом акселераторе отсутствует их аппаратная поддержка.
Специальный пакет служебных программ для выполнения этих функций называется интерфейсом прикладного программирования (Application Program Interface = API).
API занимает промежуточное положение между высокоуровневыми прикладными программами и низкоуровневыми командами акселератора, которые генерируются его драйвером. Использование API избавляет разработчика прикладной программы от необходимости работать с низкоуровневыми командами акселератора, облегчая процесс создания программ.
В настоящее время в 3D существует несколько API, области применения которых довольно четко разграничены:
DirectX, разработанный фирмой Microsoft, используемый в игровых приложениях, работающих под управлением операционных систем Windows 9X и более поздних версий.
OpenGL, используемый в основном в профессиональных приложениях (системы автоматизированного проектирования, системы трехмерного моделирования, тренажеры-симуляторы и т.п.), работающих под управлением операционной системы Windows NT.
Фирменные (native – родные) API, создаваемые производителями 3D-акселераторов исключительно для своих Chipset с целью наиболее эффективного использования их возможностей.
DirectX является жестко регламентированным, закрытым стандартом, который не допускает изменений до выхода в свет своей очередной, новой версии. Это, с одной стороны, ограничивает возможности разработчиков программ и особенно производителей акселераторов, однако значительно облегчает пользователю настройку программного и аппаратного обеспечения для 3D.
В отличие от DirectX, API OpenGL построен на концепции открытого стандарта, имеющего небольшой базовый набор функций и множество расширений, реализующих более сложные функции. Производитель Chipset 3D-акселератора обязан создать BIOS и драйверы, выполняющие базовые функции Open GL, но не обязан обеспечивать поддержку всех расширений. Это порождает ряд проблем, связанных с написанием производителями драйверов для своих изделий, которые поставляются как в полном, так и в усеченном виде.
Полная версия OpenGL-совместимого драйвера носит название ICD (Installable Client Driver – драйвер приложения-клиента). Он обеспечивает максимальное быстродействие, т.к. содержит низкоуровневые коды, обеспечивающие поддержку не только базового набора функций, но и его расширений. Естественно, что с учетом концепции OpenGL создание подобного драйвера – исключительно сложный и трудоемкий процесс. Это одна из причин более высокой стоимости профессиональных 3D-акселераторов по сравнению с игровыми.
Усеченная версия OpenGL-совместимого драйвера называется MCD (Mini Client Driver). Он содержит оптимизированный код лишь для некоторых этапов 3D-конвейера, поэтому акселератор под управлением работает медленнее. Как правило, драйверы типа MCD поставляются с первыми версиями новых ускорителей, а полноценные ICD появляются позже.
