Графические подсистемы X11 – архитектура Клиент – сервер Функции сервера Функции клиента Протокол передачи сообщений Сервер Основная задача – отрисовка примитивов по запросам клиента Поддержка аппаратных возможностей Различные расширения стандартной архитектуры (OpenGL, фреймбуферы) Клиент Программа, использующая графические функции X11 Передает запросы серверу по стандартизованному протоколу Передача может осуществляться удаленному серверу Программирование в X11 Заголовочные файлы Последовательность инициализации графического вывода Обработка событий Работа с цветами Оконные менеджеры twm mwm aewm fvwm Задачи, решаемые оконными менеджерами Коллекции виджетов motiff lestiff athena3d GTK+ QT Десктопы – рабочие столы CDE KDE Gnome XFCE AfterStep Задачи десктопов. Пейджеры. Рабочие панели и панели задач. Третье измерение в графических подсистемах Просто 3D графика 3D десктопы LookingGlass Photon – графическая подсистема QNX Пространство событий – параллелепипед События распространяются подобно квантам света прямолинейно параллельно оси перпендикулярной экрану События реализованы при помощи сообщений Регионы Свойства регионов Прямоугольность Чувствительность Прозрачность Передача сообщений Другие графические возможности Svgalib SDL Allegro Framebufer Расширения X11 OpenGL DirectFB DRI OpenGL История и настоящее Основные возможности Концепция вершины Примитивы 2D и 3D объекты Пример программы Чего нет в OpenGL GLUT – расширение OpenGL Группы функций Возможности и решаемые задачи Готовые объекты и примитивы Устройства ввода Работа со шрифтами