Skip to content

After almost one years since latest raylib installment, here it is raylib 2.5. A lot of work has been put on this new version and consequently I decided to bump versioning several digits. The complete list of changes and additions is humungous, details can be found in the CHANGELOG, and here it is a short recap with the highlight improvements.

  • New window management and filesystem functions to query monitor information, deal with clipboard, check directory files info and even launch a URL with default system web browser. Experimental High-DPI monitor support has also been added through a compile flag.

  • Redesigned Gamepad mechanism, now generic for all platforms and gamepads, no more specific gamepad configurations.
    Redesigned UWP input system, now raylib supports UWP seamlessly, previous implementation required a custom input system implemented in user code.

  • rlgl module has been redesigned to support a unique buffer for shapes drawing batching, including LINES, TRIANGLES, QUADS in the same indexed buffer, also added support for multi-buffering if required. Additionally, rlPushMatrix()/rlPopMatrix() functionality has been reviewed to behave exactly like OpenGL 1.1, models_rlgl_solar_system example has been added to illustrate this behaviour.

  • VR simulator has been reviewed to allow custom configuration of Head-Mounted-Device parameters and distortion shader, core_vr_simulator has been properly adapted to showcase this new functionality, now the VR simulator is a generic configurable stereo rendering system that allows any VR device simulation with just a few lines of code or even dynamic tweaking of HMD parameters.

  • Support for Unicode text drawing; now raylib processes UTF8 strings on drawing, supporting Unicode codepoints, allowing rendering mostly any existent language (as long as the font with the glyphs is provided). An amazing example showing this feature has also been added: text_unicode.

  • Brand new text management API, with the addition of multiple functions to deal with string data, including functionality like replace, insert, join, split, append, to uppercase, to lower... Note that most of those functions are intended for text management on rendering, using pre-loaded internal buffers, avoiding new memory allocation that user should free manually.

  • Multiple new shapes and textures drawing functions to support rings (DrawRing(), DrawRingLines()), circle sectors (DrawCircleSector(), DrawCircleSectorLines()), rounded rectangles (DrawRectangleRounded(), DrawRectangleRoundedLines()) and also n-patch textures (DrawTextureNPatch()), detailed examples have been added to illustrate all this new functionality.

  • Experimental cubemap support, to automatically load multiple cubemap layouts (LoadTextureCubemap()). It required some internal rlgl redesign to allow cubemap textures.

  • Skeletal animation support for 3d models, this addition implied a redesign of Model data structure to accomodate multiple mesh/multiple materials support and bones information. Multiple models functions have been reviewed and added on this process, also glTF models loading support has been added.

This is a just a brief list with some of the changes of the new raylib 2.5 but there is way more, about 70 new functions have been added and several subsystems have been redesigned. More than 30 new examples have been created to show the new functionalities and better illustrate already available ones.

It has been a long year of hard work to make raylib a solid technology to develop new products over it.

Assets 11

@raysan5 raysan5 released this Jul 21, 2018

After 9 month of hard work, here it is a new version of raylib!

In raylib 2.0 the full API has been carefully reviewed for better consistency, some new functionality has been added and the overall raylib experience has been greatly improved... The key features of new version are:

  • Complete removal of external dependencies. Finally, raylib does not require external libraries to be installed and linked along with raylib, all required libraries are contained and compiled within raylib. Obviously some external libraries are required but only the strictly platform-dependant ones, that come installed with the OS. So, raylib becomes a self-contained platform-independent games development library.

  • Full redesign of audio module to use the amazing mini_al audio library, along with external dependencies removal, OpenAL library has been replaced by mini_al, this brand new library offers automatic dynamic linking with default OS audio systems. Undoubtly, the perfect low-level companion for raylib audio module!

  • Support for continuous integration building through AppVeyor and Travis CI. As a consequence, raylib GitHub develop branch has been completely removed simplyfing the code-base to a single master branch, always stable. Every time a new commit is deployed, library is compiled for up-to 12 different configurations, including multiple platforms, 32bit/64bit and multiple compiler options! All those binaries are automatically attached to any new release!

  • More platforms supported and tested, including BSD family (FreeBSD, openBSD, NetBSD, DragonFly) and Linux-based family platforms (openSUSE, Debian, Ubuntu, Arch, NixOS...). raylib has already been added to some package managers! Oh, and last but not less important, Android 64bit is already supported by raylib!

  • Support for TCC compiler! Thanks to the lack of external dependencies, raylib can now be easily compiled with a minimal toolchain, like the one provide by Tiny C Compiler. It opens the door to an amazing future, allowing, for example, static linkage of libtcc for runtime compilation of raylib-based code... and the library itself if required! Moreover, TCC is blazing fast, it can compile all raylib in just a few seconds!

  • Refactored all raylib configuration #defines into a centralized config.h header, with more than 40 possible configuration options to compile a totally customizable raylib version including only desired options like supported file-formats or specific functionality support. It allows generating a trully ligth-weight version of the library if desired!

  • A part of that, lots of new features, like a brand new font rendering and packaging system for TTF fonts with SDF support (thanks to the amazing STB headers), new functions for CPU image data manipulation, new orthographic 3d camera mode, a complete review of raymath.h single-file header-only library for better consistency and performance, new examples and way, way more.

As always, examples and templates have been reviewed to work with new version (some new examples added), all included external libraries have been updated to latest stable version and latest Notepad++ and MinGW have been configured to work with new raylib 2.0.

raylib Windows Installer package includes the following:

  • Notepad++ 7.5.7 (32bit): Code editor preconfigured for raylib, including code compilation scripts.
  • MinGW-w64 32bit (GCC 7.2.0): C/C++ Compiler including precompiled raylib library.
  • raylib Content: Code examples, Game samples, Project templates.

Enjoy the brand new raylib 2.0!

Assets 11

@raysan5 raysan5 released this Feb 4, 2018 · 1221 commits to master since this release

raylib develop release including latest library features and intended for testing.

Assets 5

@raysan5 raysan5 released this Oct 22, 2017 · 1467 commits to master since this release

Another raylib release is published: raylib 1.8. Again, several modules of the library have been reviewed and some new functionality added. Main changes of this new release are:

  • Procedural image generation functions, a set of new functions have been added to generate gradients, checked, noise and cellular images from scratch. Image generation could be useful for certain textures or learning pourpouses.

  • Parametric mesh generation functions, create 3d meshes from scratch just defining a set of parameters, meshes like cube, sphere, cylinder, torus, knot and more can be very useful for prototyping or for lighting and texture testing.

  • PBR Materials support, a completely redesigned shaders and material system allows advance materials definition and usage, with fully customizable shaders. Some new functions have been added to generate the environment textures required for PBR shading and a new complete PBR material example is also provided for reference.

  • Custom Android APK build pipeline with simple Makefile. Actually, full code building mechanism based on plain Makefile has been completely reviewed and Android building has been added for sources and also for templates building into final APK package. This way, raylib Android building has been greatly simplified and integrated seamlessly into standard build scripts.

  • rlgl module has been completely reviewed and most of the functions renamed for consistency. This way, standalone usage of rlgl is promoted, with a complete example provided. rlgl offers a pseudo-OpenGL 1.1 immediate-mode programming-style layer, with backends to multiple OpenGL versions.

  • raymath library has been also reviewed to align with other advance math libraries like GLM. Matrix math has been improved and simplified, some new Quaternion functions have been added and Vector3 functions have been renamed all around the library for consistency with new Vector2 functionality.

As always, examples and templates have been reviewed to work with new version (some new examples have been added), all external libraries have been updated to latest stable version and latest Notepad++ and MinGW have been configured to work with new raylib v1.8.

For a detailed list of changes, check CHANGELOG.

raylib Windows Installer package includes the following:

  • Notepad++ 7.5.1 (32bit): Code editor preconfigured for raylib, including code compilation scripts.
  • MinGW (GCC 5.3.0): C Compiler including raylib libraries and dependencies.
  • raylib Content: Code examples, Game samples, Project templates.

Just enjoy learning with raylib 1.8!

Assets 3

@raysan5 raysan5 released this May 18, 2017 · 1688 commits to master since this release

New raylib version 1.7 arrives with lots of improvements. Some highlights of this new version are:

  • More than 30 new functions added to the library, functions to control Window, utils to work with filenames and extensions, functions to draw lines with custom thick, mesh loading, functions for 3d ray collisions detailed detection, funtions for VR simulation and much more!
  • Support of configuration flags on every raylib module. Advance users can customize raylib just choosing desired features, defining some configuration flags on modules compilation. That way users can control library size and available functionality.
  • Improved build system for all supported platforms (Windows, Linux, OSX, RPI, Android, HTML5) with a unique Makefile to compile sources. Added support for Android compilation with a custom standalone toolchain and also multiple build compliation flags.
  • New examples and sample games added. All samples material has been reviewed, removing useless examples and adding more comprehensive ones; all material has been ported to latest raylib version and tested in multiple platforms. Examples folder structure has been improved and also build systems.
  • Improved library consistency and organization in general. Functions and parameters have been renamed, some parts of the library have been cleaned and simplyfied, some functions has been moved to examples (lighting, Oculus Rift CV1 support) towards a more generic library implementation.
  • Some other features: Gamepad support on HTML5, RPI touch screen support, 32bit audio support, frames timming improvements, public log system, rres file format support, automatic GIF recording...

For a detailed list of changes, check CHANGELOG.

raylib Windows Installer package includes the following:

  • Notepad++ 7.4.1 (32bit): Code editor preconfigured for raylib, including code compilation scripts.
  • MinGW (GCC 5.3.0): C Compiler including raylib libraries and dependencies.
  • raylib Content: Code examples, Game samples, Project templates.

Just enjoy learning with raylib 1.7!

Assets 3

@raysan5 raysan5 released this Nov 24, 2016 · 2014 commits to master since this release

New raylib version 1.6 to commemorate raylib 3rd anniversary! Main features:

  • Complete raylib LUA binding. All raylib functions plus the +60 code examples have been ported to LUA, now LUA users can enjoy coding videogames in LUA while using all the internal power of raylib.
  • Completely redesigned audio module. Based on the new direction taken in raylib 1.5, it has been further improved and more functionality added (+20 new functions) to allow raw audio processing and streaming.
  • Physac module has been moved to its own repository and it has been improved A LOT, actually, library has been completely rewritten from scratch by @victorfisac, multiple samples have been added together with countless new features to match current standard 2D physic libraries. Results are amazing!
  • Camera and gestures modules have been reviewed, highly simplified and ported to single-file header-only libraries for easier portability and usage flexibility.
  • Improved Gamepad support on Windows and Raspberry Pi with the addition of new functions for custom gamepad configurations but supporting by default PS3 and Xbox-based gamepads.
  • Improved textures and text functionality, adding new functions for texture filtering control and better TTF/AngelCode fonts loading and generation support.
  • Build system improvement. Added support for raylib dynamic library generation (raylib.dll) for users that prefer dynamic library linking. Also added a pre-configured Visual Studio C++ 2015 solution with raylib project and C/C++ examples for users that prefer that professional IDE and compiler.

For a detailed list of changes, check CHANGELOG.

raylib Windows Installer package includes the following:

  • Notepad++ 7.2 (32bit): Code editor preconfigured for raylib, including code compilation scripts.
  • MinGW (GCC 5.3.0): C Compiler including raylib libraries and dependencies.
  • raylib Useful Content: Code examples, Game samples, Project templates, fonts, shaders, etc.

Just enjoy learning with raylib 1.6!

Assets 3

@raysan5 raysan5 released this Jul 19, 2016 · 2206 commits to master since this release

New raylib version 1.5! Main features:

  • VR support: raylib supports Oculus Rift CV1 and, additionally, supports simulated VR stereo rendering, independent of the VR device.
  • New materials system: now raylib supports standard material properties for 3D models, including diffuse-ambient-specular colors and diffuse-normal-specular textures.
  • New lighting system with support for up to 8 configurable lights of 3 types: point, directional and spot lights.
  • Complete gamepad support on Raspberry Pi: Now multiple gamepads can be easily configured and used; gamepad data is read and processed in raw mode in a second thread.
  • Redesigned physics module: physac module has been converted to header only and usage has been simplified. Performance has also been significantly improved.
  • Audio chiptunes support and mixing channels; added support for module audio music (.xm, .mod).
  • Other additions include a 2D camera system, render textures (for offline render) and support for legacy OpenGL 2.1 on desktop platforms.

For a detailed list of changes, check CHANGELOG.

raylib Windows Installer package includes the following:

  • Notepad++ 6.9.2: Code editor preconfigured for raylib, including code compilation scripts.
  • MinGW (GCC 4.7.2): C Compiler including raylib libraries and dependencies.
  • raylib Useful Content: Code examples, Game samples, Project templates, fonts, shaders, etc.

Just enjoy learning with raylib 1.5!

Assets 3

@raysan5 raysan5 released this Feb 21, 2016 · 2663 commits to master since this release

New raylib version 1.4! Main features:

  • New set of Image manipulation functions to crop, resize, colorize, flip, dither and even draw image-to-image or text-to-image.
  • Improved SpriteFonts system with support for AngelCode fonts (.fnt) and TrueType Fonts (using stb_truetype helper library).
  • New physac physics module for basic 2D physics support.
  • raymath module reviewed and converted to a header-only file for easier portability.
  • gestures module redesigned and simplified, now it can process touch events from any source, including mouse.
  • Raspberry Pi input system redesigned to better read raw inputs using generic Linux event handlers.
  • Other important improvements: raycast system for 3D picking, two simple functions for persistent data storage and an easings module for values animation.
  • Up to 8 new code examples and +10 complete game samples including some classic games like Arkanoid, Asteroids, Missile Commander, Snake or Tetris.

Lots of changes and improvements (view CHANGELOG for a detailed list of changes).

raylib Windows Installer package includes the following:

  • Notepad++ 6.8.8: Code editor preconfigured for raylib, including code compilation scripts.
  • MinGW (GCC 4.7.2): C Compiler including raylib libraries and dependencies.
  • raylib Useful Content: Code examples, Game Samples, Project Templates, fonts, shaders, etc.

Just enjoy learning with raylib!

Assets 3

@raysan5 raysan5 released this Sep 3, 2015 · 2871 commits to master since this release

Next big raylib release! Main features of this new release:

Shaders support: Apply shaders to your 3d models or enable postprocessing screen effects, use any of the postprocessing shaders collection included with this release or create your own (templates also included)

Textures formats support improved: Load any kind of file and any kind of internal color format, including compressed formats (DXT, ETC, ASTC, PVRT)!

New camera module: Ready to use camera; just enable your desired camera mode (FREE, ORBITAL, FIRST_PERSON, THIRD_PERSON).

New gestures module: Enable gestures detection on Android an HTML5!

raygui: A new IMGUI module intended for rapid-multisystem tools development. Still experimental but fully functional!

Lots of changes and improvements (view CHANGELOG for a detailed list of changes).

raylib Windows Installer package includes the following tools:

  • Notepad++ 6.8.2: Code editor preconfigured for raylib, including code compilation scripts.
  • MinGW (GCC 4.7.2): C Compiler including raylib libraries and dependencies.
  • raylib Useful Content: Code examples, Game templates, rBMF fonts, Postpro shaders, etc.

Just enjoy learning with raylib!

Assets 3
You can’t perform that action at this time.