Лекция библиотека Opengl 7




НазваниеЛекция библиотека Opengl 7
страница2/29
Дата публикации27.06.2013
Размер1.48 Mb.
ТипЛекция
lit-yaz.ru > Информатика > Лекция
1   2   3   4   5   6   7   8   9   ...   29

Введение


Лекции данной части учебного курса "Основы программирования на языке Си++" предназначены для начального изучения графической библиотеки OpenGL и закрепления навыков программирования на процедурном подмножестве языка Си++. Предварительные знания в области трехмерной компьютерной графики не предполагаются. В данном курсе демонстрируется, что для применения готовых программных средств необходимо знать основные задачи и алгоритмы конкретной предметной области. С точки зрения изучения программирования показывается общность понятий абстрактных типов данных (на примере стека и массива). Вводится понятие макета (каркаса) программы и функций обратной связи, которые используются для написания программ в событийно-управляемой среде.

На практических занятиях используется среда разработки ^ Microsoft Visual C++ на ПК под управлением Windows 95/98/NT. Все программы, рассматриваемые в качестве примеров в лекциях, и ответы к упражнениям написаны на стандартном ANSI Си++ и проверены в среде Microsoft Visual C++ 5.0 на ПК под управлением Windows 98.
^

ЛЕКЦИЯ 1. Библиотека OpenGL

1. Назначение библиотеки OpenGL


Для упрощения разработки программ на языке Си++ существует большое количество готовых библиотек с реализацией алгоритмов для конкретных предметных областей, от численных расчетов до распознавания речи. Библиотека OpenGL является одним из самых популярных программных интерфейсов (API) для работы с трехмерной графикой. Стандарт OpenGL был утвержден в 1992 г. ведущими фирмами в области разработки программного обеспечения. Его основой стала библиотека IRIS GL, разработанная фирмой Silicon Graphics на базе концепции графической машины Стэнфордского университета (1982 г.).

^ OpenGL переводится как Открытая Графическая Библиотека (Open Graphics Library). Программы, использующие OpenGL, гарантируют одинаковый визуальный результат во многих операционных системах – на персональных компьютерах, на рабочих станциях и на суперкомпьютерах.

С точки зрения программиста, OpenGL – это программный интерфейс для графических устройств (например, графических ускорителей). Он включает в себя около 150 различных функций, с помощью которых программист может задавать свойства различных трехмерных и двумерных объектов и выполнять их визуализацию (рендеринг). Т.е. в программе надо задать местоположение объектов в трехмерном пространстве, определить другие параметры (поворот, растяжение, ...), задать свойства объектов (цвет, текстура, материал, ...), положение наблюдателя, а затем библиотека OpenGL выполнит генерацию двумерной проекции этой трехмерной сцены (рис. 1.1).


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

^

2. Основные возможности OpenGL


Возможности OpenGL, предоставляемые программисту, можно разделить на несколько групп:

  • Геометрические и растровые примитивы. На основе этих примитивов строятся все остальные объекты. Геометрические примитивы – это точки, отрезки и многоугольники. Растровыми примитивами являются битовые массивы (bitmap) и изображения (image).

  • ^ Сплайны. Сплайны применяются для построения гладких кривых по опорным точкам.

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

  • ^ Работа с цветом. Для операций с цветом в OpenGL есть режим RGBA (красный-зелёный-синий-прозрачность) и индексный режим (цвет задается порядковым номером в палитре).

  • Удаление невидимых линий и поверхностей.

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

  • ^ Наложение текстуры. Текстуры упрощают создание реалистичных сцен. Если на объект, например, сферу, наложить текстуру (некоторое изображение), то объект будет выглядеть иначе (например, сфера будет выглядеть как разноцветный мячик).

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

  • Освещение. Указание расположения, интенсивности и цвета источников света.

  • Специальные эффекты. Например, туман, дым, прозрачность объектов. Эти средства позволяют сделать сцены более реалистичными.


Хотя библиотека ^ OpenGL предоставляет практически все возможности для моделирования и воспроизведения трёхмерных сцен, некоторые графические функции непосредственно в OpenGL недоступны. Например, чтобы задать положение и направление камеры для наблюдения сцены придется рассчитывать проекционную матрицу, что сопряжено с достаточно громоздкими вычислениями. Поэтому для OpenGL существуют так называемые вспомогательные библиотеки.

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

Еще две известные библиотеки – ^ GLUT (для Unix) и GLAUX (для MS Windows). В них реализованы не только дополнительные функции OpenGL (для построения некоторых сложных фигур вроде конуса и тетраэдра), но также есть функции для работы с окнами, клавиатурой и мышью в консольных приложениях. Чтобы работать с OpenGL в конкретной операционной системе (например, Windows или Unix), надо провести некоторую предварительную настройку, которая зависит от операционной системы. GLUT и GLAUX позволяют буквально несколькими командами определить окно, в котором будет работать OpenGL, задать функции для обработки команд от клавиатуры или мыши.

1   2   3   4   5   6   7   8   9   ...   29

Похожие:

Лекция библиотека Opengl 7 iconЛекция Биржевые опционы Лекция Границы премии (цены) опционов на акции
Лекция 10. Греки: коэффициенты чувствительности премии Лекция 11. Опционные стратегии

Лекция библиотека Opengl 7 iconЛекция Историография как научная дисциплина Лекция Исторические знания в Древней Руси
Лекция 10. Историческая наука в России в последней трети XIX – начале XX вв.: общие тенденции развития, методологические поиски

Лекция библиотека Opengl 7 iconЛекция Драго Байт «Переводы русской литературы в Словении»
Всероссийская государственная библиотека иностранной литературы им. М. И. Рудомино

Лекция библиотека Opengl 7 iconОтчет должен состоять из следующих разделов в следующем порядке
Выбрать интерфейс программирования графики из OpenGL, DirectX, Flash, gdi+ или других (согласовать с руководителем)

Лекция библиотека Opengl 7 iconЛекция для студентов III курса специальностей 060400 «Финансы и кредит»
Вашему вниманию предлагается обзорная (установочная) лекция по курсу " Информационные системы в экономике"

Лекция библиотека Opengl 7 iconУрок лекция по литературе в 10 классе «Здесь духа мощного господство…»
Оборудование: на доске портрет А. А. Фета с указанием дат его жизни, лекция учителя сопровождается презентацией

Лекция библиотека Opengl 7 iconЛекция для преподавателей курса «Основы религиозных культур и светской этики»
В основу текста положена лекция в Томском областном институте повышения квалификации работников образования

Лекция библиотека Opengl 7 iconLib. Ru: Библиотека Максима Мошкова
Крупнейшая бесплатная электронная библиотека российского Интернета. Здесь вы можете найти литературу по истории, политике, философии,...

Лекция библиотека Opengl 7 iconЛекция в Дорнахе 22 мая 1920 года
Канта и протестантизма. Эта лекция вызвала негодование среди членов Лиги, культивировавших и признававших под названием монизма вообще...

Лекция библиотека Opengl 7 iconЭлектронная библиотека Российской государственной библиотеки (ргб)
Крупнейшая бесплатная электронная библиотека российского Интернета. Здесь вы можете найти литературу по истории, политике, философии,...



Образовательный материал



При копировании материала укажите ссылку © 2013
контакты
lit-yaz.ru
главная страница