Разработчик (и) | Рамон Сантамария и участники |
---|---|
Первый выпуск | Ноябрь 18, 2013; 6 лет назад (18.11.2013) |
Стабильный выпуск | 3.0.0 / 1 апреля 2020 г.; 6 месяцев назад (2020-04-01) |
Репозиторий | github.com / rayan5 / raylib |
Написано на | C, в частности на C99 |
Платформа | Windows, Linux, macOS, FreeBSD, Android, Raspberry Pi, HTML5 |
Тип | API |
Лицензия | Лицензия zlib |
Веб-сайт | www.raylib.com |
Raylib (стилизовано в нижнем регистре as raylib ) - это кроссплатформенная библиотека с открытым исходным кодом для разработки программного обеспечения , написанная на C. Библиотека предназначена для быстрого и простого создания графических приложений и игр. Официальный сайт представляет его как «простую и удобную в использовании библиотеку для программирования видеоигр».
Библиотека вдохновлена графической библиотекой Borland BGI и платформой XNA и особенно хорошо подходит для создания прототипов, инструментов, графических приложений, встроенных систем и образование. Исходный код написан на простом языке C (C99 ) и в первую очередь предназначен для начинающих и распространяется под лицензией с открытым исходным кодом, сертифицированной zlib/libpng OSI. Он поддерживает компиляцию для многих целевых платформ, включая Windows, GNU Linux, macOS, FreeBSD, Android, Raspberry Pi и HTML5.
raylib был перенесен на более чем 40 языков программирования в форме привязок, что позволяет пользователям получать доступ к функциям библиотеки на их любимом языке программирования.
Разработка raylib началась в августе 2013 года Рамоном Сантамария для поддержки курса разработки игр, ориентированного на студентов без предыдущего опыта программирования и художественного профиля; библиотека действовала как прямая замена WinBGI. В ходе курса raylib был доработан на основе отзывов студентов, и к июню 2014 года библиотека начала демонстрироваться на нескольких мероприятиях по разработке игр в Барселоне.
raylib 1.0 был выпущен в ноябре 2013 года и содержал около 80 функций для управления окнами и вводом, рисования основных форм, загрузки и рисования текстур, загрузки шрифтов, рисования текста, рисования основных трехмерных фигур, управления аудиосистемой и звука. загрузка и воспроизведение файлов. Первая версия raylib прошла 8 итераций subversion (от raylib 1.1 до raylib 1.8), увеличивая версию за версией с добавлением новых модулей, новых платформ и новых функций в течение 5 лет. Среди наиболее заметных улучшений - поддержка Android, WebAssembly и Raspberry Pi, несколько бэкэндов OpenGL, VR поддержка и +50 примеров для изучения и изучения.
raylib 2.0 был выпущен в июле 2018 года, и впервые библиотека удалила все внешние зависимости, все необходимые библиотеки включены и скомпилированы вместе с raylib. В этой версии также представлен ряд параметров конфигурации функций библиотеки для минимизации размера и значительно улучшена система сборки, поддерживая различные системы непрерывной интеграции. В течение следующих двух лет были пересмотрены и улучшены несколько частей библиотеки, а также вся экосистема библиотеки. Одна итерация raylib 2.5 была выпущена в середине этого процесса.
raylib 3.0 был выпущен в апреле 2020 года с несколькими крупными внутренними изменениями дизайна для улучшения переносимости библиотеки и создания привязок. Некоторые из ключевых изменений raylib 3.0 заключались в перемещении глобальных переменных в контексты глобального состояния, поддержке настраиваемых распределителей памяти, централизованной файловой системе для загрузки данных в память и коллекции +115 примеров кода для изучения и изучения.
raylib продолжал расти и совершенствоваться на протяжении нескольких лет, добавляя множество функций, но всегда сохраняя свою основную ценность: это простая и легкая в использовании библиотека для программирования.
raylib имеет следующие функции:
raylib был в первую очередь предназначен для обучения видеоиграм и графическому программированию, но из-за своей простоты и простоты использования он также был принят многими разработчиками игр-любителей.
Существуют активные и растущие сообщества во многих сетях, таких как Reddit и Discord.
GitHub перечисляет более 120 проектов по теме raylib.
raylib состоит из нескольких модулей, которые доступны программисту через API. Каждый модуль содержится в одном файле кода C, и некоторые модули могут использоваться в автономном режиме:
raylib имеет языковые привязки для почти 50 различных языков программирования, предоставленных несколькими участниками. Некоторые из языков включают: Rust, Go, C# и Lua. Все привязки можно просмотреть в файле BINDINGS.md в репозитории GitHub библиотеки. Многие новые языки программирования, такие как Beef, Odin и Ring, обеспечивают привязку к raylib.
Язык программирования Ring включает raylib в стандартную библиотеку.
Сообщество raylib внесло свой вклад в несколько надстроек raylib для расширения функций и подключения raylib с другими библиотеками. Вот некоторые из модулей:
In В апреле 2019 года разработчик raylib был награжден премией Google Open Source Peer Bonus за вклад в экосистему с открытым исходным кодом с помощью raylib.
В августе 2020 года raylib был награжден Epic MegaGrant от Epic Games для поддержки разработки raylib.
Следующая программа на языке программирования C использует raylib для создания белого окна с некоторым центрированным текстом.
#include "raylib.h" int main (void) {const int screenWidth = 800; const int screenHeight = 450; InitWindow (screenWidth, screenHeight, "пример raylib [core] - основное окно"); SetTargetFPS (60); пока (! WindowShouldClose ()) {BeginDrawing (); ClearBackground (RAYWHITE); DrawText («Поздравляю! Вы создали свое первое окно!», 190, 200, 20, СЕРЫЙ); EndDrawing (); } Закрытое окно(); возврат 0; }