Jump to content

Рэйлиб

Рэйлиб
Разработчик(и) Рамон Сантамария и участники
Первоначальный выпуск 18 ноября 2013 г .; 10 лет назад ( 18.11.2013 )
Стабильная версия
5.0.0 / 18 ноября 2023 г .; 8 месяцев назад ( 18.11.2023 )
Репозиторий github /raysan5 /raylib
Написано в C , в частности C99
Платформа Windows , Linux , macOS , FreeBSD , Android , Raspberry Pi , HTML5
Тип API
Лицензия Лицензия zlib [1] [2]
Веб-сайт www .raylib

Raylib (стилизовано под raylib ) — кроссплатформенная с открытым исходным кодом разработки программного обеспечения библиотека . Библиотека создана для создания графических приложений и игр. [3] [4]

Библиотека предназначена для создания прототипов, инструментов, графических приложений, встроенных систем и образования. Исходный код написан на простом языке C ( C99 ), который распространяется под zlib/libpng OSI лицензией открытого исходного кода, сертифицированной . Он поддерживает компиляцию на несколько целевых платформ, включая Windows, Linux, macOS, FreeBSD, Android, Raspberry Pi и HTML5.

raylib портирован на более чем 50 языков программирования в виде привязок, но многие из этих портов нестабильны. [5]

Разработка raylib была начата в августе 2013 года Рамоном Сантамарией для поддержки курса по разработке игр, ориентированного на студентов, не имеющих предыдущего опыта программирования и художественного профиля. В ходе курса raylib была доработана на основе отзывов студентов, и к июню 2014 года библиотеку начали демонстрировать на нескольких мероприятиях по разработке игр в Барселоне .

raylib 1.0 был выпущен в ноябре 2013 года и содержал около 80 функций для управления окнами и входами, базового рисования 2D и 3D фигур, загрузки и рисования текстур, загрузки шрифтов, рисования текста, управления аудиосистемой, а также загрузки и воспроизведения аудиофайлов. У первой версии raylib в течение пяти лет было восемь последующих второстепенных выпусков (от raylib 1.1 до raylib 1.8), в каждом из которых были представлены некоторые новые функции. Среди наиболее заметных улучшений — поддержка Android , WebAssembly и Raspberry Pi , несколько OpenGL бэкендов , поддержка VR и десять примеров.

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

raylib 3.0 был выпущен в апреле 2020 года, в котором были проведены рефакторинг многих частей кода для улучшения переносимости и привязок. Он включал перемещение глобальных переменных в контексты, добавление поддержки пользовательских распределителей памяти, файловую систему для загрузки ресурсов и более 115 примеров кода. В декабре 2020 года он получил небольшое обновление raylib 3.5.

raylib 4.0 был выпущен в ноябре 2021 года и включает в себя полную проверку именования на предмет согласованности и согласованности библиотеки: были проверены имена функций, параметры, описания, комментарии и выходные сообщения журнала. Он добавил внутреннюю систему автоматизации событий и предоставил пользователю возможность управления игровым циклом. Он также включает некоторые из своих внутренних библиотек, которые можно использовать как автономные модули: rlgl и raymath. Zig Языки программирования и Odin официально поддерживают raylib.

raylib 4.2 был выпущен в августе 2022 года. [6]

raylib 4.5 был выпущен в марте 2023 года, через 7 месяцев после последнего выпуска. В этом обновлении появилась поддержка ANGLE на настольных платформах, новый модуль камеры, поддержка моделей M3D и анимации M3D/GLTF, совместимость с форматом аудиофайлов QOA , совершенно новый модуль загрузки сжатых текстур ( rl_gputex ), обзоры в rlgl и модули rshapes , проверка структур данных ( IsImageReady(), IsTextureReady() и IsSoundReady()) для многих структур raylib и многих других улучшений. Это было самое большое обновление библиотеки на сегодняшний день.

raylib 5.0 был выпущен в ноябре 2023 года, улучшая поддержку будущих портов платформы. [7]

raylib предлагает следующие возможности: [8] [9]

  • Поддержка нескольких платформ, включая Windows, Linux, macOS, Raspberry Pi, Android и HTML5.
  • Поддержка OpenGL 1.1, 2.1, 3.3, 4.3 и OpenGL ES 2.0 в качестве серверной части.
  • Загрузка и рисование изображений, текстур и шрифтов из нескольких форматов.
  • Загрузка и воспроизведение аудио из нескольких форматов и поддержка потоковой передачи.
  • Математические операции для векторов, матриц и кватернионов
  • 2D-рендеринг с помощью камеры, включая автоматическую пакетную обработку спрайтов
  • Рендеринг 3D-моделей, включая пользовательские шейдеры и шейдеры постобработки.
  • Поддержка моделирования виртуальной реальности с настраиваемыми устройства HMD. параметрами
  • Поддержка анимированных, а также неанимированных 3D и 2D моделей.

Прием и усыновление

[ редактировать ]

По состоянию на январь 2024 г. GitHub перечисляет около 900 проектов, соответствующих raylib тема. [10]

Архитектура программного обеспечения

[ редактировать ]
архитектура raylib начиная с версии 5.0 [11]

raylib состоит из нескольких модулей, которые доступны программисту через API .

  • ядро — обрабатывает создание окна и инициализацию контекста OpenGL , а также управление вводами (клавиатура, мышь, геймпад и сенсорный ввод).
  • rlgl — обрабатывает серверную часть OpenGL , абстрагируя несколько версий к общему API. Этот модуль можно использовать автономно.
  • фигуры — обрабатывает базовый рендеринг 2D-форм (линия, прямоугольник, круг...) и базовое обнаружение столкновений.
  • текстуры — обрабатывает загрузку изображений и текстур (ЦП и графический процессор) и управление ими, включая функции манипулирования изображениями (обрезка, масштабирование, оттенок и т. д.).
  • text — обрабатывает загрузку шрифтов в виде таблицы спрайтов и рендеринг текста. Также включает в себя некоторые функции обработки текста (объединение, разделение, замена и т. д.).
  • модели – обрабатывает загрузку и рендеринг 3D-моделей, включая поддержку анимированных моделей.
  • radio — управляет управлением аудиоустройствами, а также загрузкой и воспроизведением аудиофайлов, включая поддержку потоковой передачи. Этот модуль можно использовать автономно.
  • raymath — предоставляет набор математических функций для векторов, матриц и кватернионов.

Привязки

[ редактировать ]

raylib имеет привязки для более чем 50 различных языков программирования, созданных его сообществом, включая Rust , Go , C# , Lua , Python и Nim . Список привязок доступен в файле BINDINGS.md. [12] в репозитории raylib на GitHub .

Дополнения

[ редактировать ]

Сообщество raylib предоставило несколько дополнений для расширения возможностей и связи raylib с другими библиотеками. Некоторые из модулей:

  • В апреле 2019 года Сантамария была награждена премией Google Open Source Peer Bonus за вклад в экосистему открытого исходного кода с помощью raylib. [18]
  • В августе 2020 года raylib получила Epic MegaGrant от Epic Games на поддержку ее развития. [19]
  • В апреле 2021 года Сантамария была награждена еще одной наградой Google Open Source Peer Bonus по тем же причинам. [20]
  • В марте 2022 года raylib был номинирован в категории «ЛУЧШИЙ ИГРОВОЙ ДВИГАТЕЛЬ» на MOBILE GAMES AWARDS 2022. [21]

См. также

[ редактировать ]
  1. ^ «Лицензия» .
  2. ^ «Рэйлиб GitHub» . Гитхаб . 10 октября 2021 г.
  3. ^ Томас (01 августа 2019 г.). «Лучшие 2D-игровые движки: полный список (2020)» . Томас Жерво . Проверено 20 июля 2020 г.
  4. ^ «Змеиная игра, написанная на PHP (с Raylib)» . thephp.сайт . 12 апреля 2020 г. Проверено 20 июля 2020 г.
  5. ^ "raysan5/raylib" . Гитхаб . Проверено 15 июля 2020 г.
  6. ^ «Файл HISTORY.md» . www.github.com . 11 августа 2022 г. Проверено 15 октября 2022 г.
  7. ^ Вололо (1 декабря 2023 г.). «Релиз: Raylib 5.0 для PS4 и PS Vita» . Проверено 15 января 2024 г.
  8. ^ «raylib – игровая библиотека C++, идеальная для начинающих» . www.gamefromscratch.com . 24 июля 2016 года . Проверено 20 июля 2020 г.
  9. ^ «Выпущен Raylib 2.5» . www.gamefromscratch.com . 3 июня 2019 года . Проверено 20 июля 2020 г.
  10. ^ «raylib · Темы GitHub» . Гитхаб . Проверено 15 января 2024 г.
  11. ^ "рейлиб" . Проверено 28 октября 2021 г.
  12. ^ Файл BINDINGS.md
  13. ^ Рэй (15 июля 2020 г.), Raysan5/raygui , получено 15 июля 2020 г.
  14. ^ Фисак, Виктор (14 июля 2020 г.), victorfisac/Physac , получено 15 июля 2020 г.
  15. ^ Бриманн, Дэвид Линус (10 июня 2020 г.), dbriemann/libpartikel , получено 15 июля 2020 г.
  16. ^ WEREMSOFT (27 июня 2020 г.), WEREMSOFT/spine-raylib-runtimes , получено 15 июля 2020 г.
  17. ^ WEREMSOFT (12 июля 2020 г.), WEREMSOFT/c99-raylib-cimgui-template , получено 15 июля 2020 г.
  18. ^ «Победители Google Open Source Peer Bonus уже здесь!» . Блог Google с открытым исходным кодом . Проверено 15 июля 2020 г.
  19. ^ «rayLib получает Epic MegaGrant» . GameFromScratch.com . 07.08.2020 . Проверено 10 августа 2020 г.
  20. ^ «Объявляем первую группу победителей Google Open Source Peer Bonus в 2021 году!» . Блог Google с открытым исходным кодом . Проверено 27 апреля 2021 г.
  21. ^ «MOBILE GAMES AWARD — Финалисты 2022 года» . НАГРАДЫ МОБИЛЬНЫХ ИГРОВ . Проверено 20 марта 2022 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 57796aaf8fb94e748b3747585a70e9bf__1720628280
URL1:https://arc.ask3.ru/arc/aa/57/bf/57796aaf8fb94e748b3747585a70e9bf.html
Заголовок, (Title) документа по адресу, URL1:
raylib - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)