OpenGL (часть 1) - Графика - Shelek
Добро пожаловать в серию обучалок по OpenGL (Open Graphics Library).
Первая статья будет небольшим введением в OpenGL и компьютерную графику. Как Вы знаете, компьютерная графика - это область информатики, в сферу интересов которой входят все аспекты формирования изображения с помощью компьютера.

Эта область начала развиваться около 40 лет назад.
OpenGl одна из графических библиотек, которая предоставляет нам эти возможности. В 1982 году в Стенфордском Университете была разработана концепция графической машины, на основе которой фирма Silicon Graphics в своей рабочей станции Silicon IRIS реализовала конвейер рендеринга.

Таким образом, была разработана графическая библиотека IRIS GL. На основе этой библиотеки в 1992 году был разработан и утвержден графический стандарт OpenGL. Разработчики OpenGL это крупнейшие фирмы:
Silicon Graphics, Inc., Microsoft, IBM Corporation, Sun Microsystems, Inc., Digital Equipment Corporation (DEC), Evans & Sutherland, Hewlett-Packard Corporation, Intel Corporation и Intergraph Corporation.

Программы, написанные на OpenGL можно переносить практически на любые платформы (Unix,Linux,Win,Irix,SunOS,MacOS).

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

Кстати, в некоторых библиотеках OpenGl имеется возможность изображать результат не только локально, но и по сети! То есть, приложение которое вырабатывает команды называется клиентом, а приложение которое получает эти команды и отображает результат - сервером ( знакомая технология, клиент/сервер ).

Основное предназначение OpenGl - это преобразование 2 и 3-х мерных объектов в специальный формат в специальном буфере. То есть: Вы определяете объекты, задаете их местоположение, поворот, растяжение, задаете свойства этих объектов (текстуры, цвет, материал), положение камеры, и после всего этого OpenGL отображает конечную картинку на экране. Все объекты описываются как последовательность точек в пространстве, которые определяют геометрические объекты, или пикселов которые определяют изображения. OpenGl предоставляет доступ к контролю операциями 2, 3-х мерной графики. Это трансформационные матрицы, коэфициэнты уравнений освещения, методы сглаживания, модифицирование пикселов и вершин.

Можно кратко выделить основные возможности OpenGl:

- Видовые и модельные преобразования;
- Геометрические и растровые примитивы;
- Использование кривых Безье;
- Работа с цветом;
- Удаление невидимых линий и поверхностей. Z-buffer;
- Наложение текстур;
- Сглаживание;
- Освещение;
- Атмосферные эффекты;
- Прозрачность.


Все имена функций начинаются с gl, а заголовки функций хранятся в файле gl.h,а сами функции в библиотеке opengl32.lib. Кроме основной библиотеки существует еще несколько дополнительных:
- Библиотека графических утилит (GLU). В ее состав входят функции формирования сложных объектов вроде сферы, куба, кривых поверхностей и т. д.;
- GLUT (GL Utility Toolkit) содержит функции, которые отвечают за взаимодействие с системой окон;
- GLAUX аналог GLUT под Windows от Microsoft;
- GLX используется для X-Windows, имеет возможность сетевого рендеринга.

Кроме OpenGL, существую еще и другие библиотеки:
- Direct3D от Microsoft (работает только под Win);
- Glide от 3Dfx (работает только на ускорителя 3Dfx).

Подведем итоги.

Используя OpenGL, мы получаем простоту, использование мощности современных видео карт, мультиплатформенность.

Следующая статья будет содержать пример, который будет рассказывать о том, как правильно инициализировать OpenGl, как в оконном так и в полноэкранном режиме.
Information
  • Posted on 01.02.2010 01:30
  • Просмотры: 3450