ОСОБЕННОСТИ OPENGL В ПРОГРАММИРОВАНИИ
Сайдова Н.С.1, Хайдаров О.Р.2
1. Сайдова Назокат Сайфуллаевна - кандидат физико-математических наук, заведующая кафедрой;
2. Хайдаров Орифжон Рустамович - магистрант,
кафедра информационных технологий,
Бухарский государственнқй университет,
г. Бухара, Республика Узбекистан
Аннотация: в данной статье рассматривается спецификация, определяющая независимый от платформы и языка программирования программный интерфейс, предназначенный для написания приложений, использующих двумерную и трёхмерную компьютерную графику, – спецификация OpenGL. Эта спецификация находит широкое применение при создании систем автоматизированного проектирования, виртуальной реальности, визуализации в научных исследованиях. В статье также дается характеристика функций OpenGL и рассматривается организация библиотек, приводятся примеры синтаксиса.
Ключевые слова: OpenGL, функции, примитивы, библиотеки OpenGL.
Введение
Современные технологии с каждым годом развиваются все более интенсивно. В последние годы компьютерная графика сделала несколько шагов вперед. На сегодняшний день одной из технологий, предназначенных для рисования и отображения интерактивной 2- и 3-мерной графики в веб-браузерах, является WebGL. Эта технология изначально была основана на версии OpenGL ES 2.0. Спецификации OpenGL для таких устройств, как Apple iPhone и iPad. Основная цель этой технологии – обеспечить мобильность между различными операционными системами и устройствами. Эта функция появилась в 2011 году.
Одним из самых популярных API для разработки в области двумерной и трехмерной графики является OpenGL (Open Graphics Library). В библиотеке 120 различных функций. Командная информация используется программистом при написании интерактивных графических программ с помощью OpenGL. Это программная платформа, которая сегодня поддерживается многими поставщиками. Основные возможности OpenGL:
– надежность и портативность. Независимо от операционной системы, система использует один и тот же визуальный результат. Приложения могут использоваться не только на ПК, но и на рабочих станциях;
– стабильность. Если программист использует заливку, стандарт сохраняется совместимость с разработанным программным обеспечением;
– стабильность. Если программист использует заливку, стандарт сохраняется совместимость с разработанным программным обеспечением;
Возможности библиотеки OpenGL и её функции.
Функции OpenGL обычно делятся на 5 категорий:
1. Функция описания примитивов. Эта функция определяет графические объекты нижнего уровня (примитивы), способные представлять подсистему. В качестве примитивов в OpenGL выступают строки, точки и т.д.
2. Функция описания источников света. Источники света, расположенные на 3D сцене, предназначенные для описания параметров.
3. Функция настройки атрибутов. Свойства позволяют программисту понять, как объект размещается на экране.
4. Функция визуализации определяет положение в виртуальном пространстве, параметры объектива камеры. Если система знает эти параметры, она не только правильно видит изображение, но и вырезает ненужные элементы изображения.
5. Набор функций для геометрических преобразований. Он используется программистом для поворота, масштабирования и перемещения объектов.
OpenGL также использует дополнительные операции. Например, сплайны, которые используются для построения линий поверхности.
OpenGL содержит набор библиотек. Основные функции хранятся в основной библиотеке.
OpenGL включает в себя ряд дополнительных библиотек, помимо основной.
Первая библиотека называется GL Utility Library (GLU-GL Utility). Эта библиотека содержит основные функции GL. GLU-GL Utility завершает сложные функции, такие как сложные геометрические примитивы (диск, цилиндр, шар и куб) и т. д.
Эксплойты OpenGL не имеют специальных команд для работы окна или ввода данных. Для этого существуют специальные дополнительные библиотеки. Одна из самых популярных портативных библиотек GLUT (GL Utility Toolkit). GLUT встроен во все дистрибутивы OpenGL и реализован для разных платформ. Состав GLUTминимальный и включает в себя необходимый набор для создания программы. Если рассматривать библиотеку GLX, которая не очень популярна среди программистов.
Все представленные возможности OpenGL реализованы в модели клиент-сервер.
Программа, выполняющая функцию OpenGL, выполняет команды, данные клиентом. При этом сервером может быть тот же клиент или он может располагаться на другом компьютере. Если сервер находится на другом компьютере, то используется специальный протокол для передачи данных между несколькими машинами.
Графическая библиотека рисует графические примитивы в буфере кадров с учетом выбранных режимов. Если рассматривать каждый примитив отдельно, то это отрезок, многоугольник, точка и так далее. Режимы можно менять, они будут независимы друг от друга. Чтобы выбрать режим или определить примитив, нам нужно использовать команду.
Вершины определяются примитивами. Вершина – это точка, обозначающая конец, отрезок или угол многоугольника. Данные (координаты, цвет и т.д.) связаны с каждой вершиной – они называются атрибутами.
Если рассматривать систему OpenGL как архитектуру, то она будет конвейерной, состоящей из нескольких этапов обработки графической информации.
Обработка команд в OpenGL выполняется в первую очередь, в том числе с задержкой появления и до появления эффекта. OpenGL называется слоем, который находится между пользователем и оборудованием.
Большим преимуществом OpenGL является независимость большинства команд. Например, если мы объясним, что для удаления сопоставления счетов недостаточно вызвать функцию TextureInit (), а для получения статического изображения необходимо зарегистрировать функцию обновления изображений, вызвав функцию Glutidlefunk (). В этом случае можно использовать режим single-buffer с заменой GL_DOUBLE.
Добавление GL_SINGLE в команду GlutInitDisplayMode () и GlFlush () в конце выполняет процедуры Display () для очистки этого буфера.
OpenGL считается одним из самых универсальных и удобных инструментов, которые могут помочь при работе с графическими изображениями.
Удобство и простота работы с двухмерным и трехмерным пространством делают интерфейс программы одним из самых популярных среди аналогов.
Литература
- 1. Сайидова Н.С., Нематов Л.А. Теория и методика профессионального образования// Образование и проблемы развития общества. № 1 (7), 2019. С. 55-59.
- Сайидова Н.С., Казимова Г.Х. Разработка методики образования в вузах // Образование и проблемы развития общества. № 1 (7), 2019. Стр. 36-40.
- 3. Сайидова Н.С., Зарипова Г.К., Абдуаxадов А.А., Журакулов Ж.Ж. Использование электронных ресурсов в историческом образовании и его защита // «АКАДЕМИЧЕСКАЯ ПУБЛИКАЦИЯ». № 2, 2020. С. 123–131.
- 4. Зарипова Г.К., Сайидова Н.С., Тахиров Б.Н., Хайитов У.Х. Педагогическое сотрудничество преподавателя и студентов в кредитно-модульной системе высшего образования // «Наука, образование и культура», 2020. № 8 (52). С. 23–26.
- 5. Сайидова Н.С., Истамова К.И., Казимова Г.Х. Создание электронного курса LMS MOODLE компьютерная сеть// Современные материалы, техника и технологии. № 2 (17), 2018. С. 53-57.
- 6. Зарипова Г.К., Сайидова Н.С., Норова Ф.Ф., Абдуакхадов А.А. FEATURES OF THE CREDIT AND MODULAR SYSTEM IN HIGHER EDUCATION // «Аcаdemy». № 10 (61), 2020. С. 25–29.
- 7. Сайидова Н.С., Шодиева З.Т., Казимова Г.Х. Информационные технологии и цели технологии развития в обучении. Современные инновации в науке и технике. Сборник научных трудов 8-й всероссийской научно-технической конференции с международным участием 19-20 апреля 2018 года. Ответственный редактор: Горохов А.А. Курск. «Россия», 2018. С. 290-294.
- 8. JХаятов Х.У., Атаева Г.И., Хайдаров О.Р. Функции и элементы OPENGL, используемые для построения основных форм в С# // Universum: технические науки. № 11(80). Часть 1, 2020. С. 43-46.