Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Базовые возможности библиотеки

Преимущества OpenGL

При реализации авторы ставили себе пять ориентиров, важных с точки зрения получаемых результатов.

Производительность. С самого начала в OpenGL была заложена "крайне желательная" возможность отрисовки динамических сцен. Для получения нужных результатов в систему введено множество параметров, или, как говорят, режимов рисования. Если некоторый режим или комбинация режимов на данном оборудовании не в состоянии обеспечить интерактивного взаимодействия и необходимой частоты обновления сцены, то пользователь или сама программа должны быть в состоянии отключать так много дополнительных функций, сколько нужно для получения "живой" картинки.

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

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

Интероперабельность.(Интероперабельность — это способность продукта или системы, интерфейсы которых полностью открыты, взаимодействовать и функционировать с другими продуктами или системами без каких-либо ограничений...) В сетевом окружении важно передавать данные между разными платформами. Поэтому OpenGL заранее ориентирован на работу в режиме клиент-сервер, даже если и клиент и сервер расположены на одном компьютере.

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

К базовым возможностям библиотеки можно отнести следующие:

1. Создание геометрических и растровых примитивов. На их основе строятся все объекты. Из геометрических примитивов библиотека предоставляет: точки, линии, полигоны. Из растровых: битовый массив (bitmap) и образ(image).

2. Использование B-сплайнов для рисования кривых по опорным точкам.

3. Видовые и модельные преобразования, позволяющие вращать объекты, располагать их в пространстве, изменять форму, а также изменять положение камеры, из которой ведется наблюдение.

4. Работа с цветом. OpenGL предоставляет возможности работы с цветом в режиме RGBA или используя индексный режим, где цвет выбирается из палитры.

5. Удаление невидимых линий и поверхностей.Z-буферизация.

6. Двойная буферизация, позволяющая устранить мерцание при мультипликации (изображение каждого кадра сначала рисуется во втором буфере, а потом, когда кадр полностью нарисован, весь буфер отображается на экран).

7. Наложение текстуры.

8. Сглаживание (позволяет скрыть ступенчатость).

9. Освещение (задавать источники освещения, их расположение, интенсивность).

10. Атмосферные эффекты, такие как дым, туман.

11. Прозрачность объектов.

12. Использование списков изображений.

Для упрощения работы с OpenGL существуют вспомогательные библиотеки: GLU (в библиотеку вошли функции для работы со сплайнами, реализованы дополнительные операции над матрицами и дополнительные виды проекций), GLUT (предоставляет функции для работы с окнами, клавиатурой и мышкой), GLAUX (во многом схожа с библиотекой GLUT, но немного отстает по своим возможностям).

<== предыдущая лекция | следующая лекция ==>
Архитектура OpenGL | Проекции. Видовое преобразование
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 600; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.