Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Професиональное программирование


Информационный Канал Subscribe.Ru

Доброго времени суток, уважаемые подписчики.

Выпуск 4.
OpenGL
автор://roma_k roma_k@ukrwest.net


Добро пожаловать в серию обучалок по 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, как в оконном так и в полноэкранном режиме.

Продолжение следует...

Всего вам доброго.

Сайт и форумы: http://comp-u.wp-club.net
Ёмайл: subscribe@comp-u.wp-club.net


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное