OpenGL, с другой стороны, представляет собой открытый стандарт, разработанный и утвержденный в 1992 г. девятью фирмами, среди который были Digital Equipment Corp., Evans & Sutherland, Hewlett Packard Co., IBM Corp, Intel Corp, Silicon Graphics Inc., Sun Microsystems и Microsoft.
Основы библиотеки OpenGL
В основу стандарта легла библиотека IRIS GL, разработанная фирмой Silicon Graphics Inc.
OpenGL представляет собой открытый процедурный интерфейс к графическому ускорителю, позволяющий легко задавать объекты в пространстве и операции над ними. В настоящее время идет работа над стандартом OpenGL 2.0, который будет включать в себя, в частности, аппаратно-независимые шейдеры и ряд других возможностей.
С самого начала OpenGL разрабатывался как эффективный, аппаратно-и платформенно-независимый интерфейс. Он не включает в себя специальных команд, привязанных к какой-либо конкретной операционной системе, таких, как работа с окнами и организация ввода-вывода. Для этого существуют дополнительные библиотеки, одну из них - glut - мы рассмотрим далее.
Библиотека OpenGL позволяет легко создавать объекты из геометрических примитивов (точек, линий, граней), располагать их в трехмерном пространстве, выбирать способ и параметры проектирования, вычислять цвета пикселов с использованием текстур и источников света.
Поскольку OpenGL разрабатывался как открытый стандарт, то производители графичесих ускорителей легко могут добавлять в него свои функции, реализующие дополнительные возможности, например такие, как пик-селовые и вершинные шейдеры. Подробнее обсуждение таких шейдеров будет содержаться во второй части работы.
OpenGL^oobraHo реализуется с использованием модели клиент-сервер. Приложение выступает в роли клиента - оно генерирует команды, а сервер OpenGL выполняет их. При этом сам сервер может находиться на другом компьютере.
Хотя библиотека и поддерживает палитровые режимы, далее мы будем считать, что работа ведется в режиме непосредственного задания цвета (Hi-Color или TrueColor).