Опубликован: 02.12.2011 | Доступ: свободный | Студентов: 980 / 117 | Оценка: 5.00 / 4.00 | Длительность: 09:26:00
Специальности: Программист
Теги: .net, open source, opengl
Лекция 1:

Введение

Лекция 1 || Лекция 2 >

OpenGL – это спецификация, определяющая независимый от языка программирования кросплатформенный программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику. OpenGL является сокращением словосочетания "Open Graphics Library", что в переводе обозначает "открытая графическая библиотека". Спецификация OpenGL разрабатывается наблюдательным советом за архитектурой OpenGL (OpenGL Architecture Review Board), в который входят ведущие производители программных и аппаратных средств, в частности, фирмы IBM, Hewlett-Packard, Intel, Apple, Dell, Sun Microsystems. Поддержка большим числом компаний, заинтересованных в развитии OpenGL, позволило ей стать прикладным интерфейсом широкого назначения с большим количеством возможностей [ 1 ] .

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

OpenGL представляет собой документ, описывающий набор функций и их точное поведение. Производители оборудования и независимые разработчики на основе этой документации создают библиотеки функций, соответствующие набору функций спецификации. Реализации OpenGL разработаны для многих операционных систем и аппаратных платформ. Эти реализации обычно предоставляются изготовителями видеоадаптеров и активно используют их возможности. Если аппаратура не позволяет реализовать какую-либо возможность, то она реализуется чисто программно. Существуют также чисто программные реализации спецификации OpenGL, одной из которых является библиотека Mesa 3D Graphics Library [ 4 ] .

Первая версия спецификации OpenGL была утверждена в 1992 г. и включала описание команд для создания двухмерных и трехмерных реалистичных изображений. Основные возможности OpenGL перечислены ниже:

  • обработка геометрических примитивов;
  • работа с растровыми примитивами;
  • работа с цветом в RGBA и индексной палитрах;
  • выполнение видовых и перспективных преобразований;
  • удаление невидимых линий и поверхностей;
  • поддержка текстур;
  • реализация освещения;
  • создание специальных эффектов: туман, сопряжение цветов, устранение ступенчатости, прозрачность.

В дальнейшем спецификация OpenGL расширялась, были выпущены новые версии спецификации, которые дополнительно включили поддержку шейдерного языка OpenGL Shading Language (версия спецификации 2.0, 2004 г.), CopyBuffer API для быстрого копирования данных, текстурные буферные объекты, нормализованные текстуры, геометрические шейдеры (версии 3.0-3.2, 2008-2009 г.). На данный момент разработана спецификация OpenGL версии 4.2.

Для мобильных устройств используется отдельная реализация OpenGL- OpenGL ES (OpenGL for Embedded Systems) [ 2 ] . Она используется в операционной системе Symbian, на платформе Android, в PlayStation 3, в операционной системе iPhone.

Поддержка OpenGL включена в стандарт HTML 5 в виде стандарта WebGL, который предназначен для отображения трехмерной графики в браузерах [ 3 ] .

Основные достоинства OpenGL

  • Стабильность стандарта. Возможности OpenGL только расширяются. Функциональность команд, которые были реализованы в предыдущих версиях OpenGL, остаётся без изменения.
  • Надежность получаемого результата. Все приложения OpenGL имеют один и тот же результат, где бы они не работали: в разных операционных системах и на разных аппаратных платформах.
  • Переносимость. Приложения могут работать на аппаратно-программных платформах, для которых есть реализация OpenGL.
  • Простота использования библиотеки. Библиотека является довольно простой в использовании по сравнению с возможностями, которые она реализует.
  • Расширяемость. Для OpenGL могут разрабатываться различные расширения, которые предоставляют дополнительные возможности. Это позволяет добавлять новую функциональность, не дожидаясь выхода новой версии реализации OpenGL.
Лекция 1 || Лекция 2 >
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Лариса Парфенова
Лариса Парфенова

1) Можно ли экстерном получить второе высшее образование "Программная инженерия" ?

2) Трудоустраиваете ли Вы выпускников?

3) Можно ли с Вашим дипломом поступить в аспирантуру?