raylib v3.7.0
April 2021, it's been about 4 months since last raylib release and here it is already a new one, this time with a bunch of internal redesigns and improvements. Surprisingly, on April the 8th I was awarded for a second time with the Google Open Source Peer Bonus Award for my contribution to open source world with raylib and it seems the library is getting some traction, what a better moment for a new release? Let's see what can be found in this new version:
Let's start with some numbers:
- +100 closed issues (for a TOTAL of +900!)
- +400 commits since previous RELEASE
- +50 functions ADDED (+30 of them to rlgl API)
- +30 functions REVIEWED/REDESIGNED
- +40 new contributors (for a TOTAL of +210!)
Highlights for raylib 3.7
:
-
REDESIGNED:
rlgl
module for greater abstraction level. This suppose an important change in raylib architecture, nowrlgl
functionality is self-contained in the module and used by higher-level layers (specially bycore
module), those upper layers are the ones that expose functionality to the main API when required, for example theShaders
,Mesh
andMaterials
functionality. Multiplerlgl
functions have been renamed for consistency, in this case, following therl*()
prefix convention. Functions have also been reorganized internally by categories andGenTexture*()
functions have been removed from the library and moved tomodels_material_pbr
example. -
REDESIGNED: VR simulator and stereo rendering mechanism. A brand new API has been added, more comprehensive and better integrated with raylib, the new stereo rendering can be combined with
RenderTexture
andShader
API allowing the user to manage fbo and distortion shader directly. Also, the new rendering mechanism supports instancing on stereo rendering! Check the updatedcore_vr_simulator
example for reference! -
ADDED: New file access callbacks system. Several new callback functions have been added to the API to allow custom file loaders. A nice example it's the raylib integration with a virtual file system PhysFS.
-
ADDED: glTF animations support. glTF is the preferred models file format to be used with raylib and along the addition of a models animation API on latest raylib versions, now animations support for glTF format has come to raylib, thanks for this great contribution to Hristo Stamenov
-
ADDED: Music streaming support from memory. raylib has been adding the
Load*FromMemory()
option to all its supported file formats but music streaming was not supported yet... until now. Thanks to this great contribution by Agnis "NeZvērs" Aldiņš, now raylib supports music streamming from memory data for all supported file formats: WAV, OGG, MP3, FLAC, XM and MOD. -
RENAMED: enums values for consistency. Most raylib enums names and values names have been renamed for consistency, now all value names start with the type of data they represent. It increases clarity and readability when using those values and also improves overall library consistency.
Beside those key changes, many functions have been reviewed with improvements and bug fixes, many of them contributed by the community! Thanks! And again, this release sets a new milestone for raylib library. Make sure to check CHANGELOG for detailed list of changes! Hope you enjoy this new raylib installment!
Happy gamedev/tools/graphics programming! :)