Скачиваний:
82
Добавлен:
16.07.2022
Размер:
1.8 Mб
Скачать

Введение

Компьютерная графика – область применения вычислительных машин, в которой они используются совместно со специальным ПО для редактирования и создания изображений, создания визуальной информации, которую способен воспринять человек.

Первые вычислительные машины (40-е года 20-го века) использовались только для вычислений и не имели возможности работать с графикой. Однако уже в те времена отдельные изобретатели пытались использовать их для создания изображений. Программируя память ЭВМ и устройств вывода информации, они получали простейшие узоры – включая и отключая лампы накаливания в определённом порядке.

В современных компьютерах за работу с созданием и редактированием изображений отвечают специализированные под это компоненты самих компьютеров – графические процессоры, а также специализированное графическое ПО – драйверы ГП, различные графические библиотеки и движки.

Для распространённых современных ОС существует множество различных графических библиотек под множество языков программирования. К примеру – список самых популярных графических библиотек для C/C++[ CITATION Обз18 \l 1033 ]:

  • SFML;

  • Qt;

  • Cairo;

  • Cocos2D-X;

  • Juce;

  • wxWidgets;

  • SDL;

  • GTK+.

Многие из этих библиотек имеют реализации для различных ОС. Например – кроссплатформенными являются SFML, Qt.

Однако большинство этих библиотек зависят от более низкоуровневого ПО – реализаций различных графических спецификаций: OpenGL, Vulkan, Direct3D и т. д.

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

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

Как уже можно было заметить, для популярных ОС (семейства Windows, Linux, Mac OS) существует довольно много различных высокоуровневых графических библиотек. Однако для рассматриваемой в данной работе ОС БагрОС-4000 – ни одной.

БагрОС-4000 является недавно созданной российской операционной системой реального времени, и на данный момент для неё не существует высокоуровневых графических библиотек.

Целью данной работы является создание подобной библиотеки для упрощения разработки прикладного ПО для данной ОС. Разработка библиотеки была заказана разработчиками ОС БагрОС-4000 – ПАО «Компания «Сухой».

В процессе выполнения работы были рассмотрены особенности разработки прикладного графического ПО для ОС БагрОС-4000 с использованием спецификации OpenGL SC 1.0.1, а также реализованы и протестированы 2 разных способа отрисовки примитивов.

На основе результата сравнения реализована библиотека графических примитивов, функционал которой приведён в данной работе.