Posted December 25, 2020 by Ray
#coding #Game engine #learn #Minimalist #Open Source #programming #raylib #tool
It's December 25th... this crazy 2020 is about to finish and finally the holidays gave me some time to put a new version of raylib. It's been 9 months since last release and last November raylib become 7 years old... I was not able to release this new version back then but here it is. Many changes and improvements have happened in those months and, even, last August, raylib was awarded with an Epic Megagrant! Bindings list kept growing to +50 programming languages and some new platforms have been supported. Let's see this new version details:
First, some general numbers of this new update:
Here the list with some highlights for raylib 3.5
.
config.h
now exposes more than 150 flags and defines to build raylib with only the desired features, for example, it allows to build a minimal raylib library in just some KB removing all external data filetypes supported, very useful to generate small executables or embedded devices.msf_gif.h
) that operates directly on memory... and actually works very well! Try it out!rlgl
module has been redesigned to support custom render batches to allow grouping draw calls as desired, previous implementation just had one default render batch. This feature has not been exposed to raylib API yet but it can be used by advance users dealing with rlgl
directly. For example, multiple RenderBatch
can be created for 2D sprites and 3D geometry independently.rlgl
module now exposes an API for custom Framebuffer attachments (including cubemaps!). raylib RenderTexture
is a basic use-case, just allowing color and depth textures, but this new API allows the creation of more advance framebuffers with multiple attachments, like the G-Buffers. GenTexture*()
functions have been redesigned to use this new API.Image*()
API is intended for software rendering, for those cases when no GPU or no Window is available. Those functions operate directly with multi-format pixel data on RAM and they have been completely redesigned to be way faster, specially for small resolutions and retro-gaming. Low-end embedded devices like microcontrollers with custom displays could benefit of this raylib functionality!core
module has been redesigned to support Window state check and setup more easily and also before/after Window initialization, SetConfigFlags()
has been reviewed and SetWindowState()
has been added to control Window minification, maximization, hidding, focusing, topmost and more.A part of those changes, many new functions have been added, some redundant functions removed and many functions have been reviewed for consistency with the full API (function name, parameters name and order, code formatting...). Again, this release represents is a great improvement for raylib and marks the way forward for the library. Make sure to check CHANGELOG for details! Hope you enjoy it!
Happy holidays! :)