ВВЕДЕНИЕ
Стремительный рост интереса к компьютерной графике во многих сферах деятельности человека способствует развитию ее математических и алгоритмических основ. Соответственно видоизменяется и стандартизация в области компьютерной графики. Наблюдается тенденция смены общепринятых стандартов CORE, GKS, GKS-3D, PHIGS на стандарт открытой графической библиотеки - OpenGL (Open Graphic Library) - являющийся базовым стандартом для большинства рабочих графических станций в мире (Sun, Silicon Graphics и т.п.).
Стандарт OpenGL был разработан и утвержден в 1992 г. ведущими фирмами в области разработки программного обеспечения, среди которых Digital Equipment Corporation, Evans & Sutherland, Hewlett Packard Co., IBM Corp., Intel Cor., Intergraph Cor., Silicon Graphics Inc., Sun Microsystems и Microsoft. Основой его стала библиотека IRIS GL, разработанная Silicon Graphics.
Характерные особенности OpenGL, обеспечивающие распространение и развитие этого графического стандарта:
- • Стабильность. Все вносимые в него дополнения и изменения реализуются при сохранности совместимости с разработанным ранее программным обеспечением.
- • Надежность. Приложения, использующие OpenGL, гарантируют одинаковый визуальный результат вне зависимости от типа используемой операционной системы и оборудования.
- • Переносимость. Приложения могут выполняться как на персональных компьютерах, так и на рабочих станциях и суперкомпьютерах.
- • Простота использования. Стандарт OpenGL имеет продуманную структуру и интуитивно понятный интерфейс, что позволяет с меньшими затратами создавать эффективные приложения, содержащие меньше строк кода, чем с использованием других графических библиотек. Необходимые функции для обеспечения совместимости с различным оборудованием реализованы на уровне библиотеки и значительно упрощают разработку приложений.
OpenGL - не язык программирования, а программный интерфейс приложений. Всякий раз, когда мы говорим, что программное приложение выполнено на OpenGL, то подразумеваем, что оно было написано на некотором языке программирования (например, C++) и делает запросы к одной или более библиотекам OpenGL.
Основные возможности OpenGL, предоставленные разработчикам:
- - геометрические примитивы (точки, линии и многоугольники);
- - растровые примитивы (битовые массивы пикселей);
- - работа с цветом в RGBA и индексном режимах;
- - видовые, модельные и текстурные преобразования;
- - удаление невидимых линий и поверхностей (z-буфер);
- - работа с прозрачностью поверхности многоугольников;
- - использования В-сплайнов;
- - работа с текстурами;
- - применение освещения;
- - использование смешивания цветов, устранение ступенчатости (anti-aliasing), моделирование "тумана" и других "атмосферных" эффектов.
Данное учебное пособие предполагается использовать как учебник по открытой библиотеке и как справочник по использованию основных команд OpenGL. Поможет предметный указатель быстро найти тот или иной материал по использованию графических функций, процедур и символьных констант. Описание многих команд OpenGL сопровождается фрагментами программных кодов на языке C++, показывающих их практическое использование.
Кроме этого, данное пособие призвано помочь студентам в выполнении курсовых работ и проектов, а также в их научно-исследовательской работе, где требуется организовать высокоэффективную визуализацию 2D-или ЗО-графики.