- •«Компьютерная графика»
- •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. Закраска Фонга
10. Компоненты режима ядра
Графические и мультимедийные компоненты пользовательского режима могут взаимодействовать с ядром операционной системы двумя способами. В GDI, DirectDraw, DirectSD и OpenGL вызовы пользовательского режима проходят через библиотеку gdi32.dll, предоставляющую интерфейс к сотням системных функций. Для взаимодействия с драйверами видеопорта и мультимедийными драйверами вызовы пользовательского режима используют обычный интерфейс API файлового ввода-вывода, входящий в базовый сервис Windows. Вызовы системных функций файлового ввода-вывода обрабатываются диспетчером ввода-вывода исполнительной части режима ядра, который обращается к соответствующим драйверам. Вызовы GDI, DirectDraw, DirectSD и OpenGL проходят через графический механизм, который передает их драйверам конкретных устройств.
К числу модулей операционной системы относятся ntoskrnl.exe (передача системных функций, диспетчер ввода-вывода), win32k.sys (графический механизм), mcdsvr32.dll (сервер MCD) и hal.dll (HAL). Исполнительная часть ядра Windows NT/2000, ntoskrnl.exe, является самой важной составляющей ядра ОС. В графической системе она в основном отвечает за передачу вызовов функций графической системы графическому механизму, поскольку в последнем используется тот же механизм вызова системных функций, что и другие системные функции. HAL предоставляет в распоряжение драйвера графического устройства средства для таких операций, как чтение и запись аппаратных регистров. Благодаря этому другие компоненты ядра в меньшей степени зависят от платформы.
11. Архитектура графической системы Windows (gdi)
GDI (Graphics Device Interface) — один из трёх основных компонентов или «подсистем», вместе с ядром и Windows API составляющих пользовательский интерфейс (оконный менеджер GDI) Microsoft Windows. GDI — это интерфейс Windows для представления графических объектов и передачи их на устройства отображения, такие как мониторы и принтеры. GDI отвечает за отрисовку линий и кривых, отображение шрифтов и обработку палитры. Он не отвечает за отрисовку окон, меню и т. п., эта задача закреплена за пользовательской подсистемой, располагающейся в user32.dll и основывающейся на GDI. GDI выполняет те же функции, что и QuickDraw в Mac OS. Одно из преимуществ использования GDI вместо прямого доступа к оборудованию — это унификация работы с различными устройствами. Используя GDI, можно одними и теми же функциями рисовать на разных устройствах, таких как экран или принтер, получая на них практически одинаковые изображения. Эта возможность лежит в центре всех WYSIWYG-приложений для Windows. Простые игры, которые не требуют быстрой графики, могут использовать GDI. Однако GDI не обеспечивает качественной анимации, поскольку в нём нет возможности синхронизации с кадровым буфером. Также, в GDI нет растеризации для отрисовки 3D-графики. Современные игры используют DirectX или OpenGL, что даёт программистам доступ к большему количеству аппаратных возможностей.
12. Архитектура directx
DirectX (от англ. direct — прямой, непосредственный) — это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. Пакет средств разработки DirectX под Microsoft Windows бесплатно доступен на сайте Microsoft. Зачастую обновленные версии DirectX поставляются вместе с игровыми приложениями, так как DirectX API обновляется достаточно часто, и версия, включённая в ОС Windows, обычно является далеко не самой новой.
Структура DirectX очень сильно отличается от OpenGL. DirectX основан на модели COM(Component Object Model). В отличии от простого вызова функций эта модель предполагает выполнение некоторых дополнительных действий, связанных с компонентной архитектурой DirectX. Такая архитектура имеет как достоинства так и недостатки. В частности, код, в котором используются вызовы DirectX обычно не является лёгко читаемым и понимаемым. Поэтому даже рисование простого треугольника требует огромного объёма кода. И для упрощения программирования разработчики Microsoft создали отдельную библиотеку, которая скрывает часто используемый код.
DirectX ориентируется на две важные цели. На интерфейсном уровне DirectX предоставляет разработчикам игр/приложений мощный аппаратно-независимый интерфейс API без снижения быстродействия. Прикладные программисты могут использовать новые возможности устройств, не беспокоясь о непосредственной работе с оборудованием. На уровне драйверов устройств DirectX позволяет фирмам-производителям оборудования сконцентрировать внимание на аппаратных нововведениях и легко вывести их на рынок через тонкую прослойку драйверов с поддержкой DirectX.