AArch64 | |
ppc64le | |
s390x | |
x86-64 |
- 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 users do not need to worry about reaching the internal render-batch limits when they send their triangles to draw 2d/3d, rlgl manages it automatically! This change allows a great simplification for other modules like rshapes, rtextures and rmodels that do not need to worry about bufffer overflows and can just define as many vertex as desired! * Reviewed rshapes module to minimize the rlgl dependency: Now rshapes 2d shapes drawing functions only depend on 6 low-level functions: rlBegin(), rlEnd(), rlVertex3f(), rlTexCoord2f(), rlNormal3f(), rlSetTexture(). With only those pseudo-OpenGl 1.1 minimal functionality, everything can be drawn! This improvement converts rshapes module in a self-contained, portable shapes-drawing library that can be used independently of raylib, as far as entry points for those 6 functions are provided by the user. It even allows to be used for software rendering, with the proper backend! * Added data structures validation functions: Multiple functions have been added by @RobLoach GitHub user to ease the validation of raylib data structures: IsImageReady(), IsTextureReady(), IsSoundReady()... Now users have a simple mechanism to make sure data has been correctly loaded, instead of checking internal structure values by themselfs.
- 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
- Update to 4.0.0: * Naming consistency and coherency: API has been completely reviewed to be consistent on naming conventions * Event Automation System: This new experimental feature has been added for future usage, it allows to record input events and re-play them automatically. * Custom game-loop control: As requested by some advance users, the game-loop control can be exposed * For details see: https://github.com/raysan5/raylib/blob/4.0.0/CHANGELOG
- Update to 3.7.0 * rlgl module for greater abstraction level. Now rlgl functionality is self-contained in the module and used by higher-level layers, * Multiple rlgl functions have been renamed for consistency * A new API has been added, more comprehensive and better integrated with raylib, the new stereo rendering can be combined with RenderTexture and Shader API allowing the user to manage fbo and distortion shader directly. * New file access callbacks system. * glTF animations support. * raylib supports music streamming from memory data for all supported file formats: WAV, OGG, MP3, FLAC, XM and MOD. * Most raylib enums names and values names have been renamed for consistency, now all value names start with the type of data they represent. * See: https://github.com/raysan5/raylib/blob/3.7.0/CHANGELOG - Drop raylib-3.0.0-noexamples.patch - Edit _service: * Exclude examples as they are licensed under unsupported licenses (Upstream does not provid the -noexamples package anymore)
- 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. * Improved software rendering: raylib 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! * File loading from memory: Multiple functions have been redesigned to load data from memory buffers instead of directly accessing the files, now all raylib file loading/saving goes through a couple of functions that load data into memory. This feature allows custom virtual-file-systems and it gives more control to the user to access data already loaded in memory (i.e. images, fonts, sounds...). * NEW Window states management system: raylib 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. * For details see CHANGELOG file
- 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. * 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 for a more comprehensive output information when developing raylib applications, now all display, input, timer, platform, auxiliar libraries, file-accesses, data loading/unloading issues are properly reported with more detailed and visual messages. * raudio module has been internally reviewed to accomodate the new Music structure (converted from previous pointer format) and the module has been adapted to the highly improved miniaudio v0.10. * text module reviewed to improve fonts generation and text management functions, Font structure has been redesigned to better accomodate characters data, decoupling individual characters as Image glyphs from the font atlas parameters. Several improvements have been made to better support Unicode strings with UTF-8 encoding. * Multiple new examples added (most of them contributed by raylib users) and all examples reviewed for correct execution on most of the supported platforms, specially Web and Raspberry Pi. A detailed categorized table has been created on github for easy examples navigation and code access. * New GitHub Actions CI system has been implemented for Windows, Linux and macOS code and examples compilation on every new commit or PR to make sure library keeps stable and usable with no breaking bugs. * Note that only key changes are listed here but there is way more! About 30 new functions, multiple functions reviewed, bindings to +40 programming languages and great samples/demos/tutorials created by the community, including raylib integration with Spine, Unity, Tiled, Nuklear, enet and more!
- 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()). * 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. * For details see Changelog file
- 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.
- 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
- Description grammar update.
- 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
- Add Requires: openal-soft-devel It will be needed when one uses raylib