2.1.1. Аппаратно-независимое программирование и OpenGL
Приятно, когда возможен одинаковый подход к написанию графических приложений, когда, например, одна и та же программа может быть скомпилирована и запущена в различных графических средах, когда есть гарантия, что на любом дисплее будет получено примерно одинаковое изображение. Такой подход и называется апларатно-независимым графическим программированием. В OpenGL предлагается программное средство, при котором перенос графической программы требует только установки соответствующих библиотек OpenGL на новой машине, а само приложение не требует никаких изменений и вызывает из новой библиотеки те же самые функции с теми же параметрами. В результате получаются те же графические результаты. Метод создания графики в Open L был принят большим количеством компаний, и библиотеки OpenGL существуют для всех значимых графических сред1.
OpenGL часто называют «интерфейсом прикладного программирования» (Application Programming Interface - API). Он представляет собой набор подпрограмм, которые может вызывать программист, и примеры того, как эти подпрограммы работают, создавая графику. Программист «видит» только интерфейс и поэтому избавлен от необходимости вникать в специфику оборудования и в особенности программного обеспечения установленной графической системы.
OpenGL наиболее ярко проявляет свои возможности при рисовании изображений сложных трехмерных (3D) сцен. Эти возможности могли бы показаться даже чрезмерными при рисовании простых двумерных (2D) объектов. Однако OpenGL прекрасно работает и при 20-рисовании, обеспечивая тем самым унифицированный подход к созданию изображений. Мы начинаем наше знакомство с OpenGL
1 В приложении А показано, как организовывать и начинать работу с OpenGL в различных программных средах.
Начальная стадия: рисование фигур
с применения более простых его конструкций, используя многие опции по умолчанию. Позже, при написании программ для создания сложной SD-графики, мы изучим более мощные инструменты OpenGL.