ГЛФВ
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Разработчик(и) | Команда разработчиков GLFW |
---|---|
Стабильная версия | 3.4
/ 23 февраля 2024 г [1] |
Репозиторий | |
Написано в | С |
Операционная система | Linux , macOS , Microsoft Windows , FreeBSD , NetBSD , OpenBSD |
Платформа | Кросс-платформенный |
Тип | API |
Лицензия | Лицензия zlib/libpng [2] |
Веб-сайт | www |
GLFW (Graphics Library Framework) — это облегченная служебная библиотека для использования с OpenGL . Он предоставляет программистам возможность создавать и управлять контекстами окон и OpenGL, а также обрабатывать ввод с помощью джойстика , клавиатуры и мыши . [3]
Архитектура программного обеспечения
[ редактировать ]GLFW — небольшая библиотека C, которая позволяет создавать окна и управлять ими с контекстами OpenGL, а также использовать несколько мониторов и видеорежимов. Он обеспечивает доступ к вводу с клавиатуры, мыши и джойстиков. [4] API обеспечивает тонкий многоплатформенный уровень абстракции, в первую очередь для приложений, единственный вывод графики которых осуществляется через API OpenGL. Хотя GLFW очень полезен при разработке многоплатформенных приложений OpenGL, разработчики одной платформы также могут получить выгоду, избегая необходимости иметь дело с API-интерфейсом для конкретной платформы.
GLFW используется в программах, которым требуется окно , поскольку OpenGL не предоставляет никаких механизмов для создания необходимых контекстов, управления окнами, пользовательским вводом, синхронизацией и т. д. [5] Существует несколько других библиотек, помогающих в разработке OpenGL. Наиболее распространенными из них являются FreeGLUT (реализация GLUT с открытым исходным кодом) и SDL. Однако FreeGLUT в основном занимается предоставлением стабильного клона GLUT, в то время как SDL слишком велик для некоторых людей и никогда не фокусировался на OpenGL. GLFW основан на предположении, что есть место для легкой, современной библиотеки для управления контекстами, окнами и вводом OpenGL.
GLFW не является библиотекой пользовательского интерфейса, библиотекой для конкретной платформы, библиотекой загрузки изображений или библиотекой потоков. Кроме того, он не может выполнять рендеринг независимо или воспроизводить звук. [6]
Привязки языков программирования
[ редактировать ]Хотя GLFW написан на C, существуют привязки для использования API с другими языками программирования, включая Ada , C# , Common Lisp , D , Delphi , Go , Harbour , Haskell , Java , Julia , Python , Rebol , Red , Ruby и Rust . среди других. [7]
Серверные части
[ редактировать ]GLFW версии 3.2 имеет экспериментальную поддержку Wayland посредством флагов времени компиляции. [8]
См. также
[ редактировать ]- GLUT — устаревший набор оконных инструментов OpenGL.
- Библиотека Wrangler расширений OpenGL
- Райлиб
- Простой слой DirectMedia
Ссылки
[ редактировать ]- ^ «Релизы · glfw/glfw» . github.com . Проверено 23 февраля 2024 г.
- ^ «Лицензия | ГЛФВ» . glfw.org . Проверено 10 апреля 2021 г.
- ^ «Домашняя страница GLFW» . www.glfw.org . Проверено 15 сентября 2022 г.
- ^ «GLFW: Руководство по вводу» . www.glfw.org . Проверено 7 февраля 2021 г.
- ^ «LearnOpenGL — Создание окна» . www.learnopengl.com . Проверено 15 сентября 2022 г.
- ^ «GLFW – Часто задаваемые вопросы» . Проверено 11 июля 2015 г.
- ^ «Привязки языка программирования GLFW» . Проверено 4 сентября 2019 г.
- ^ «GLFW: Новые возможности версии 3.2» .