Не так давно вышла версия 5.0 среды разработки игр Raylib, невероятно простой в использовании для программистов на ЯП C/C++. Этот выпуск также отмечает 10-летие со дня выпуска Raylib 1.0.
Ключевые особенности релиза Raylib 5:
Вероятно, это самый большой редизайн raylib за последние 10 лет. raylib начинался как библиотека, ориентированная на 3 настольные платформы: Windows, Linux и macOS (благодаря GLFW базовой библиотеке), но с годами была добавлена поддержка нескольких новых платформ (Android, Web, Rapsberry Pi, RPI native); большая часть кода платформы была общей, поэтому вся логика была собрана в rcore.c модуле, разделенная флагами компиляции. Этот подход был очень удобен, но также делал очень трудной поддержку новых платформ и особенно болезненным для участников, не знакомых с модулем, перемещающихся по более чем 8000 строкам кода в одном файле. Большой редизайн действительно был необходим, но объем требуемой работы был огромным и довольно пугающим, учитывая, что всё работало и шансы что-то сломать были очень высоки. Но теперь это стало возможным. Новая архитектура raylib значительно улучшает обслуживание платформ, а также значительно упрощает добавление новых. Этот редизайн открывает двери в новую эру для raylib, позволяя пользователям подключать новые платформы по своему желанию.
Благодаря новому разделению платформ добавление новых платформ/бэкэндов в raylib было значительно упрощено. В качестве доказательства концепции в raylib была добавлена серверная часть платформы в качестве альтернативы GLFW библиотеке для настольных сборок. Теперь SDL2 фанаты могут использовать этот новый бэкэнд, просто предоставив необходимые библиотеки для компиляции и компоновки (не включенные в raylib, например, GLFW). Внутренняя поддержка SDL также упрощает процесс поддержки более широкого спектра платформ, которые уже поддерживаются SDL.
Добавление серверной SDL части было довольно сложной задачей, но чтобы по-настоящему проверить надежность и простоту новой системы плагинов платформы, добавление поддержки консоли было более трудным приключением. Для добавления поддержки Nintendo Switch в raylib потребовалось всего 2 дня работы. Результат реализации продемонстрирован в автономном модуле (rcore_swith.cpp), поддерживающему графику и ввод. К сожалению, этот модуль не может быть открытым из-за лицензионных ограничений.
В API добавлен полный набор функций для рисования и оценки различных типов сплайнов: Linear, Basis, Catmull-Rom и Quadratic Bezier. Сплайны чрезвычайно полезны для разработки игр (описывают пути, управляют движением NPC), но они также могут быть очень полезны при разработке инструментов (соединения узлов, перемещение элементов, 3D-моделирование, анимация).
В raylib был добавлен совершенно новый модуль программного генератора псевдослучайных чисел через Xoshiro128 алгоритм в сочетании с SplitMix64.
С помощью новой системы автоматизации событий пользователи могут записывать входные события для последующего воспроизведения. Это очень полезная функция для автоматизации тестирования, создания учебных пособий, помощи в игре, внутриигровых видеороликов, сохранения ускорений или даже игр с помощью искусственного интеллекта.
Новая версия библиотеки графического интерфейса представляет собой полную переработку raygui для унификации структуры и использования всех элементов управления. Теперь все элементы управления имеют одинаковую функциональную сигнатуру.
Помимо добавления нескольких новых примеров, была улучшена функциональность веб-примеров. Примеры сгруппированы по уровням сложности, отмечены одной звездой для простых примеров и до 4 звезд для более сложных
Как всегда, это лишь некоторые основные моменты новинок raylib 5.0, улучшений гораздо больше! Поддержка 16-битных HDR-изображений/текстур, поддержка загрузки и масштабирования SVG, новый графический интерфейс OpenGL ES 3.0, новые генераторы градиентов изображений, улучшенная загрузка 3D-моделей, многочисленные оптимизации, новые привязки, интеграция с CodeQL и мн. др. Подробности см. в официальном ченджлоге. Новая версия доступна для свободного скачивания и использования.
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Релиз Raylib 5.0 с поддержкой Nintendo Switch», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]