Структура OpenGL аналогична структуре большинства других графических АР1, в том числе PHIGS и GKS. Следовательно, все усилия, которые придется приложить при изучении OpenGL, будут оплачены сторицей, так как одновременно вы постигаете и возможности других аналогичных систем. По сравнению с другими API изучать OpenGL гораздо проще, но это не означает, что функциональные возможности его менее широкие, чем у "конкурентов". OpenGL поддерживает работу как с двухмерными, так и с трехмерными примитивами, что вы увидите в программах, представленных в главах 2-6. В этом пакете реализованы и современные технологии тонирования, что будет продемонстрировано в программах, описанных в главах 8-12.

Поскольку основная цель этой книги - изучение методов решения задач, применяемых в компьютерной графике, то и OpenGL мы будем использовать именно в качестве вспомогательного средства для достижения этой цели. Следовательно, вы не найдете в этой книге исчерпывающего описания всех доступных функций OpenGL и многих деталей, но, тем не менее, все представленные программы носят законченный вид. Более детальные сведения об источниках дополнительной информации, касающейся как OpenGL, так и других графических API, вы найдете в обзоре рекомендуемой литературы в конце главы.

2.2. Прикладной интерфейс OpenGL

2.2.1. Графические функции При знакомстве читателей с графическими пакетами мы будем использовать подход, ставший уже классическим в кибернетике, - концепцию черного ящика (black box). Этим термином в технике принято называть устройства и системы, функциональные возможности которых описываются только соответствием между определенной входной и выходной информацией, а о внутреннем механизме работы никакой информации не имеется. Таким образом, мы будем считать графическую систему подобным черным ящиком, входом которого являются различные функции, вызываемые из прикладной программы, информация, передаваемая с помощью устройств ввода, таких как мышь или клавиатура, и сообщения, передаваемые операционной системой. Выходом системы являются в первую очередь графические образы, формируемые на экране. На данном этапе входом для черного ящика будут только вызовы функций, а выходом - примитивы, отображаемые на экране ЭЛТ (рис. 2.6). Аналогичный подход можно использовать и при изучении других графических API.


⇐ Предыдущая| |Следующая ⇒