ОСНОВНОЙ СИНТАКСИС OpenGL

Перед именами функций основной библиотеки OpenGL (ее еще называют корневой библиотекой OpenGL) ставится префикс gl, а каждое слово, которое входит в имя функции, начинается с прописной буквы. Следующие примеры иллюстрируют такой принцип именования.

glBegin, glClear, glCopyPixels, glPolygonMode

Определенные функции требуют, чтобы одному (или нескольким) из ее аргументов присваивалось значение символьной константы, обозначающей, например, имя параметра, значение параметра или определенный режим. Все такие константы начинаются с прописных букв GL. Кроме того, слова, составляющие имя этой константы, пишутся приписными, а в качестве разделителя между словами, составляющими одно имя, используется знак подчеркивания (_). Ниже приведено несколько примеров из нескольких сотен символьных констант, которые могут использоваться функциями пакета OpenGL.

GL_2D, GL_RGB, GL_CCW, GL_POLYGON, GL_AMBIENT_AND_DIFFUSE

Функции пакета OpenGL также воспринимают особые типы данных. Например, параметр функции OpenGL может воспринимать значения, которые задаются как 32-разрядные целые числа. Но размер спецификации целого числа на разных машинах может отличаться. Для обозначения особого типа данных в пакете OpenGL используются специальные встроенные названия типов данных.

GLbyte, GLshort, GLint, GLfloat, GLdouble, GLboolean

Каждое название типа данных начинается с прописных букв GL, а остальная часть названия - это стандартное обозначение типа данных, написанное строчными.

Некоторым аргументам функций OpenGL можно присваивать значения с помощью массива, который содержит набор значений. Это опция для спецификации списка значений в виде указателя на массив, а не путем спецификации каждого элемента из списка явно в виде аргумента параметра. Характерный пример применения этой опции - задание значений координат xyz.

РОДСТВЕННЫЕ БИБЛИОТЕКИ

Кроме основной (корневой) библиотеки OpenGL, существует еще ряд связанных с ней библиотек для выполнения специальных операций. Набор программ OpenGL (iOpenGL Utility - GLU) предоставляет стандартные функции, позволяющие настраивать матрицы проекции и визуализации, описывать сложные объекты через приближения прямых и многоугольников, изображать квадратичные и би-сплайны с помощью линейного приближения, закрашивать поверхности и др. Каждая реализация пакета OpenGL включает библиотеку GLU, а все имена функций GLU начинаются с приставки glu. Существуют и объектно-ориентированные инструментальные средства, основанные на OpenGL, под названием Open Inventor, которые предоставляют стандартные функции и предопределенные формы объектов для интерактивных трехмерных приложений. Этот инструментарий написан на языке C++.

Чтобы создать графическое изображение с помощью пакета OpenGL, прежде всего нужно открыть на рабочем экране окно изображения. Это просто прямоугольная область экрана, на которой будет строиться наше изображение. Нельзя создать окно изображения непосредственно с помощью основных функций OpenGL, поскольку эта библиотека содержит только не зависящие от прибора графические функции, а операции управления окном зависят от компьютера, на котором мы работаем. Однако существует несколько библиотек систем окон, которые поддерживают функции для различных машин. Расширение OpenGL для системыX-Windows (GLX) предлагает набор стандартных функций, которые начинаются с приставки glX. В системах Apple для операций управления окном можно пользоваться интерфейсом Apple GL (AGL). Имена функций в этой библиотеке начинаются с приставки agi. Для систем Microsoft Windows стандартные функции WGL предлагает интерфейс Windows-to-OpenGL. Эти функции начинаются с букв wgl. Presentation Manager to OpenGL (PGL) - это интерфейс для OS/2 компании IBM, в котором для обозначения стандартных функций в библиотеке используется приставка pgl. A OpenGL Utility Toolkit (GLUT) предлагает библиотеку функций для работы с любой системой окон на экране. Библиотеке функций GLUT соответствует префикс glut. Кроме того, в этой библиотеке содержатся методы, позволяющие описывать и закрашивать кривые и поверхности второго порядка.


⇐ вернуться назад | | далее ⇒