Создание графическиx моделей с помощью Open Graphics Library
Покупка
Новинка
Тематика:
Графика. Рисунок
Издательство:
ИНТУИТ
Автор:
Лихачев В. Н.
Год издания: 2016
Кол-во страниц: 147
Дополнительно
В компьютерном моделировании значительную роль занимает графическое представление моделируемых объектов, явлений и процессов. Графические модели позволяют не только более наглядно представить моделируемые сущности, но и упростить интерпретацию полученных
результатов. Учебный курс предназначен для изучения базовых возможностей графической библиотеки OpenGL и получения практических навыков создания графических моделей различных типов: от графиков до реалистичных моделей объектов.
Современная компьютерная техника предоставляет довольно широкие аппаратные возможности для реализации сложных графических моделей. Одной из проблем создания графических моделей является выбор графической библиотеки, которая бы предоставляла широкие возможности для создания графических моделей и в то же время была относительно проста для изучения. Одной из библиотек отвечающих этим требованиям является универсальная кросплатформенная графическая библиотека Open Graphics Library (OpenGL). Библиотека OpenGL существует с 1992 г., её реализации созданы для различных аппаратно-программных платформ: от мобильных устройств до специализированных графических станций. Библиотека может использоваться с различными языками программирования, она динамично развивается. На основе данной библиотеки разработано довольно большое количество различных систем проектирования и игр, работающих на различных аппаратно-программных платформах.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 54.03.01: Дизайн
- ВО - Специалитет
- 54.05.03: Графика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Создание графическиx моделей с помощью Open Graphics Library 2-е издание, исправленное Лихачев В.Н. Национальный Открытый Университет “ИНТУИТ” 2016 2
Создание графическиx моделей с помощью Open Graphics Library/ В.Н. Лихачев - М.: Национальный Открытый Университет “ИНТУИТ”, 2016 В компьютерном моделировании значительную роль занимает графическое представление моделируемых объектов, явлений и процессов. Графические модели позволяют не только более наглядно представить моделируемые сущности, но и упростить интерпретацию полученных результатов. Учебный курс предназначен для изучения базовых возможностей графической библиотеки OpenGL и получения практических навыков создания графических моделей различных типов: от графиков до реалистичных моделей объектов. Современная компьютерная техника предоставляет довольно широкие аппаратные возможности для реализации сложных графических моделей. Одной из проблем создания графических моделей является выбор графической библиотеки, которая бы предоставляла широкие возможности для создания графических моделей и в то же время была относительно проста для изучения. Одной из библиотек отвечающих этим требованиям является универсальная кросплатформенная графическая библиотека Open Graphics Library (OpenGL). Библиотека OpenGL существует с 1992 г., её реализации созданы для различных аппаратно-программных платформ: от мобильных устройств до специализированных графических станций. Библиотека может использоваться с различными языками программирования, она динамично развивается. На основе данной библиотеки разработано довольно большое количество различных систем проектирования и игр, работающих на различных аппаратно-программных платформах. (c) ООО “ИНТУИТ.РУ”, 2011-2016 (c) Лихачев В.Н., 2011-2016 3
Введение 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 для быстрого копирования данных, текстурные буферные объекты, нормализованные 4
текстуры, геометрические шейдеры (версии 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. 5
Библиотека OpenGL и платформа Microsoft .NET Framework В лекции рассматриваются возможности использования библиотеки OpenGL на платформе Microsoft .NET Framework. Цель лекции: Рассмотреть установку библиотеки OpenTK в операционной системе Windows, настройку её поддержки в Microsoft Visual Studio 2010, структуру проекта C#, использующего компонент GLControl библиотеки OpenTK. К сожалению, платформа Microsoft .NET Framework не имеет встроенных средств поддержки библиотеки OpenGL. Для применения библиотеки OpenGL на платформе Microsoft .NET Framework можно использовать вызов функций непосредтвенно из динамической библиотеки Opengl.dll, которая является реализацией библиотеки OpenGL в операционной системе Windows. На данный момент существует уже несколько библиотек для платформы Microsoft .NET Framework, в которых выполнена необходимая реализация вызовов функций из динамической библиотеки Opengl.dll, и которые предоставляют некоторые дополнительные возможности, позволяющие упростить использование библиотеки OpenGL на платформе Microsoft .NET Framework. На данный момент наиболее широко используются библиотеки Tao Framework [6] и Open Toolkit Library [5]. Библиотека Open Toolkit Library (OpenTK) поддерживает последние версии библиотеки OpenGL и имеет более удобный интерфейс вызова функций библиотеки OpenGL, который позволяет избежать целого ряда ошибок при их использовании. Библиотека OpenTK поддерживает не только Microsoft.NET Framework (с версии 2.0) , но и Mono Framework (с версии 2.0), который представляет собой проект с открытым исходным кодом кросплатформенной реализации Microsoft .NET Framework [7]. В дальнейшем будут рассматриваться возможности библиотеки OpenTK версии 1.0. Для создания примеров будет применяться Microsoft Visual Studio 2010. Установка библиотеки OpenTK Последнюю версию библиотеки OpenTK можно скачать со страницы ссылка: http://sourceforge.net/projects/opentk. Для установки библиотеки OpenTK необходимо запустить инсталлятор. После запуска инсталлятор выводит лицензионное соглашение об использовании библиотеки OpenTK (рис. 1.1). Для продолжения установки необходимо нажать кнопку “I Agree”, которая подтверждает Ваше согласие с лицензионным соглашением. 6
Рис. 1.1. Диалог с лицензионным соглашением для библиотеки OpenTK В следующем диалоге можно изменить каталог установки (рис. 1.2). Необходимо обратить внимание, что по умолчанию инсталлятор предлагает скопировать необходимые файлы в каталог: <Системный диск>:\Documents and Settings\<Имя пользователя> В этот каталог будут скопированы исходные файлы библиотеки OpenTK и примеры её использования. Рис. 1.2. Диалог выбора каталога для установки библиотеки OpenTK В следующем диалоге предлагается указать компоненты, которые необходимо 7
установить (рис. 1.3). По умолчанию инсталлятор предлагает установить все доступные компоненты. Необходимо отметить, что для установки компонентов “OpenAL drivers”, “NShader plugins (VS2008)” и “NShader plugins (VS2010)” необходимо подключение к Internet. После установки основных компонентов OpenTK инсталлятор пытается скачать эти компоненты и запустить их инсталляторы. При отсутствии подключения к Интернет эти компоненты не будут установлены. В данном курсе эти компоненты не рассматриваются, поэтому их можно не устанавливать. Рис. 1.3. Выбор устанавливаемых компонентов библиотеки OpenTK Далее выполняется установка выбранных компонентов (рис. 1.4). 8
Рис. 1.4. Диалог с информацией о процессе установки выбранных компонентов библиотеки OpenTK После установки всех компонентов выводится диалог о завершении установки (рис. 1.5). Рис. 1.5. Диалог с информацией об успешной установке библиотеки OpenTK Использование библиотеки OpenTK в проектах Microsoft Visual Studio 2010 Для создания изображений с использованием OpenGL библиотека OpenTK реализует 9
графический элемент управления GLControl. Библиотека OpenTK формирует изображение на этом элементе управления. Для возможности добавления графического элемента управления GLControl на форму с помощью дизайнера форм Microsoft Visual Studio, его необходимо добавить в панель инструментов (ToolBox). Для этого необходимо выбрать одну из групп в панели инструментов, например, “General”, и нажать внутри этой группы правую кнопку мыши. В результате будет выведено контекстное меню (рис. 1.6). Рис. 1.6. Контекстное меню панели инструментов (ToolBox) в Microsoft Visual Studio 2010 В контекстном меню необходимо выбрать команду “Выбрать элементы” (“Choose Item”). После этого на экран будет выведен диалог (рис. 1.7). 10