13. Архитектура directdraw
Библиотека DirectDraw предоставляет единый программный интерфейс для работы с различными видеоадаптерами. DirectDraw - отвечает за быстрый вывод, перемещение и масштабирование двухмерной графики, установку видеорежимов, выбор видеодрайверов. Поддерживает практически любые видеорежимы и разрешения. Главное отличие между DirectDraw и GDI заключается в том, что DirectDraw позволяет работать непосредственно с видеоадаптером, a GDI - наоборот, ограждает вас от этого! Как видите, для рисования трехмерного объекта у приложения есть четыре возможности: GDI, OpenGL, Абстрактный режим Direct3D, DirectDraw.
DirectDraw можно рассматривать как специализированную версию GDI. Первая стадия специализации заключается в том, что вывод направляется только на видеоадаптер, а не на принтер, плоттер или любое другое из существующих графических устройств. Второй стадией является сокращение функциональных возможностей, поддерживаемых GDI. B DirectDraw нет прямой поддержки режимов отображения, мировых преобразований, шрифтов и текста, линий и кривых; работа осуществляется только с растровыми изображениями. Последней стадией является реализация ограниченного подмножества с учетом аппаратного ускорения и добавлением возможностей, имеющих важное значение для игр и мультимедийного программирования.
DirectDraw реализует семь основных интерфейсов, два из которых существуют в нескольких версиях.
I DirectDraw — базовый интерфейс DirectDraw, на основе которого могут создаваться другие объекты DirectDraw, управление поверхностями, выбор разрешения и глубины цвета, получение информации о состоянии экрана, выделение памяти и т. д.
Интерфейс IDirectDrawSurface обеспечивает все операции вывода в DirectDraw. В этот интерфейс входят операции с поверхностями — получение информации о возможностях, блокировка и ее снятие, выбор палитры, отсечение и т. д.
Интерфейс IDirectDrawPalette поддерживает создание и непосредственные операции с цветовой палитрой на 256-цветном экране.
Интерфейс IDirectDrawClipper управляет отсечением поверхностей DirectDraw с использованием списков отсечения (clip lists), представленных структурами RGNDATA GDI API.
Интерфейс IDirectDrawColorControl управляет цветом поверхностей и оверлеев за счет регулировки яркости, контраста, оттенка, насыщенности и гамма коррекции.
Интерфейс IDirectDrawGammaControl управляет процессом гамма коррекции, в ходе которого значения цветов в кадровом буфере преобразуются в цвета, передаваемые аппаратному цифро-аналоговому преобразователю (DAC, digitalto-analog converter).
Интерфейс IDirectDrawVideoPort обеспечивает передачу видеоданных с аппаратного видеопорта на поверхность DirectDraw. С его помощью программистможет управлять оборудованием через видеопорт.
- «Компьютерная графика»
- 1. Графический процессор. Структура графического процессора g80
- 2. Цифровой сигнальный процессор
- 3. Особенности архитектуры
- 4. Устройство цсп
- 5. Классификация цсп по архитектуре
- 6. Кластеры процессоров цифровой обработки
- 7. Аппаратно-программный комплекс vliw
- 9. Компоненты графической системы Windows
- 10. Компоненты режима ядра
- 11. Архитектура графической системы Windows (gdi)
- 12. Архитектура directx
- 13. Архитектура directdraw
- 14. Архитектура системы печати
- 15. Ве́кторная гра́фика
- 16. Растровое изображение
- 17. Цветовая модель rgb
- 18. Цветовая модель cmyk
- 19. Цветовая модель hsv и hsl
- 20. Цифровая обработка сигналов
- 21. Преобразования Фурье
- 22. Основы opengl
- 23. Графический конвейер OpenGl
- 24. Организация OpenGl. Сопутствующие api
- 25. Архитектура Windows Presentation Foundation
- 26. Организация шейдеров
- 27. Игровой движок
- 28. Графический движок
- 29. Воксел. Доксел
- 30. Спрайт
- 32. Графический ускоритель Intel gma
- 33. Графическое ядро Core i5
- 34. Целочисленный алгоритм Брезенхема
- 35. Алгоритм Брезенхема для генерации окружности
- 36. Буферы кадра
- 37. Точки и линии. Преобразование точек и линий
- 38. Полярная и декартовая система координат
- 39. Трехмерные преобразования
- 40. Трехмерный сдвиг. Трехмерные вращения.
- 41. Закраска Гуро
- 42. Закраска Фонга