GLFW

редактировать
Программная библиотека
GLFW
Разработчик (и) Команда разработчиков GLFW
Стабильный выпуск 3.3.2 / 20 января 2020 г.; 8 месяцев назад (2020-01-20)
Репозиторий Измените это в Викиданных
Написано вC
Операционной системе Linux, macOS, Microsoft Windows, FreeBSD, NetBSD, OpenBSD
Платформа Кросс-платформенность
Тип API
Лицензия Лицензия zlib / libpng
Веб-сайтwww.glfw.org

GLFW - это облегченная служебная библиотека для использования с OpenGL. GLFW расшифровывается как Graphics Library Framework. Он предоставляет программистам возможность создавать окна и контексты OpenGL и управлять ими, а также управлять вводом с помощью джойстика ,, клавиатуры и мыши.

Содержание
  • 1 Архитектура программного обеспечения
    • 1.1 Привязки языков программирования
    • 1.2 Внутренние компоненты
  • 2 См. Также
  • 3 Ссылки
  • 4 Внешние ссылки
Архитектура программного обеспечения

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

Возможная причина, по которой необходимы библиотеки, такие как GLFW, заключается в том, что OpenGL сам по себе не предоставляет никаких механизмов для создания необходимого контекста, управления окнами, пользовательского ввода, времени и т. Д. Есть несколько других библиотек, доступных для помощи в разработке OpenGL.. Наиболее распространенными из них являются FreeGLUT (реализация GLUT с открытым исходным кодом) и SDL. Однако FreeGLUT в основном заботится о предоставлении стабильного клона GLUT, в то время как SDL слишком велик для некоторых людей и никогда не ориентировался на OpenGL. GLFW основан на предположении, что есть место для легкой, современной библиотеки для управления контекстами, окнами и вводом OpenGL.

GLFW не является

  • библиотекой пользовательского интерфейса. Это позволяет программисту создавать окна верхнего уровня с контекстами OpenGL. Ни меню, ни кнопок.
  • библиотека только для Windows. Запросы на функции, которые не могут быть реализованы переносимо, будут отклоняться, если они не являются ненавязчивыми, как, например, порт Windows, ищущий ресурс GLFW_ICON при создании окна.
  • библиотека потоков. Уже существуют хорошие кросс-платформенные библиотеки потоковой передачи, и потоки были добавлены как в стандартные библиотеки C11, так и в C ++ 11.
  • библиотека загрузки изображений. Уже существуют хорошие кросс-платформенные библиотеки загрузки изображений.
  • , способные отображать текст. Уже существует несколько библиотек, которые визуализируют текст с помощью OpenGL, и согласованный кроссплатформенный рендеринг текста в любом случае не может зависеть от средств рендеринга текста платформы.
  • способен рендерить что угодно. Рендеринг зависит от программиста и / или других библиотек.
  • интегрирован с любым набором инструментов пользовательского интерфейса на любой платформе.
  • может воспроизводить звук.
  • GLUT или SDL.

Привязки языков программирования

Хотя GLFW написан на C, существуют привязки для использования API с другими языками программирования, включая Ada, C#, Common Lisp, D, Go, Haskell, Java, Python, Rebol, Red, Ruby и Rust и другие..

Back-end

GLFW версии 3.2 имеет экспериментальную поддержку Wayland с помощью флагов времени компиляции.

См. Также
Ссылки
  1. ^«История версий GLFW». Проверено 18 мая 2020 г.
  2. ^«Лицензия GLFW». Проверено 5 июля 2013 г.
  3. ^«GLFW - FAQ». Проверено 11 июля 2015 г.
  4. ^«Привязки языков программирования GLFW». Проверено 4 сентября 2019 г.
  5. ^«GLFW: Новые возможности в 3.2».
Внешние ссылки
Последняя правка сделана 2021-05-21 09:01:32
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте