3.11. Резюме В этой главе мы лишь слегка "прикоснулись" ко многим темам, связанным с взаимодействием пользователя и графической программы. Организация в программе реакции на действия пользователя с выводом динамического изображения на экран придает приложению совершенно новые возможности. Мы показали, что хотя состав функций API OpenGL и не зависит от конкретной операционной системы, в любой графической программе не обойтись без минимального набора средств взаимодействия с операционной системой. Роль переходного элемента между независящим от платформы API и операционной системой играет набор инструментальных программ, который, с одной стороны (со стороны графической системы), имеет единообразный интерфейс, а с другой стороны, имеет множество вариантов реализации, специфических для каждой из имеющихся операционных систем. При работе с OpenGL роль такого инструментального пакета отводится библиотеке GLUT.
Было рассмотрено, как отражается парадигма "клиент/сервер" на структуре графической системы и характеристиках ее отдельных компонентов. Эта парадигма не только способствует рациональной организации графических приложений в сетевой среде, но позволяет создавать графические программы, переносимые с одной аппаратной или программной платформы на другую. Эта концепция нашла свое воплощение в объектно-ориентированном подходе к программированию задач компьютерной графики, а также во внедрении графических приложений в сетевую среду World Wide Web (эти темы будут подробно рассмотрены в главе 8).
С точки зрения прикладного программиста идеология создания интерактивных графических приложений практически единая во всех системах. Графическая часть сервера включает растровый дисплей, клавиатуру и устройство указания. Почти на всех рабочих станциях пользователь работает в сетевой операционной среде, поддерживающей многооконный интерфейс. Как правило, в такой среде параллельно решается множество задач, но операционная система создает у пользователя иллюзию, что он является безраздельным хозяином компьютера.