2.2 OpenGL

Сейчас трёхмерные изображения можно увидеть везде, начиная от компьютерных игр и заканчивая системами моделирования в реальном времени. Раньше, когда трёхмерная графика существовала только на суперкомпьютерах, не существовало единого стандарта в области графики. Все программы писались с "нуля" или с использованием накопленного опыта, но в каждой программе реализовывались свои методы для отображения графической информации. С приходом мощных процессоров и графических ускорителей трёхмерная графика стала реальностью для персональных компьютеров. Но в тоже время производители программного обеспечения столкнулись с серьёзной проблемой - это отсутствие каких-либо стандартов, которые позволяли писать программы, независимые от оборудования и операционной системы. Одним из первых таких стандартов, существующий и по сей день является OpenGL.

OpenGL - это графический стандарт в области компьютерной графики. На данный момент он является одним из самых популярных графических стандартов во всём мире. Ещё в 1982 г. в Стенфордском университете была разработана концепция графической машины, на основе которой фирма Silicon Graphics в своей рабочей станции Silicon IRIS реализовала конвейер рендеринга. Таким образом была разработана графическая библиотека IRIS GL. На основе библиотеки 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 переводится как Открытая Графическая Библиотека (Open Graphics Library), это означает, что OpenGL - это открытый и мобильный стандарт. Программы, написанные с помощью OpenGL можно переносить практически на любые платформы, получая при этом одинаковый результат, будь это графическая станция или суперкомпьютер. OpenGL освобождает программиста от написания программ для конкретного оборудования. Если устройство поддерживает какую-то функцию, то эта функция выполняется аппаратно, если нет, то библиотека выполняет её программно.

Что же представляет из себя OpenGL? С точки зрения программиста OpenGL - это программный интерфейс для графических устройств, таких как графические ускорители. Он включает в себя около 150 различных команд, с помощью которых программист может определять различные объекты и производить рендеринг. Говоря более простым языком, вы определяете объекты, задаёте их местоположение в трёхмерном пространстве, определяете другие параметры (поворот, масштаб, ...), задаёте свойства объектов (цвет, текстура, материал, ...), положение наблюдателя, а библиотека OpenGL позаботится о том чтобы отобразить всё это на экране. Поэтому можно сказать, что библиотека OpenGL является только воспроизводящей (Rendering), и занимается только отображением 3Д обьектов, она не работает с устройствами ввода (клавиатуры, мыши). Также она не поддерживает менеджер окон.

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

В некоторых библиотеках OpenGL (например под X Windows) имеется возможность изображать результат не только на локальной машине, но также и по сети. Приложение, которое вырабатывает команды OpenGL называется клиентом, а приложение, которое получает эти команды и отображает результат - сервером. Таким образом можно строить очень мощные воспроизводящие комплексы на основе нескольких рабочих станций или серверов, соединённых сетью [6]. Что предоставляет библиотека в распоряжение программиста? Основные возможности:

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

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

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

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

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

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

6) наложение текстуры. Позволяет придавать объектам реалистичность. На объект, например шар, накладывается текстура(просто какое-то изображение), в результате чего наш объект теперь выглядит не просто как шар, а как разноцветный мячик.

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

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

9) атмосферные эффекты. Например туман, дым. Всё это также позволяет придать объектам или сцене реалистичность, а также "почувствовать" глубину сцены.

10) прозрачность объектов.



Информация о работе «Разработка подсистемы визуализации моделей и их модификации»
Раздел: Информатика, программирование
Количество знаков с пробелами: 41796
Количество таблиц: 0
Количество изображений: 8

Похожие работы

Скачать
123884
4
0

... удобным и понятным как для специалиста-проектировщика, так и для любого пользователя САПР. Основные средства взаимодействия человека и машина - это различные диалоговые системы. САПР трубчатых реакторов для производства малеинового ангидрида использует следующие типы диалога: 1) диалог типа "меню". Данный тип меню показан на рисунке 4. На начальном этапе работы САПР в подсистеме ввода и ...

Скачать
103046
12
35

... ресурсы и на последнем этапе проведена оценка эффективности прототипа ИС, которая показала, что внедрение проекта целесообразно. Заключение Целью дипломного проекта являлась разработка подсистемы учета гематологических анализов для КДЛ ГБСМП-2 г. Ростова. Первым этапом дипломного проекта являлась определение цели и задач дипломного проекта. Был проведен анализ существующих систем. В первом ...

Скачать
118569
6
11

... в диалоговом режиме взаимодействия с пользователем. Исполнительная подсистема завершает создание готовой к выполнению Е-сетевой модели и обеспечивает проведение имитационных экспериментов с этой моделью. Следует отметить, что появление подсистемы визуального отображения процесса интерпретации моделей, налагает ряд требований направленных на обеспечение возможности и правильности последующей ...

Скачать
146599
8
2

... , удовлетворяющее потребностям организации, регламентировать процесс перехода на новую систему электронного документооборота и оперативного управления деятельностью компании. ГЛАВА 3. ПРЕДЛОЖЕНИЯ ПО СОВЕРШЕНСТВОВАНИЮ ДЕЯТЕЛЬНОСТИ ОГУ «БЕЛИФ» НА ОСНОВЕ ТЕХНОЛОГИЙ ИНФОРМАЦИОННОГО МЕНЕДЖМЕНТА 3.1 Выбор системы оперативного управления деятельностью на основе анализа российских и зарубежных ...

0 комментариев


Наверх