
- •1. Что такое OpenGl
- •2. Direct3d vs. OpenGl
- •2. Спецификация
- •4. Архитектура
- •5. Расширения
- •6. Дополнительные библиотеки
- •7. Независимость от языка программирования
- •8. История версий
- •OpenGl 2.0
- •OpenGl 3.0
- •OpenGl 3.1
- •OpenGl 3.2
- •OpenGl 3.3
- •OpenGl 4.0
- •OpenGl 4.1
- •OpenGl 4.2
- •OpenGl 4.3
- •9. Практический пример Tao Framework
- •Установка Tao Framework
- •10. Создание проекта и подключение библиотеки Tao OpenGl в с#
- •11. Инициализация OpenGl в c# .Net
- •Список литературы
Министерство Образования Российской Федерации
Тюменский Государственный Университет
Институт Математики Естественных Наук и
Информационных Технологий
Кафедра Программного Обеспечения
Курсовая работа
По дисциплине
Объектно-ориентированное программирование
На тему
Работа с графикой средствами OpenGL в С#
Выполнил:
студент Прикладной информатики.
Садыков Роман Валерьевич
Проверил:
доцент кафедры
Программного обеспечения
Ступников Андрей Анатольевич
Ноябрьск 2013
Оглавление
1. Что такое OpenGL
2. Direct3D vs. OpenGL
3. Спецификация
4. Архитектура
5. Расширения
6. Дополнительные библиотеки
7. Независимость от языка программирования
8. История версий
9. Практический пример
10. Создание проекта и подключение библиотеки Tao OpenGL в С#.
11. Инициализация OpenGL в C# .NET .
Список литературы
1. Что такое OpenGl
В данной курсовой работе мы должны рассмотреть основы работы с графиков средствами OpenGL в C#, что из себя представляет OpenGL, основные спецификации, принципы, возможности и закрепить примером.
OpenGL (Open Graphics Library - открытая графическая библиотека, графическое API) - спецификация, определяющая независимый от языка программирования платформонезависимый программный интерфейс для написания приложений, использующих двухмерную и трёхмерную компьютерную графику.
Включает более 250 функций для рисования сложных трёхмерных сцен из простых примитивов. Используется при создании компьютерных игр, САПР, виртуальной реальности, визуализации в научных исследованиях. На платформе Windows конкурирует с Direct3D, также известным как DirectX.
2. Direct3d vs. OpenGl
На сегодняшний день, широко используются только два API, Direct3D и OpenGL. Расскажу понемногу о каждом.
Всем известна одна из многих привычек корпорации Microsoft, производителя Direct3D: ищем перспективные проекты и скупаем не очень знаменитую компанию, обладающую правами на это продукт. Да, так произошло и с Direct3D. Когда-то компания Rendermorphics начала разработку нового API, а вездесущая Microsoft как раз в этот момент думала, чтобы сделать такое, чтобы не зависеть от совета OpenGL ARB (определение ARB будет дано чуть ниже), так как по сути OpenGL не принадлежала Microsoft полностью, а она без сомнений любит контролировать всё, что может. Вот и решила Microsoft скупить все разработки прообраза современного Direct3D, и, сделать его своими силами. Так на свет появился Direct3D.D - это некая самостоятельная часть библиотеки Microsoft, DirectX (в основном предназначенной для создания игровых приложений), которая отвечает за графику и вывод графической информации.D не имеет никаких расширений (в отличие от OpenGL): все новые возможности и средства появляются с выходом новой версии или нового обновления. Интерфейс для работы с Direct3D построен по технологии COM (Component Object Model).
Другим популярным средством для вывода трёхмерной графики является OpenGL. Основным разработчиком OpenGL является компания SGI (раньше Silicon Graphics).
Когда-то давным-давно существовал 3D API под названием IRIS GL. Как показала практика, этот API был качественным и удобным. Стоит заметить, что IRIS GL использовался в мощных графических станциях Silicon Graphics. Но время делает своё дело - IRIS GL канул в лету.
На основе IRIS GL, SGI и ещё несколько компаний (Microsoft, IBM, Intel, DEC) создали новый 3D API, под названием OpenGL. Он задумывался как многоплатформенное, универсальное средство для вывода трёхмерной графики. Он имеет множество расширений и надстроек, варьирующихся в зависимости от типа графической системы. Для контроля и развития OpenGL, был создан специальный совет компаний, ARB - Architecture Review Board. Его можно считать контролирующим органом OpenGL.
Одно из преимуществ OpenGL состоит в том, что он является бесплатным для использования продуктом, с полным открытым исходным кодом. Кроме того, OpenGL можно использовать с тем языком, который является ближе всего к вам: C, C++, C#, Java, Delphi, Visual Basic и другие.
Читатель спросит, а нельзя ли было создать какой-нибудь универсальный API, воссоединяющий в себе все преимущества ныне существующих? Для того чтобы разработчикам видеокарт, игр и драйверов не писать поддержку и Direct3D, и OpenGL одновременно. Такая попытка была. Новоиспеченный совет крупных компаний (кстати, весьма сильно походивший на OpenGL ARB) пытался создать универсальный 3D API под названием Fahrenheit, но как всегда пошло что-то не так, как планировалось изначально. Никакая компания не захотела делиться с другими компаниями всеми своими наработками и авторскими правами просто так. Свою роль сыграли ещё несколько других факторов (например, произойдёт отсутствие конкуренции между средствами для вывода трёхмерной графики).