Библиотеки OpenGL и DirectX: история и перспективы
Характеристика двух графических систем DirectX и OpenGL, которые используются для написания приложений, использующих мощный графический интерфейс. Сравнительный анализ основных возможностей каждой из них. Использование дополнительных библиотек OpenGL.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | научная работа |
Язык | русский |
Дата добавления | 16.12.2020 |
Размер файла | 20,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ, НАУКИ И МОЛОДЕЖНОЙ ПОЛИТИКИ КРАСНОДАРСКОГО КРАЯ
ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ КРАСНОДАРСКОГО КРАЯ
«КРАСНОДАРСКИЙ КОЛЛЕДЖ ЭЛЕКТРОННОГО ПРИБОРОСТРОЕНИЯ»
Библиотеки OpenGL и DirectX: история и перспективы
Автор:
Бондаренко В.В., 13-КД9-1ИНБ
Научный руководитель проекта:
Евтушенко Е.Д
Краснодар, 2020
Содержание
directx opengl графический библиотека
Введение
1.Общая характеристика DirectX
1.1Структура и возможности DirectX
1.2История развития DirectX
2. Общая характеристика OpenGL
2.1 Основные возможности OpenGL
2.2 Дополнительные библиотеки OpenGL
2.3 OpenGL, как машина состояния
2.4 История развития OpenGL
3.Сравнительный анализ OpenGL и DirectX(Direct3D)
Заключение
Список использованных источников
Введение
На сегодняшний день трудно представить свою жизнь без реалистичных объёмных (3D) изображений, которые используются в играх, проектировании и строительстве, моделировании реальных систем и других областях науки и производства.
Для каждого оборудования, которое занимается обработкой графической информации, существует свои драйвера (специальное программное обеспечение), которое помогает реализовывать те или иные особенности видеокарты (графического ускорителя).
Для того, чтобы разработчики программ каждый раз не переписывали код, выполняющий одни и те же действия, были предложены специальные программные интерфейсы, которые занимались обработкой графики. Основополагающими среди них являются DirectX и OpenGL.
В данной работе приведена краткая характеристика каждой из графических систем, и представлен их сравнительный анализ.
1. Общая характеристика DirectX
DirectX - это набор определенных инструментов и технологий, который используют разработчики игр и мультимедийных приложений для того, чтобы обеспечить взаимодействие между драйверами устройств и операционной системой.
1.1 Структура и возможности DirectX
Практически все части DirectX представляют собой наборы COMсовместимых объектов.
В целом, DirectX подразделяется на:
-DirectX Graphics, набор интерфейсов, ранее (до версии 8.0) делившихся на: DirectDraw (интерфейс вывода растровой графики) и Direct3D (D3D, интерфейс вывода трёхмерных примитивов).
-DirectInput: интерфейс, используемый для обработки данных, поступающих с клавиатуры, мыши, джойстика и пр. игровых контроллеров.
-DirectPlay: интерфейс сетевой коммуникации игр.
-DirectSound: интерфейс низкоуровневой работы со звуком (формата Wave). - DirectMusic: интерфейс воспроизведения музыки в форматах Microsoft.
-DirectShow: интерфейс, используемый для ввода-вывода аудио и/или видео данных.
-DirectX Instruments - технология, позволяющая на основе мультимедийного API DirectX создавать и использовать программные синтезаторы. В отличие от DX-плагинов, такие программы могут полностью управляться по MIDI и служат главным образом не для обработки, а для синтеза звука.
-DirectSetup: часть, ответственная за установку DirectX.
-DirectX Media Objects: реализует функциональную поддержку потоковых объектов (например, кодировщики/декодировщики).
-Direct2D: интерфейс вывода двухмерной графики [1].
1.2 История развития DirectX
Изначально нацеленный на разработку видеоигр, DirectX стал популярен и в других областях разработки программного обеспечения. К примеру, DirectX, наряду с OpenGL, получил очень широкое распространение в инженерном/математическом ПО.
Первый релиз DirectX был выпущен в сентябре 1995 года, под названием «Windows Game SDK».
Ещё до появления DirectX, Microsoft включила OpenGL в ОС Windows NT. Direct3D позиционировался как замена OpenGL в игровой сфере. Отсюда берёт своё начало «священная война» между сторонниками кроссплатформенной OpenGL и доступной лишь в Windows (в том числе Windows NT) Direct3D. Так или иначе, остальные части DirectX очень часто комбинируются с OpenGL в компьютерных играх, так как OpenGL как таковой не подразумевает функциональность уровня DirectX (например, доступ к клавиатуре/джойстику/мыши, поддержка звука, игры по сети и т.д.).
DirectX является базой для Xbox API. Xbox API схож с DirectX 8.1, но обновление версии, как и на других консолях того времени, невозможно.
В 2002 году Microsoft выпустила DirectX 9 с улучшенной и расширенной поддержкой шейдеров. С 2002 года DirectX неоднократно обновлялся. В августе 2004 года в DirectX была добавлена поддержка шейдеров версии 3.0 (DirectX 9.0c).
Последней выпущенной версией является DirectX 11; до выпуска Service Pack 1 на Windows Vista был установлен DirectX 10, изначально называвшийся «Windows Graphics Foundation», позднее он был переименован. Изменения в
DirectX 10.1, в отличие от DirectX 10, касаются графической составляющей - Direct3D. DirectX 10 представляет собой часть ОС Windows Vista и использует отличную от DirectX 9.0 модель видео-драйвера. DirectX 10 выдвигает набор требований к аппаратной части - минимальный стандарт функциональности, необходимой для того, чтобы аппаратное устройство было DirectXсовместимым.
DirectX 11.1 включен в состав Windows 8. Поддерживает WDDM 1.2 для увеличения производительности, с улучшенной интеграцией Direct2D, Direct3D, и DirectCompute, и включает в себя DirectXMath, XAudio2, и XInput библиотеки из XNA framework. Также есть возможность стереоскопического 3D для поддержки игр и видео.
20 марта 2014 года на GDC 2014 состоялся анонс DirectX 12. Команда разработки внесла ряд изменений в Direct3D, в результате которых возросла скорость и эффективность многих графических операций. Эти изменения позволяют создавать более детальные сцены и достичь полного использования возможностей современных GPU. Но эти возможности появятся не только в «хай-энд» игровых компьютерах. Direct3D 12 будет работать на всех устройствах Microsoft. Телефоны, планшеты, ноутбуки, десктопы и конечно, Xbox One, все они позволят использовать API Direct3D 12.
В первую, и самую главную очередь, Direct3D 12 делает лучше более низкий уровень абстрагирования оборудования. Это позволяет играм значительно улучшить поточную масштабируемость и уровень использования GPU. В дополнение, игры получат выигрыш от таблиц дескрипторов и объектов состояния конвейера. Это конечно не все, Direct3D включает набор новых возможностей для конвейера рендера, которые могут в разы увеличить эффективность расчетов прозрачности, определения коллизий и геометрической выбраковки
Ключевые особенности версий:
?DirectX 8.0 - шейдерная модель 1.1.
?DirectX 8.1 - пиксельные шейдеры 1.4 и вершинные шейдеры 1.1.
?DirectX 9.0 - шейдерная модель 2.0.
?DirectX 9.0b - пиксельные шейдеры 2.0b и вершинные шейдеры 2.0.
?DirectX 9.0c - шейдерная модель 3.0.
?DirectX 9.0L - версия DirectX 9.0 для Windows Vista.
?DirectX 10 - шейдерная модель 4.0 (только Windows Vista, Windows 7, Windows 8).
?DirectX 10.1 - шейдерная модель 4.1
?DirectX 11 - шейдерная модель 5.0
?DirectX 11.1 - шейдерная модель 5.0 (только Windows 7 SP1, Windows
8).
?DirectX 11.2 - шейдерная модель 5.0 (только Windows 8.1).
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 - это программный интерфейс для графических устройств, таких как графические ускорители. Он включает в себя около 150 различных команд, с помощью которых программист может определять различные объекты и производить рендеринг. Пользователь задаёт их местоположение в трёхмерном пространстве, определяет другие параметры (поворот, растяжение), задаёт свойства объектов (цвет, текстура, материал), положение наблюдателя, а библиотека OpenGL позаботится о том чтобы отобразить всё это на экране. Поэтому можно сказать, что библиотека OpenGL является только воспроизводящей (Rendering) библиотекой, потому что она не поддерживает какие-либо периферийные устройства, таких как клавиатура и мышь, она также не поддерживает никаких менеджеров окон. Программист должен сам заботится о том, как обеспечить взаимодействие периферийных устройств с библиотекой OpenGL.
OpenGL имеет хорошо продуманную внутреннюю структуру и довольно простой процедурный интерфейс. Несмотря на это с помощью OpenGL можно создавать сложные и мощные программные комплексы, затрачивая при этом минимальное время по сравнению с другими графическими библиотеками.
2.1 Основные возможности OpenGL
Основными возможностями, которые предоставляет библиотека OpenGL в распоряжение программиста, являются: - набор базовых примитивов: точки, линии, многоугольники и т.п.; - видовые и координатные преобразования; - удаление невидимых линий и поверхностей (z-буфер); - использование сплайнов для построения линий и поверхностей; - наложение текстуры и применение освещения; - добавление специальных эффектов: тумана, изменение прозрачности, сопряжение цветов (blending), устранение ступенчатости (anti-aliasing) [3].
2.2 Дополнительные библиотеки OpenGL
Существует реализация OpenGL для разных платформ, для чего было удобно разделить базовые функции графической системы и функции для отображения графической информации и взаимодействия с пользователем. Были созданы библиотеки для отображения информации с помощью оконной подсистемы для операционных систем Windows и Unix (WGL и GLX соответственно), а также библиотеки GLAUX и GLUT, которые используются для создания так называемых консольных приложений. Библиотека GLAUX уступает по популярности написанной несколько позже библиотеке GLUT, хотя они предоставляют примерно одинаковые возможности. Библиотека GLUT реализует не только дополнительные функции OpenGL, но и предоставляет функции для работы с окнами, клавиатурой и мышкой. Для того чтобы работать с OpenGL в конкретной операционной системе (например Windows или X Windows), надо провести некоторую предварительную настройку и эта предварительная настройка зависит от конкретной операционной системы. С библиотекой GLUT всё намного упрощается, буквально несколькими командами можно определить окно, в котором будет работать OpenGL, определить прерывание от клавиатуры или мышки и всё это не будет зависеть от операционной системы. Библиотека предоставляет также некоторые функции, с помощью которых можно определять некоторые сложные фигуры, такие как конусы, тетраэдры, и многие другие предметы сложной формы Библиотека GLAUX разработана фирмой Microsoft для операционной системы Windows. Она во многом схожа с библиотекой GLUT, но немного отстаёт от неё по своим возможностям. И ещё один недостаток заключается в том, что библиотека GLAUX предназначена только для Windows, в то время как GLUT поддерживает много операционных систем. В состав библиотеки GLU вошла реализация более сложных функций, таких как набор популярных геометрических примитивов (куб, шар, цилиндр, диск), функции построения сплайнов, реализация дополнительных операций над матрицами и т.п. Все они реализованы через базовые функции OpenGL. Существуют и другие дополнительные библиотеки для OpenGL. Все они добавляют что-то своё или ориентированы на какую-то платформу. Например, существует такая библиотека как GLX - это расширение для X Windows, позволяющее использовать в X Windows OpenGL. GLX предоставляет не только локальный рендеринг, но и рендеринг по сети.
2.3 OpenGL, как машина состояния
OpenGL - это машина состояния. Вы задаете различные переменные состояния, и они остаются в действии, сохраняя свое состояние, до тех пор, пока вы же их не измените. Например, текущий цвет - это переменная состояния. Можно установить цвет в красный, синий, белый и так далее, и после этого все объекты будут рисоваться этим цветом до тех пор, пока вы его не измените на что-либо другое. Текущий цвет - это только одна из многих переменных состояния, имеющихся в OpenGL. Другие управляют такими аспектами, как текущая видовая и проекционная трансформации, шаблоны для линий и полигонов, режимы отображения полигонов, соглашения об упаковке пикселей, позиции и характеристики источников света, параметры материалов для объектов и многое другое. Многие переменные относятся к возможностям OpenGL, которые можно включать или выключать командами [4].
2.4 История развития OpenGL
История развития OpenGL берет своё начало в 1992 году, когда компания SGI возглавила OpenGL ARB - группу компаний по разработке спецификации OpenGL. OpenGL произошел от 3D-интерфейса SGI -- IRIS GL. Одним из ограничений IRIS GL было то, что он позволял использовать только возможности, поддерживаемые оборудованием; если возможность не была реализована аппаратно, приложение не могло её использовать. OpenGL преодолевает эту проблему за счёт программной реализации возможностей, не предоставляемых аппаратно, что позволяет приложениям использовать этот интерфейс на относительно маломощных системах. На сегодняшний день развитием стандарта OpenGL занимается консорциум Khronos Group, в состав которого входит более 100 компаний. OpenGL прошла путь от версии 1.0 до версии 4.5, которая была представлена 11 августа 2014 года в Ванкувере (Канада).
3. Сравнительный анализ OpenGL и DirectX (DIRECT3D)
Direct3D основан на технологии COM. COM - это, по сути, стандарт бинарного представления компонентов. Как известно, классы на чистом C++ не могут быть использованы из других языков программирования, так как они не имеют стандартизованного бинарного представления. В частности, каждый компилятор использует свой собственный метод декорирования имён. COM же позволяет работать с объектно-ориентированной концепцией из любого языка, его поддерживающего. COM - это тоже Windows-specific технология (использует такие специфичные для Windows вещи, как реестр).В приложении на Direct3D используются указатели на интерфейсы объектов. Работа с объектом осуществляется путём вызова методов его интерфейса. Например, интерфейс так называемого device-а (device в Direct3D -- это контекст выполнения для конкретного окна), имеет название (примеры для Direct3D 9) IDirect3DDevice9, для объекта текстуры -- IDirect3DTexture9, и т.д. Создание объектов происходит как вызовы методов интерфейса IDirect3DDevice9, например, для текстуры это будет IDirect3DDevice9::CreateTexture. В Direct3D 10 произошло значительное количество изменений. Direct3D 10 не является обратно совместимым с Direct3D 9. Т.е. чтобы перенести программу на новый API потребуется переписать весь код, относящийся к рендерингу. OpenGL использует обычные функции языка C. Для них существует стандартизированный ABI, а это значит, что OpenGL может быть использован из любого языка, который поддерживает вызов функций native библиотек (т.е., практически говоря, из любого вообще). В OpenGL используется так называемая машина состояний (конечный автомат). Результат вызовов функций OpenGL зависит от внутреннего состояния, и может изменять его. В OpenGL, чтобы получить доступ к конкретному объекту (например, текстуре), нужно сначала выбрать его в качестве текущего функцией glBindTexture, а затем уже можно влиять на объект, например, задание содержимого текстуры осуществляется вызовом glTexImage2D. Аналогом концепции device-а в Direct3D здесь является контекст. Контекст OpenGL привязан к конкретному окну, так же, как и device в Direct3D. Общим для двух API является то, что обе не предоставляют чего либо за пределами работы с графикой. А именно, нет функций ни для создания окна, ни для работы с вводом с клавиатуры/мыши, ни для работы со звуком (здесь не затрагиваются другие части DirectX, такие как DirectInput и DirectSound). Т.е. они не являются библиотеками высокого уровня. В самой упрощённой форме можно сказать так: OpenGL и Direct3D позволяют рисовать треугольники. И всё. Суть в том, что треугольники можно рисовать очень по-разному (текстуры, освещение, преобразования, и т.д.). Самое важное различие - расширения (extensions). Direct3D по сути фиксирован в пределах одной версии. Какие-либо изменения/дополнения происходят только при выпуске следующей версии. В OpenGL реально доступное API определяется производителем GPU. Реализация OpenGL позволяет определять расширения к основной спецификации. Приложение может получить список поддерживаемых расширений во время выполнения, и проверить на доступность те, которые оно желает использовать. На самом деле практически весь функционал OpenGL -- это расширения. Развитие OpenGL идёт так: появляется новая «фишка», производитель реализовывает её в своём драйвере и документирует доступное расширение. Приложения могут использовать новые функции прямо сейчас, не дожидаясь включения в официальную спецификацию. Если это расширение специфично для конкретного производителя, то в названии оно несёт его имя (например, вот так: GL_NV_point_sprite, где NV -- значит nVidia). Если расширение реализовано многими вендорами, то в названии используется EXT (например, GL_EXT_draw_range_elements). Со временем, если расширение широко используется, оно стандартизируется в Khronos Group. Такое расширение имеет официальный статус. Самые важные расширения со временем становятся частью основной спецификации. Каждая новая версия OpenGL - это по сути старая версия плюс несколько новых интегрированных расширений. При этом новые функции продолжают быть доступными как расширения. Т.е. на самом деле с точки зрения программы может быть вообще всё равно, какая версия OpenGL. Главное - какие доступны расширения. Версия OpenGL -- это просто способ указать, какой набор расширений гарантированно поддерживается. Microsoft сделали радикальную переработку API в Direct3D 10. Сейчас оно имеет более унифицированный и современный вид. Были выброшены некоторые устаревшие вещи, такие как fixed function rendering (без использования шейдеров). Ещё был выполнен переход к новой модели работы драйвера. В частности, реализация Direct3D теперь может иметь не только kernel-space часть, а и user-space. Это позволяет экономить время на переключения user-space/kernel-space. Однако, из-за новой модели драйвера, Direct3D 10 и выше недоступен на Windows XP. Учитывая всё ещё большую популярность Windows XP, это довольно грустно. Реализация OpenGL изначально была разделена на user-space и kernelspace части, так что там такой проблемы и не было. Ещё различие в том, что до сих пор не вносилось изменений в OpenGL API, которые не были бы обратно совместимы. Каждое нововведение -- это расширение. Функционал, появившийся в Direct3D 10, например, геометрические шейдеры, доступен в OpenGL на любой платформе через расширение, или, начиная с OpenGL 3.2, как часть основной спецификации. Стоит особо подчеркнуть, это важно, функционал Direct3D 10/11 доступен в OpenGL на любой платформе, в том числе и Windows XP. Таким образом у многих сложилось впечатление, что Direct3D 10 не доступен на Windows XP исключительно по политическим причинам, а не из-за каких-то реальных технических проблем. В Direct3D 11 следующие особенности: добавлено 3 дополнительных стадии конвейера визуализации, целью введения которых является эффективная тесселяция поверхностей; новый тип шейдера - вычислительный шейдер (Compute Shader); возможность создавать дисплейные списки из нескольких потоков и выполнять их из главного потока визуализации [5]. Теперь о нововведениях в OpenGL 4.x. Начиная с OpenGL 4.0 появились две новые ступени обработки шейдеров, что позволяет перенести обработку тесселяции с центрального процессора на GPU. Прорисовка данных, сгенерированных OpenGL или такими внешними API, как OpenCL, без участия центрального процессора. 64-разрядная двойная точность с плавающей запятой операций с шейдерами и ввода-вывода для увеличения точности и качества рендеринга. К новшествам OpenGL 4.5 следует отнести следующее: - Доступ к прямому состоянию (DSA - Direct State Access) - состояние, в котором могут быть запрошены и модифицированы без их привязки к контексту, для увеличения применения и эффективности промежуточного программного обеспечения и гибкости. - Контроль освобождения памяти - приложения могут контролировать освобождение памяти незаконченных команд перед переключением контекста - включением высокой производительности многопоточных программ. - Надежность - обеспечение безопасной платформы для таких приложений как браузеры WebGL, включая предотвращение сброса GPU, затрагивающего другие приложения. - OpenGL ES 3.1 API и совместимость шейдеров - для обеспечения легкой разработки и выполнения последних приложений OpenGL ES для настольных систем. - Особенности эмуляции DirectX 11 - для облегчения портирования приложений между OpenGL и Direct3D [6]
Заключение
В ходе проделанной работы был проведен анализ и дана характеристика двух графических систем DirectX и OpenGL. Были рассмотрены основные возможности каждой из них и представлен сравнительный анализ. На сегодняшний день эти две системы являются основными при написании приложений, использующих мощный графический интерфейс. И DirectX и OpenGL очень динамично развиваются, и идут в ногу со временем, что в будущем приведет к более высоким показателям отображения графической информации при меньших потребляемых ресурсах
Список использованных источников
1.DirectX 12 [Электронный ресурс]. - Электронные данные. - Режим доступа : http://habrahabr.ru/company/microsoft/blog/216579.
2. OpenGL. Программирование с использованием OpenGL [Электронный ресурс]. - Электронные данные. - Режим доступа : http://www.opengl.org.ru.
3.OpenGL Red Book (русская версия) [Электронный ресурс]. - Электронные данные - Режим доступа : http://www.cosmic-rays.ru/books61/RedBook.pdf
4.OpenGL [Электронный ресурс]. - Электронные данные - Режим доступа : https://www.opengl.org/documentation/current_version.html.
Размещено на Allbest.ru
...Подобные документы
Общая характеристика основных и дополнительных возможностей графического стандарта OpenGL в области компьютерной графики. Исследование набора определенных инструментов и технологий DirectX, который используют разработчики игр и мультимедийных приложений.
реферат [160,8 K], добавлен 10.01.2012Ознакомление с интерфейсом, основными возможностями и преимуществами использования программы OpenGL - популярной библиотекой для работы с 2D и 3D графикой. Рассмотрение назначения, базовых компонент и правил инициализации программного движка DirectX.
презентация [19,4 K], добавлен 14.08.2013Программный код OpenGL. Синтаксис команд OpenGL. OpenGL как конечный автомат. Конвейер визуализации OpenGL. Библиотеки, относящиеся к OpenGL. Библиотека OpenGL. Подключаемые файлы. GLUT, инструментарий утилит библиотеки OpenGL.
курсовая работа [304,9 K], добавлен 01.06.2004Основы работы с графиков средствами OpenGL в C#. Ее спецификации, принципы и возможности. Direct3D как самостоятельная часть библиотеки Microsoft DirectX, которая отвечает за графику и вывод графической информации. Независимость от языка программирования.
курсовая работа [2,1 M], добавлен 17.02.2013Основы программирования графических приложений на основе DirectX для операционной системы Windows. Работа с различными интерфейсами. Описание некоторых функций, используемых для работы с Direct3D. Взаимосвязь между приложением, Direct3D и аппаратурой.
курсовая работа [156,2 K], добавлен 10.02.2015Назначение и стандарты реализации OpenGL для Windows, порядок подключения графической библиотеки. Основные функции и синтаксис команд. Рисование примитивов, видовые и аффинные преобразования. Моделирование двумерных графических объектов и анимации.
лабораторная работа [35,0 K], добавлен 04.07.2009Обоснование технической платформы разрабатываемой системы. Анализ уровней детализации, шаблона графического приложения системы. Архитектура программного обеспечения. Алгоритм решения задачи "Инициализация OpenGL", "Загрузка 3D файла", "Ввод данных".
дипломная работа [818,3 K], добавлен 23.04.2014Программирование приложения с использованием библиотеки OpenGL и функции для рисования геометрических объектов. Разработка процедуры визуализации трехмерной сцены и интерфейса пользователя. Логическая структура и функциональная декомпозиция проекта.
курсовая работа [1,1 M], добавлен 23.06.2011Суть программирования с использованием библиотеки OpenGL, его назначение, архитектура, преимущества и базовые возможности. Разработка приложения для построения динамического изображения трехмерной модели объекта "Компьютер", руководство пользователя.
курсовая работа [866,8 K], добавлен 22.06.2011Поняття та сфери використання тривимірної графіки. Описання та характеристика можливостей бібліотеки OpenGL. Загальний опис інтерфейсу мови програмування Borland C++, лістинг програми, що демонструє її можливості. Розрахунок витрат на виконання проекту.
дипломная работа [1,6 M], добавлен 24.06.2015Определение области значений функции y=sin(x) и построение графика по точкам с помощью основных конструкций библиотеки OpenGL. Функции вырисовки на экране, обработки сообщений с клавиатуры. Установка размеров области отображения. Главный цикл приложения.
контрольная работа [87,2 K], добавлен 21.01.2011Создание программы на языке C++ с использованием графических библиотек OpenGL в среде Microsoft Visual Studio. Построение динамического изображения трехмерной модели объекта "Нефтяная платформа". Логическая структура и функциональная декомпозиция проекта.
курсовая работа [1,8 M], добавлен 23.06.2011Програма створення графіки OpenGl. Алгоритми зафарбовування від внутрішньої точки до границь довільного контуру. Алгоритм обчислення координати точки кривої Без'є за заданними параметрами. Створення програм OpenGL мовою С, C++ у середовищі Windows.
контрольная работа [285,3 K], добавлен 19.09.2009Разработка компоненты для математических вычислений (операций над матрицами) с использованием технологии OpenGL (сложение, вычитание, умножение, транспонирование, определитель, обратная матрица). Базовые навыки по работе с технологией в среде .Net.
курсовая работа [365,6 K], добавлен 17.02.2015Создание программы, с помощью библиотеки OpenGL рисующей проволочный чайник с поворотом рисунка вокруг осей X, Y, Z. Построение отрографической проекции. Установка области отображения. Функция обработки сообщений с клавиатуры. Главный цикл приложения.
контрольная работа [151,2 K], добавлен 21.01.2011Описание используемых функций и директивы Invoke: get module handle, get command line, win main, exit process, load menu. Архитектура OpenGL, основные задачи. Текст программы: краткое описание, opengl.inc, opngl.asm. Результаты выполнения программы.
курсовая работа [215,6 K], добавлен 18.05.2014Пpoгpaммный кoд и синтaкcиc команд OpenGL. Coздaниe эффeктa тyмaнa. Paзpaбoткa пpoцeдypы визyaлизaции тpexмepнoй cцeны. Paзpaбoткa пoдcиcтeмы yпpaвлeния coбытиями и интepфeйca пoльзoвaтeля. Фyнкциoнaльнoe нaзнaчeниe, структура и листинг программы.
курсовая работа [1,3 M], добавлен 21.06.2011Створення зображення (візуалізація) як завдання комп'ютерної графіки. Методи та алгоритми візуалізації. Трансформація об’єктів в бібліотеці OpengL. Побудова довільної кількості довільного розміру точок на поверхні форми засобами бібліотеки OpengL.
контрольная работа [2,3 M], добавлен 10.09.2009Программирование с использование библиотеки OpenGL: оcнoвныe вoзмoжнocти, рaбoтa c мaтрицaми, прoeкции, оcвeщeниe, спeцификaция мaтeриaлoв, сoздaниe эффeктa тумaнa. Рaзрaбoткa прoцeдуры визуaлизaции трeхмeрнoй cцeны и пoдcиcтeмы упрaвлeния coбытиями.
курсовая работа [698,3 K], добавлен 25.06.2011Общие понятия о гироскопах, их классификация и применение. Механические гироскопы, свойства трехстепенного роторного гироскопа. Создание проекта "Гироскоп Фуко" средствами OpenGL и начальная настройка среды разработки. Инициализация объекта вывода и Glut.
курсовая работа [491,9 K], добавлен 18.11.2013