Raylib — это open-source библиотека для разработки игр и графических приложений на C. Известна тем, что работает без внешних зависимостей, собирается из пары файлов и поддерживает кучу платформ — от Windows и Linux до веба и микроконтроллеров.
Так вот, на днях вышел raylib 6.0 — крупнейший релиз за 12 лет существования библиотеки. 2000 коммитов, 330 закрытых issues, 70 новых примеров и несколько изменений, которые стоит знать.
Главное, что появилось — софтверный рендерер rlsw. Раньше raylib требовал OpenGL и нормальной графики. Теперь он может работать на чистом CPU, без GPU. Это не эмуляция, отдельная библиотека, совместимая с OpenGL 1.1+, и она встраивается в существующий API без изменений в коде проекта. 30-60 FPS на базовых вещах.
Зачем это нужно? Уже работает порт для ESP32, микроконтроллеры без графического ускорителя теперь могут рендерить 2D и простую 3D. И это открывает дверь для RISC-V устройств, которые часто идут без GPU.
Три новых платформенных бэкенда:
— Memory — рендеринг в память без окна. Headless, серверная генерация изображений, экспорт кадров в файлы.
— Win32 — нативный Windows-бекенд без GLFW/SDL. Пока экспериментальный, но шаг к тому, чтобы библиотека была самодостаточной.
— Emscripten — веб без зависимостей. Поддерживает и WebGL, и 2D canvas для софтверного режима.
Переработанная скелетная анимация. Теперь можно смешивать анимации между кадрами и между разными клипами. Персонаж плавно переходит от бега к атаке, а не рубит глаз. GPU-скиннинг тоже оптимизировали.
Файловая система и работа с текстом. +40 функций для файлов, +30 для строк — всё собрали в один модуль, убрали старый utils. Полная библиотека теперь собирается из 6-7 исходников.
Система сборки. Новый config.h: отключаете ненужные модули флагом командной строки. И инструмент rexm для управления 200+ примерами.
Релиз набрал 280 реакций на GitHub за сутки. Сообщество активное: 850+ контрибьюторов за всю историю, 210 новых в этом релизе.
Полный ченжлог: https://github.com/raysan5/raylib/releases/tag/6.0
Кто-то уже использовал raylib в своих проектах?
@make_game
Post #1883
2.66K