- Update to 5.5:
* NEW raylib pre-configured Windows package: The new raylib portable and
self-contained Windows package for raylib 5.5, intended for nobel devs that
start in programming world, comes with one big addition: support for C code
building for Web platform with one-single-mouse-click! For the last 10
years, the pre-configured raylib Windows package allowed to edit simple C
projects on Notepad++ and easely compile Windows executables with an
automatic script; this new release adds the possibility to compile the same
C projects for Web platform with a simple mouse click. This new addition
greatly simplifies C to WebAssembly project building for new users. The
raylib Windows Installer package can be downloaded for free from raylib on
itch.io.
* NEW raylib project creator tool: A brand new tool developed to help raylib
users to setup new projects in a professional way. raylib project creator
generates a complete project structure with multiple build systems
ready-to-use and GitHub CI/CD actions pre-configured. It only requires
providing some C files and basic project parameters! The tools is free and
open-source, and it can be used online!.
* NEW Platform backend supported: RGFW: Thanks to the rcore platform-split
implemented in raylib 5.0, adding new platforms backends has been greatly
simplified, new backends can be added using provided template,
self-contained in a single C module, completely portable. A new platform
backend has been added: RGFW. RGFW is a new single-file header-only
portable library (RGFW.h) intended for platform-functionality management
(windowing and inputs); in this case for desktop platforms (Windows, Linux,
macOS) but also for Web platform. It adds a new alternative to the already
existing GLFW and SDL platform backends.
* NEW Platform backend version supported: SDL3: Previous raylib 5.0 added
support for SDL2 library, and raylib 5.5 not only improves SDL2
functionality, with several issues reviewed, but also adds support for the
OBS-URL: https://build.opensuse.org/request/show/1226807
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/raylib?expand=0&rev=13
* NEW raylib pre-configured Windows package: The new raylib portable and
self-contained Windows package for raylib 5.5, intended for nobel devs that
start in programming world, comes with one big addition: support for C code
building for Web platform with one-single-mouse-click! For the last 10
years, the pre-configured raylib Windows package allowed to edit simple C
projects on Notepad++ and easely compile Windows executables with an
automatic script; this new release adds the possibility to compile the same
C projects for Web platform with a simple mouse click. This new addition
greatly simplifies C to WebAssembly project building for new users. The
raylib Windows Installer package can be downloaded for free from raylib on
itch.io.
* NEW raylib project creator tool: A brand new tool developed to help raylib
users to setup new projects in a professional way. raylib project creator
generates a complete project structure with multiple build systems
ready-to-use and GitHub CI/CD actions pre-configured. It only requires
providing some C files and basic project parameters! The tools is free and
open-source, and it can be used online!.
* NEW Platform backend supported: RGFW: Thanks to the rcore platform-split
implemented in raylib 5.0, adding new platforms backends has been greatly
simplified, new backends can be added using provided template,
self-contained in a single C module, completely portable. A new platform
backend has been added: RGFW. RGFW is a new single-file header-only
portable library (RGFW.h) intended for platform-functionality management
(windowing and inputs); in this case for desktop platforms (Windows, Linux,
macOS) but also for Web platform. It adds a new alternative to the already
existing GLFW and SDL platform backends.
* NEW Platform backend version supported: SDL3: Previous raylib 5.0 added
support for SDL2 library, and raylib 5.5 not only improves SDL2
functionality, with several issues reviewed, but also adds support for the
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=41
* rcore module platform-spli
* New platform backend supported: SDL
* New platform backend supported: Nintendo Switch
* New splines drawing and evaluation API
* Pseudo-random numbers generator: rprand
* Automation Events System API
* For details check project changelog
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=38
- Update to 4.5.0:
* NEW Improved ANGLE support on Desktop platforms: Support for OpenGL ES 2.0 on Desktop platforms (Windows,
Linux, macOS) has been reviewed by @wtnbgo GitHub user. Now raylib can be compiled on desktop for OpenGL
ES 2.0 and linked against ANGLE. This small addition open the door to building raylib for all ANGLE
supported backends: Direct3D 11, Vulkan and Metal. Please note that this new feature is still experimental
and requires further testing!
* NEW Camera module: A brand new implementation from scratch for rcamera module, contributed by @Crydsch
GitHub user! New camera system is simpler, more flexible, more granular and more extendable. Specific camera
math transformations (movement/rotation) have been moved to individual functions, exposing them to users if
required. Global state has been removed from the module and standalone usage has been greatly improved; now
rcamera.h single-file header-only library can be used externally, independently of raylib. A new
UpdateCameraPro() function has been added to address input-dependency of UpdateCamera(), now advance users
have full control over camera inputs and movement/rotation speeds!
* NEW Support for M3D models and M3D/GLTF animations: 3d models animations support has been a limited aspect of
raylib for long time, some versions ago IQM animations were supported but raylib 4.5 also adds support for
the brand new M3D file format, including animations and the long expected support for GLTF animations! The
new M3D file format is simple, portable, feature complete, extensible and open source. It also provides a
complete set of tools to export/visualize M3D models from/to Blender! Now raylib supports up to 3 model
file-formats with animations: IQM, GLTF and M3D.
* NEW Support QOA audio format (import/export): Just a couple of months ago the new QOA file format was
published, a very simple, portable and open source quite-ok-audio file format. raylib already supports it,
added to raudio module and including audio loading from file, loading from memory, streaming from file,
streaming from memory and exporting to QOA audio format. Because simplicity really matters to raylib!
* NEW Module for compressed textures loading: rl_gputex, a portable single-file header-only small library to
load compressed texture file-formats (DDS, PKM, KTX, PVR, ASTC). Provided functionality is not new to raylib
but it was part of the raylib rtextures module, now it has been moved into a separate self-contained library,
improving portability. Note that this module is only intended to load compressed data from files, ready to be
uploaded to GPU, no compression/decompression functionality is provided. This change is a first step towards
a better modularization of raylib library.
* Reviewed rlgl module for automatic limits checking: Again, rlgl has been reviewed to simplify usage. Now
OBS-URL: https://build.opensuse.org/request/show/1087397
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/raylib?expand=0&rev=11
* NEW Improved ANGLE support on Desktop platforms: Support for OpenGL ES 2.0 on Desktop platforms (Windows,
Linux, macOS) has been reviewed by @wtnbgo GitHub user. Now raylib can be compiled on desktop for OpenGL
ES 2.0 and linked against ANGLE. This small addition open the door to building raylib for all ANGLE
supported backends: Direct3D 11, Vulkan and Metal. Please note that this new feature is still experimental
and requires further testing!
* NEW Camera module: A brand new implementation from scratch for rcamera module, contributed by @Crydsch
GitHub user! New camera system is simpler, more flexible, more granular and more extendable. Specific camera
math transformations (movement/rotation) have been moved to individual functions, exposing them to users if
required. Global state has been removed from the module and standalone usage has been greatly improved; now
rcamera.h single-file header-only library can be used externally, independently of raylib. A new
UpdateCameraPro() function has been added to address input-dependency of UpdateCamera(), now advance users
have full control over camera inputs and movement/rotation speeds!
* NEW Support for M3D models and M3D/GLTF animations: 3d models animations support has been a limited aspect of
raylib for long time, some versions ago IQM animations were supported but raylib 4.5 also adds support for
the brand new M3D file format, including animations and the long expected support for GLTF animations! The
new M3D file format is simple, portable, feature complete, extensible and open source. It also provides a
complete set of tools to export/visualize M3D models from/to Blender! Now raylib supports up to 3 model
file-formats with animations: IQM, GLTF and M3D.
* NEW Support QOA audio format (import/export): Just a couple of months ago the new QOA file format was
published, a very simple, portable and open source quite-ok-audio file format. raylib already supports it,
added to raudio module and including audio loading from file, loading from memory, streaming from file,
streaming from memory and exporting to QOA audio format. Because simplicity really matters to raylib!
* NEW Module for compressed textures loading: rl_gputex, a portable single-file header-only small library to
load compressed texture file-formats (DDS, PKM, KTX, PVR, ASTC). Provided functionality is not new to raylib
but it was part of the raylib rtextures module, now it has been moved into a separate self-contained library,
improving portability. Note that this module is only intended to load compressed data from files, ready to be
uploaded to GPU, no compression/decompression functionality is provided. This change is a first step towards
a better modularization of raylib library.
* Reviewed rlgl module for automatic limits checking: Again, rlgl has been reviewed to simplify usage. Now
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=35
- Switch -DUSE_EXTERNAL_GLFW to OFF:
Earlier we build required on our glfw package.
But with raylib 4.2.0 they started to use features are only
in the development version.
They were unhappy that glfw 3.4.0 takes a long time to be
relased and decided to create a in-tree copy.
So for raylib 4.2.0 to build we need to use this in-tree version.
- Update to 4.2.0:
* extra libraries cleanup:
* examples review
* rres resource format
* raygui official gui library
* new file system API
* New audio stream processors API
* For details see https://github.com/raysan5/raylib/releases/tag/4.2.0
OBS-URL: https://build.opensuse.org/request/show/1033063
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/raylib?expand=0&rev=10
Earlier we build required on our glfw package.
But with raylib 4.2.0 they started to use features are only
in the development version.
They were unhappy that glfw 3.4.0 takes a long time to be
relased and decided to create a in-tree copy.
So for raylib 4.2.0 to build we need to use this in-tree version.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=33
- Update to 3.5.0:
* Platform supported: Raspberry Pi 4 native mode (no X11 windows)
through DRM subsystem and GBM API. Actually this is a really
interesting improvement because it opens the door to raylib to
support other embedded platforms (Odroid, GameShell, NanoPi...).
Also worth mentioning the un-official homebrew ports of raylib
for PS4 and PSVita.
* NEW configuration options exposed: For custom raylib builds,
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.
* NEW automatic GIF recording feature: Actually, automatic GIF
recording (CTRL+F12) for any raylib application has been available
for some versions but this feature was really slow and low-performant
using an old gif library with many file-accesses. It has been replaced
by a high-performant alternative (msf_gif.h) that operates directly
on memory... and actually works very well! Try it out!
* NEW RenderBatch system: 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.
* NEW Framebuffer system: 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.
OBS-URL: https://build.opensuse.org/request/show/860228
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/raylib?expand=0&rev=7
* Platform supported: Raspberry Pi 4 native mode (no X11 windows)
through DRM subsystem and GBM API. Actually this is a really
interesting improvement because it opens the door to raylib to
support other embedded platforms (Odroid, GameShell, NanoPi...).
Also worth mentioning the un-official homebrew ports of raylib
for PS4 and PSVita.
* NEW configuration options exposed: For custom raylib builds,
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.
* NEW automatic GIF recording feature: Actually, automatic GIF
recording (CTRL+F12) for any raylib application has been available
for some versions but this feature was really slow and low-performant
using an old gif library with many file-accesses. It has been replaced
by a high-performant alternative (msf_gif.h) that operates directly
on memory... and actually works very well! Try it out!
* NEW RenderBatch system: 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.
* NEW Framebuffer system: 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.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=26
- Switch to noexamples tarball as requested in:
https://github.com/raysan5/raylib/issues/1180
So we don't ship examples with various licenses that we don't
install anyways.
- Add raylib-3.0.0-noexamples.patch: dont try to install examples
Raysan seems to have forgotten that.
- Added missing development header files.
- Update to 3.0.0:
* All global variables from the multiple raylib modules have
been moved to a global context state, it has several benefits, first, better
code readability with more comprehensive variables naming and categorization
(organized by types, i.e. CORE.Window.display.width,
CORE.Input.Keyboard.currentKeyState or RLGL.State.modelview). Second, it allows
better memory management to load global context state dynamically when required
(not at the moment), making it easy to implement a hot-reloading mechanism if
desired.
* All memory allocations on raylib and its dependencies now use
RL_MALLOC, RL_FREE and similar macros. Now users can easely hook their own
memory allocations mechanism if desired, having more control over memory
allocated internally by the library. Additionally, it makes it easier to port
the library to embedded devices where memory control is critical. For more info
check raylib issue #1074.
* All I/O file accesses from raylib are being moved
to memory data access, now all I/O file access is centralized into just four
functions: LoadFileData(), SaveFileData(), LoadFileText(), SaveFileText().
Users can just update those functions to any I/O file system. This change makes
it easier to integrate raylib with Virtual File Systems or custom I/O file
implementations.
OBS-URL: https://build.opensuse.org/request/show/799028
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/raylib?expand=0&rev=6
* All global variables from the multiple raylib modules have
been moved to a global context state, it has several benefits, first, better
code readability with more comprehensive variables naming and categorization
(organized by types, i.e. CORE.Window.display.width,
CORE.Input.Keyboard.currentKeyState or RLGL.State.modelview). Second, it allows
better memory management to load global context state dynamically when required
(not at the moment), making it easy to implement a hot-reloading mechanism if
desired.
* All memory allocations on raylib and its dependencies now use
RL_MALLOC, RL_FREE and similar macros. Now users can easely hook their own
memory allocations mechanism if desired, having more control over memory
allocated internally by the library. Additionally, it makes it easier to port
the library to embedded devices where memory control is critical. For more info
check raylib issue #1074.
* All I/O file accesses from raylib are being moved
to memory data access, now all I/O file access is centralized into just four
functions: LoadFileData(), SaveFileData(), LoadFileText(), SaveFileText().
Users can just update those functions to any I/O file system. This change makes
it easier to integrate raylib with Virtual File Systems or custom I/O file
implementations.
* All raylib data structures have been reviewed and optimized
for pass-by-value usage. One of raylib distinctive design decisions is that
most of its functions receive and return data by value. This design makes
raylib really simple for newcomers, avoiding pointers and allowing complete
access to all structures data in a simple way. The downside is that data is
copied on stack every function call and that copy could be costly so, all
raylib data structures have been optimized to stay under 64 bytes for fast copy
and retrieve.
* All raylib tracelog messages have been reviewd and categorized
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=20
- Update to 2.5.0:
* 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).
* Brand new text management API, with the addition of multiple functions
to deal with string data
* Multiple new shapes and textures drawing functions
* Experimental cubemap support, to automatically load multiple
cubemap layouts (LoadTextureCubemap()). (forwarded request 706634 from jubalh)
OBS-URL: https://build.opensuse.org/request/show/706635
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/raylib?expand=0&rev=5
- Update to 2.5.0:
* 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).
* Brand new text management API, with the addition of multiple functions
to deal with string data
* Multiple new shapes and textures drawing functions
* Experimental cubemap support, to automatically load multiple
cubemap layouts (LoadTextureCubemap()).
OBS-URL: https://build.opensuse.org/request/show/706634
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=18
- Update to 2.0.0:
* Full redesign of audio module to use the mini_al audio library
* Refactor all #define SUPPORT_* into a single config.h
* Reviewed raymath.h for better consistency and performance (inlining)
* New font rendering
* STB support
* New functions for CPU image data manipulation
- Remove raylib-2.0.0-api-version.patch: upstreamed
- Remove BuildRequires libglfw-devel:
Using intern libraries now. They want raylib to be like this.
- Adding BR for libXcursor-devel, libXinerama-devel, libXrandr-devel
and cmake explicitly now.
OBS-URL: https://build.opensuse.org/request/show/625046
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/raylib?expand=0&rev=4
* Full redesign of audio module to use the mini_al audio library
* Refactor all #define SUPPORT_* into a single config.h
* Reviewed raymath.h for better consistency and performance (inlining)
* New font rendering
* STB support
* New functions for CPU image data manipulation
- Remove raylib-2.0.0-api-version.patch: upstreamed
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=14
- Update to 2.0.0rc1:
* Complete redesign of audio module to use mini_al audio library
* Support AppVeyor and Travis CI (continuous integration) build
* Reviewed raymath.h for better consistency and performance (inlining)
* Refactor all #define SUPPORT_* into a single config.h
* Support TCC compiler
* For complete list see CHANGELOG file
- Remove BR openal-soft-devel
- Add packageconfig file
- Add raylib-2.0.0-api-version.patch: api version should be 2
- Switch from meson to CMake
OBS-URL: https://build.opensuse.org/request/show/610387
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=12
- Update to 1.8.0:
* New Image generation functions: Gradient, Checked, Noise, Cellular...
* New Mesh generation functions: Cube, Sphere, Cylinder, Torus, Knot...
* New Shaders and Materials systems to support PBR materials
* Custom Android APK build pipeline with simple Makefile
* Complete review of rlgl layer functionality
* Complete review of raymath functionality
- Remove root-meson.build and src-meson.build: contained in new
release
- Update package summaries and RPM category.
- BuildRequires: libglfw-devel >= 3.2
because glfwSetWindowMonitor etc only come in 3.2
- Add option to meson file to build with gnu99 because:
* CLOCK_MONOTONIC macro
* var init in for loops (c99)
- Remove raylig-use-optflags.patch: Using meson for build
- Use meson to build raylib:
* Takes care of creating proper so versioning
* Install works (where their makefiles didnt)
- Add root-meson.build
- Add src-meson.build
Meson files will be in next release, see:
https://github.com/raysan5/raylib/pull/297
- Move Requires openal-soft-devel to devel package
- Add Requires: openal-soft-devel
It will be needed when one uses raylib
- Add OpenAL to BuildRequires
- Add raylig-use-optflags.patch: allow passing of optflags
See: https://github.com/raysan5/raylib/pull/295
- Inital package of raylib version 1.7.0
OBS-URL: https://build.opensuse.org/request/show/535929
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/raylib?expand=0&rev=1
* New Image generation functions: Gradient, Checked, Noise, Cellular...
* New Mesh generation functions: Cube, Sphere, Cylinder, Torus, Knot...
* New Shaders and Materials systems to support PBR materials
* Custom Android APK build pipeline with simple Makefile
* Complete review of rlgl layer functionality
* Complete review of raymath functionality
- Remove root-meson.build and src-meson.build: contained in new
release
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=8