Графические подсистемы

advertisement
Графические подсистемы
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
Группы функций
Возможности и решаемые задачи
Готовые объекты и примитивы
Устройства ввода
Работа со шрифтами
Download