Создание графических моделей с помощью Open Graphics Library

Библиотека 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 и Open Toolkit Library .

Библиотека Open Toolkit Library (OpenTK) поддерживает последние версии библиотеки OpenGL и имеет более удобный интерфейс вызова функций библиотеки OpenGL, который позволяет избежать целого ряда ошибок при их использовании. Библиотека OpenTK поддерживает не только Microsoft.NET Framework (с версии 2.0) , но и Mono Framework (с версии 2.0), который представляет собой проект с открытым исходным кодом кросплатформенной реализации Microsoft .NET Framework .

В дальнейшем будут рассматриваться возможности библиотеки OpenTK версии 1.0. Для создания примеров будет применяться Microsoft Visual Studio 2010.

Установка библиотеки OpenTK

Последнюю версию библиотеки OpenTK можно скачать со страницы http://sourceforge.net/projects/opentk.

Для установки библиотеки OpenTK необходимо запустить инсталлятор.

После запуска инсталлятор выводит лицензионное соглашение об использовании библиотеки OpenTK (рис 1.1). Для продолжения установки необходимо нажать кнопку "I Agree", которая подтверждает Ваше согласие с лицензионным соглашением.

(рис 1.1) Диалог с лицензионным соглашением для библиотеки OpenTK

В следующем диалоге можно изменить каталог установки (рис 1.2). Необходимо обратить внимание, что по умолчанию инсталлятор предлагает скопировать необходимые файлы в каталог:

<Системный диск>:\Documents and Settings\<Имя пользователя>

В этот каталог будут скопированы исходные файлы библиотеки OpenTK и примеры её использования.

(рис 1.2) Диалог выбора каталога для установки библиотеки OpenTK

В следующем диалоге предлагается указать компоненты, которые необходимо установить (рис 1.3). По умолчанию инсталлятор предлагает установить все доступные компоненты.

Необходимо отметить, что для установки компонентов "OpenAL drivers", "NShader plugins (VS2008)" и "NShader plugins (VS2010)" необходимо подключение к Internet. После установки основных компонентов OpenTK инсталлятор пытается скачать эти компоненты и запустить их инсталляторы. При отсутствии подключения к Интернет эти компоненты не будут установлены.

В данном курсе эти компоненты не рассматриваются, поэтому их можно не устанавливать.

(рис 1.3) Выбор устанавливаемых компонентов библиотеки OpenTK

Далее выполняется установка выбранных компонентов (рис 1.4).

(рис 1.4) Диалог с информацией о процессе установки выбранных компонентов библиотеки OpenTK

После установки всех компонентов выводится диалог о завершении установки (рис 1.5).

(рис 1.5) Диалог с информацией об успешной установке библиотеки OpenTK

Использование библиотеки OpenTK в проектах Microsoft Visual Studio 2010

Для создания изображений с использованием OpenGL библиотека OpenTK реализует графический элемент управления GLControl. Библиотека OpenTK формирует изображение на этом элементе управления.

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

Для этого необходимо выбрать одну из групп в панели инструментов, например, "General", и нажать внутри этой группы правую кнопку мыши. В результате будет выведено контекстное меню (рис 1.6).

(рис 1.6) Контекстное меню панели инструментов (ToolBox) в Microsoft Visual Studio 2010

В контекстном меню необходимо выбрать команду "Выбрать элементы" ("Choose Item"). После этого на экран будет выведен диалог (рис 1.7).

(рис 1.7) Диалог выбора устанавливаемых компонентов в панель инструметов (ToolBox) в Microsoft Visual Studio 2010

В диалоге необходимо выбрать вкладку "Компоненты .NET Framework" (".NET Framework Components") и в списке отметить галочкой компонент "GLControl". После этого необходимо нажать кнопку "OK".

В результате в панель инструментов будет добавлен компонент "GLControl" (рис 1.8).

(рис 1.8) Компонент GLConrol в панели инструментов (ToolBox) в Microsoft Visual Studio 2010

Для добавления компонента GLControl на форму достаточно его перетащить с панели инструметов на форму (рис 1.9).

(рис 1.9) Результат добавления компонента GLConrol на форму в проекте типа “Windows Forms Application” на C# в Microsoft Visual Studio 2010

При этом также в проект будут автоматически добавлены ссылки на сборки "OpenTK.dll" и "OpenTK.GLControl.dll" (рис 1.10).

(рис 1.10) Cсылки на сборки “OpenTK.dll” и “OpenTK.GLControl.dll” в проекте типа “Windows Forms Application” на C# с использованием библиотеки OpenTK в Microsoft Visual Studio 2010

В библиотеке OpenTK команды библиотеки OpenGL реализуются с помощью статических методов класса GL.

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

Краткие итоги

В лекции рассмотрен процесс установки библиотеки OpenTK и её настройка в Microsoft Visual Studio 2010.

Вернуться к учебному плану