Учебники

▷ Opengl: что это такое и для чего

Оглавление:

Anonim

Вы когда-нибудь слышали об OpenGL ? Он быстро стал ведущим в отрасли графическим API-интерфейсом в реальном времени, поскольку в основном он был единственным, доступным на нескольких платформах. Сегодня мы представляем вам эту статью, в которой мы объясняем, что такое OpenGL и для чего он нужен.

Указатель содержания

история

В 80-х годах разработка программного обеспечения, совместимого с широким спектром аппаратного обеспечения, связанного с графическим миром, была настоящей проблемой для разработчиков. Вам приходилось иметь дело с очень разными интерфейсами и писать конкретные драйверы для каждого типа оборудования, что было очень дорого, поэтому команды программистов были привлечены для ускорения разработки. Поскольку каждая команда работала отдельно над своими интерфейсами, было создано много избыточного кода. В 1992 году SGI возглавила создание OpenGL Architecture Review Board (OpenGL ARB), группы компаний, которая будет поддерживать и расширять спецификацию в последующие годы. OpenGL эволюционировал от IRIS GL, преодолевая проблему аппаратной зависимости, предлагая программную эмуляцию для этих неподдерживаемых функций. Таким образом, приложения могут использовать продвинутую графику на относительно слабых системах.

Чтобы понять, что такое OpenGL, мы сначала должны знать, что такое API.

Понимание OpenGL, что такое API?

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

Что такое OpenGL?

Он в основном рассматривается как API, который предоставляет нам большой набор функций, которые мы можем использовать для управления 3D и 2D графикой и изображениями. Однако сам по себе это не просто API, а спецификация, разработанная и поддерживаемая Khronos Group. Он также используется для разработки видеоигр, где он конкурирует с Direct3D на платформе Microsoft.

Точно определяет, какой должен быть вывод каждой функции и как она должна работать. Поскольку спецификация OpenGL не предоставляет подробности реализации, фактически разработанные версии могут иметь разные реализации, если их результаты соответствуют спецификации (и, следовательно, одинаковы для пользователя).

Разработчиками библиотек OpenGL обычно являются производители видеокарт. Каждый графический процессор поддерживает определенные версии этого API, то есть версии OpenGL, разработанные специально для этой видеокарты. Например, при использовании системы такой компании, как Apple, они поддерживают библиотеку OpenGL, а в Linux существует комбинация версий графического поставщика и адаптаций для этих библиотек. Это может означать, что всякий раз, когда OpenGL показывает странное поведение, которое не должно происходить, это, скорее всего, вина производителей видеокарт. Всякий раз, когда возникает ошибка в реализации, она обычно устраняется путем обновления драйверов видеокарты. Эти драйверы включают в себя последние версии, которые поддерживает ваш графический процессор. По этой причине всегда рекомендуется обновить драйверы.

Цели OpenGL

Основными целями являются:

  • Уменьшите сложность интерфейса с различными видеокартами , предоставив программисту уникальный и унифицированный API. Скрыть различные возможности различных аппаратных платформ , требуя, чтобы все реализации поддерживали полный набор функций OpenGL (при необходимости используя программную эмуляцию).

Основная операция OpenGL - принимать примитивные действия, такие как точки, линии и многоугольники, и преобразовывать их в пиксели. Этот процесс выполняется графическим конвейером, известным как конечный автомат OpenGL. Большинство команд OpenGL выдают примитивные операции для сегментации графа. До выпуска версии 2.0 каждый этап сегментации выполнялся в установленной функции, что приводило к незначительной настраиваемости. Начиная с этой версии, несколько этапов полностью программируются с использованием GLSL.

расширения

Очень интересная отличная особенность - поддержка расширений. Всякий раз, когда компания графических процессоров внедряет новую технологию или новый способ оптимизации для визуализации 3D-изображений , это расширение, реализованное в драйверах. Если оборудование, на котором работает приложение, поддерживает это расширение, разработчик может использовать функциональные возможности, предоставляемые этим расширением, для получения более продвинутой или эффективной графики. Таким образом, разработчик видеоигры может использовать эти новые методы рендеринга, не дожидаясь включения функции OpenGL в будущих версиях, просто проверяя, поддерживает ли видеокарта расширение. Часто, когда расширение популярно или очень полезно, оно в конечном итоге становится частью будущих версий OpenGL.

МЫ РЕКОМЕНДУЕМ ВАМ Mad Max выпускает поддержку Vulkan в новой публичной бета-версии для Linux

Эволюция OpenGL

В марте 2015 года Vulkan API был представлен как преемник OpenGL на конференции разработчиков игр. Первоначально известный как «Next Generation OpenGL» или «glNext», интерфейс программирования является открытым и кроссплатформенным. Разница с OpenGL в том, что во время программирования больше внимания уделяется аппаратному обеспечению, что значительно увеличивает мощность. Некоторые компьютерные игры уже поддерживают Vulkan, но большинство используют DirectX. Vulkan также разработан Khronos Group.

Мы рекомендуем читать лучшие видеокарты на рынке.

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

Учебники

Выбор редактора

Back to top button