Обновлён до версии 4.5 инструментарий raylib. За прошедшие 7 месяцев с момента прошлого обновления многие части этой библиотеки были пересмотрены и улучшены. Основные проблемы были решены, а также было получено, рассмотрено и объединено в библиотеку множество PR от участников. Были добавлены некоторые новые функции, а некоторые другие были удалены, чтобы улучшить согласованность библиотек и избежать слишком высокого уровня, предоставляя пользователям инструменты для самостоятельной реализации расширенных функций. В общем, это большой релиз со значительным количеством изменений и улучшений.
Улучшенная поддержка ANGLE на настольных ПК. Поддержка OpenGL ES 2.0 на Windows, Linux, macOS. Теперь raylib можно скомпилировать на рабочем столе для OpenGL ES 2.0 и слинковать с ANGLE. Это небольшое дополнение открывает двери для создания raylib для всех поддерживаемых ANGLE бэкендов: Direct3D 11, Vulkan и Metal. Обратите внимание, что эта новая функция все еще является экспериментальной и требует дальнейшего тестирования.
Совершенно новая реализация Модуля камеры проще, гибче, детализирована и расширяема. Конкретные математические преобразования камеры (движение/вращение) были перемещены в отдельные функции, при необходимости доступные пользователям. Глобальное состояние было удалено из модуля, и автономное использование было значительно улучшено. Теперь опытные пользователи имеют полный контроль над вводом камеры и скоростью движения/вращения.
Реализована поддержка 3D-моделей M3D и анимации M3D/GLTF - это долгое время был ограниченный аспект raylib. В некоторых версиях ранее поддерживалась анимация IQM, но в raylib 4.5 также добавлена поддержка совершенно нового формата файла M3D, включая долгожданную поддержку анимации GLTF. Новый формат файлов M3D отличается простотой, портативностью, полной функциональностью, расширяемостью и открытым исходным кодом. Он также предоставляет полный набор инструментов для экспорта/визуализации моделей M3D из/в Blender. Теперь raylib поддерживает до 3 форматов файлов моделей с анимацией: IQM, GLTF и M3D.
Добавлена поддержка нового аудиоформата QOA (импорт/экспорт), который сам был опубликован совсем недавно. Это очень простой, переносимый формат аудиофайлов с открытым исходным кодом. raylib уже поддерживает его в модуле raudio, который включает загрузку аудио из файла, загрузку из памяти, потоковую передачу из файла, потоковую передачу из памяти и экспорт в аудиоформат QOA. Простота действительно важна для raylib.
Модуль для загрузки сжатых текстур rl_gputex - это портативная однофайловая небольшая библиотека, состоящая только из заголовков, для загрузки форматов файлов сжатых текстур (DDS, PKM, KTX, PVR, ASTC). Предоставленная функциональность не нова для raylib, но она была частью rtextures модуля raylib, теперь она перемещена в отдельную автономную библиотеку для улучшения портативности. Обратите внимание, что этот модуль предназначен только для загрузки сжатых данных из файлов, готовых для загрузки в GPU, функции сжатия/распаковки не предусмотрены. Это изменение является первым шагом к лучшей модульности библиотеки raylib.
Пересмотрен rlgl модуль для автоматической проверки и упрощения использования. Теперь пользователям не нужно беспокоиться о достижении внутренних ограничений пакета рендеринга, когда они отправляют свои треугольники для рисования 2d/3d, через rlgl управление этим происходит автоматически, что позволяет значительно упростить другие модули, такие как rshapes, rtextures и rmodels - им не нужно беспокоиться о переполнении буфера, и они могут просто определить столько вершин, сколько нужно.
Пересмотрен rshapes модуль для минимизации зависимости от rlgl. Теперь rshapes функции рисования 2D-фигур зависят только от 6 низкоуровневых функций: rlBegin(), rlEnd(), rlVertex3f(), rlTexCoord2f(), rlNormal3f(), rlSetTexture(). Только с этой минимальной функциональностью псевдо-OpenGl 1.1 можно рисовать всё. Это улучшение превращает rshapes модуль в автономную портативную библиотеку для рисования фигур, которую можно использовать независимо от raylib, поскольку точки входа для этих 6 функций предоставляются пользователем. Его даже можно использовать для программного рендеринга с соответствующим бэкендом.
Добавлены функции для упрощения проверки структур данных raylib: IsImageReady(), IsTextureReady(), IsSoundReady(). Теперь у пользователей есть простой механизм для проверки правильности загрузки данных.
Как обычно, это лишь некоторые моменты, а нововведений намного больше: новые генераторы изображений, новые функции преобразования цвета, улучшенная поддержка смешивания цвета/альфа и т.д. Не забудьте проверить подробный список изменений в официальном ченджлоге. Новая версия доступна.
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Большое обновление raylib 4.5», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]