deps: Update dependency raylib to v6#755
Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 59 minutes and 25 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This PR contains the following updates:
5.5→6.0Release Notes
raysan5/raylib (raylib)
v6.0Compare Source
A new
raylibrelease is finally ready and, again, this is the biggestraylibrelease ever! Thanks to the support of many amazing contributors this release comes packed with many new features and improvements, also thanks to the financial support of NLnet and the NGI Zero Commond Fund that allow me to work on this project mostly fulltime for the past few months.Some astonishing numbers for this release:
Highlights for
raylib 6.0:NEWSoftware Renderer -rlsw: The biggest addition of this new release. A new software renderer backend, that allows raylib to run purely on CPU, with no neeed for a GPU. It finally closes the circle of my search for a portable self-contained, with no-external-dependencies, graphics library, able to run on any device providing some CPU-power and some RAM memory. It has been possible thanks to the amazing work of Le Juez Victor (@Bigfoot71), who createdrlsw, a single-file header-only library implementing OpenGL 1.1+ specification, tailored to fit into raylibrlglOpenGL wrapper, and allowing to run raylib seamlessly over CPU with no code changes required on user side. As expected, software rendering is slower than hardware-accelerated rendering but it is still fast enough to run basic application at 30-60 fps. Actually, it already proved it usefulness on a new raylib port for ESP32 microcontroller by Espressif, useful for industrial applications, and opens the door to the upcoming RISC-V powered devices that start arriving to the marked, and many times come with no GPU. Along the new software renderer, some of the existing platform backends have been adapted to support it (SDL, RGFW, DRM) and also new platforms backends have been created to accomodate it (Win32, Emscripten), incluing a newPLATFORM_MEMORY, that allows direct rendering to a memory framebuffer.NEWPlatform backend: Memory -rcore_memory: This new platform has been added along the software renderer backend, allowing 2d and 3d rendering over a platform-agnostic memory framebuffer, it can run headless and output frames can be directly exported to images. This new backend could also be useful for graphics rendering on servers or process images directly using the memory buffer.NEWPlatform backend: Win32 -rcore_desktop_win32: A new Windows platform backend and the first step towards a potential replacement/alternative to the platform libraries currently used by raylib (GLFW/SDL/RGFW). This backend follows same API template structure than the other raylib backends, but directly implementing Win32 API calls. It allows initializing OpenGL GPU-accelerated windows and also GDI based windows, useful for the software renderer backend. This new backend approach, following a common template-structure and separating the platform logic by specific OS/Windowing system, will simplify code, improve maintenance, readability and portability for raylib, setting some bases for the future. NOTE: This backend is new and it could require further testing, use it as an experimental backend for now.NEWPlatform backend: Emscripten -rcore_web_emscripten: In the same line as Win32 backend, this new web backend moves away fromlibglfw.jsand directly implements Emscripten/JS functionality, with no other dependencies, adding support for the new software renderer to draw directly on a non-accelerated 2d canvas but also supporting a WebGL-hardware-accelerated canvas when required. NOTE: This backend is new and it could require further testing, use it as an experimental backend for now.REDESIGNEDFullscreen modes and High-DPI content scaling: After many years and many related issues, the full-screen and high-dpi content scaling support has been completely redesigned from scratch. New design prioritizes borderless fullscreen modes and automatically detects current monitor content scaling configuration to scale window and framebuffer accordingly when required. Still, High-DPI support must be requested by user if desired enablingFLAG_WINDOW_HIGHDPIon window creation. This new system has been carefully tested on Windows, Linux (X11, Wayland), macOS with multiple monitors and multiple resolutions, including 4K monitors.REDESIGNEDSkeletal Animation System: A new animation system for 3d models has been created to support animation blending, between single frames but also between differents frames on different animations, to allow easy timed transitions between animations. This redesign implied reviewing several raylib structures to better accomodate animation data:Model,ModelSkeleton,ModelAnimation, but the API was simplified and support for GPU-skinning was improved with multiple optimizations.REDESIGNEDBuild Config System -config.h: raylib allows lot of customization for specific needs (i.e. disabling modules not needed for specific applications like rmodels or raudio) but previous implementation did not allow easely disabling some features from custom build systems. New design not only allows disabling features with simple-DSUPPORT_FILEFORMAT_OBJ=0on building command-line but also the full system has been reviewed, removing useless flags and exposing new ones.NEWFile System API: Along the years, multiple filesystem functions have been added to raylib API as required but it felt somewhat inconsistent with some pieces missing. In this new release, the full filesystem API has beeen reviewed and reorganized, compiling all the functionality single module: rcore, consequentlyutilsmodule has been removed and build system has been simplified even more; only 6-7 modules (.c) need to be compiled containing the full raylib library. This new filesystem API will allow raylib to be used on the creation of custom build systems, as already demostrated with the newrexmtool for examples management. At the moment raylib includes +40 file system management functions, here a list with the new functions added:NEWText Management API: Along with the new file system functionality, a new set of text management functions has been added, also very useful for text procesing and also used in custom build systems creation using raylib. At the moment raylib includes +30 text management functions, here a list with the new functions added:NEWtool: raylib examples manager - rexm: raylib examples collection is huge, with more than 200 examples it was quite difficult to manage: adding, removing, renaming examples was a very costly process involving many files to be modified (including build systems), also the examples did not follow a common header convention neither a structure conventions. For that reason, a new support tool has been created: rexm, a raylib examples manager that allows to easely add/remove/rename examples, automatically fix inconsistencies and even building and automated testing on multiple platforms.NEW+70 new examples: Thanks torexmand the simplification on examples management, this new raylib release includes +70 new examples to learn from, most of them contributed by community. Multiple examples have also been renamed for consistency and all examples header and structure have been reviewed and unified.Make sure to check raylib CHANGELOG for a detailed list of changes!
I want to thank all the contributors (+850!) that along the years have greatly improved raylib and pushed it further and better day after day. And many thanks to raylib community and all raylib users for supporting the library along those many years.
Finally, I want to thank puffer.ai and comma.ai for using raylib and supporting the project as platinum sponsors, along many others individuals that have been sponsoring raylib along the years. Thanks to all of you for allowing me to keep working on this library!
After +12 years of development,
raylib 6.0is today one of the bests libraries to enjoy games/tools/graphics programming!Enjoy graphics programming with raylib! :)
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.