Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: raysan5/raylib

raylib v5.5

18 Nov 12:22

Choose a tag to compare

raylib55_banner

One year after raylib 5.0 release, arribesraylib 5.5, the next big revision of the library. It's been11 years since raylib 1.0 release and in all this time it has never stopped growing and improving. With an outstanding number of new contributors and improvements, it's, again, the biggest raylib release to date.

Some numbers for this release:

  • +270 closed issues (for a TOTAL of+1810!)
  • +800 commits since previous RELEASE (for a TOTAL of+7770!)
  • +30 functions ADDED to raylib API (for a TOTAL of580!)
  • +110 functions REVIEWED with fixes and improvements
  • +140 new contributors (for a TOTAL of+640!)

Highlights forraylib 5.5:

  • NEW raylib pre-configured Windows package: The new raylibportable and self-contained Windows package forraylib 5.5, intended for nobel devs that start in programming world, comes with one big addition: support forC 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 additiongreatly simplifies C to WebAssembly project building for new users. Theraylib Windows Installer package can be downloaded for free fromraylib on itch.io.

  • NEW raylib project creator tool: A brand new tool developed to help raylib users tosetup new projects in a professional way.raylib project creator generates a complete project structure withmultiple build systems ready-to-use andGitHub CI/CD actions pre-configured. It only requires providing some C files and basic project parameters! The tools isfree and open-source, andit can be used online!.

  • NEW Platform backend supported: RGFW: Thanks to thercore platform-split implemented inraylib 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 anew single-file header-only portable library (RGFW.h) intended for platform-functionality management (windowing and inputs); in this case fordesktop platforms (Windows, Linux, macOS) but also forWeb platform. It adds a new alternative to the already existingGLFW andSDL platform backends.

  • NEW Platform backend version supported: SDL3: Previousraylib 5.0 added support forSDL2 library, andraylib 5.5 not only improves SDL2 functionality, with several issues reviewed, but also adds support for the recently released big SDL update in years:SDL3. Now users canselect at compile time the desired SDL version to use, increasing the number of potential platforms supported in the future!

  • NEW Retro-console platforms supported: Dreamcast, N64, PSP, PSVita, PS4: Thanks to the platform-split onraylib 5.0,supporting new platform backends is easier than ever! Along the raylibrlgl module support for theOpenGL 1.1 graphics API, it opened the door tomultiple homebrew retro-consoles backend implementations! It's amazing to see raylib running on +20 year old consoles likeDreamcast,PSP orPSVita, considering the hardware constraints of those platforms and provesraylib outstanding versability! Those additional platforms can be found in separate repositories and have been created by the amazing programmer Antonio Jose Ramos Marquez (@psxdev).

  • NEW GPU Skinning support: After lots of requests for this feature, it has been finally added to raylib thanks to the contributor Daniel Holden (@orangeduck), probably the developer that has further pushed models animations with raylib, developing two amazing tools to visualize and test animations:GenoView andBVHView. Adding GPU skinning was a tricky feature, considering it had to beavailable for all raylib supported platforms, including limited ones like Raspberry Pi with OpenGL ES 2.0, where some advance OpenGL features are not available (UBO, SSBO, Transform Feedback) but a multi-platform solution was found to make it possible. A new example,models_gpu_skinning has been added to illustrate this new functionality. As an extra, previous existing CPU animation system has been greatly improved, multiplying performance by a factor (simplifiying required maths).

  • NEWraymath C++ operators: After several requested for this feature, C++ math operators forVector2,Vector3,Vector4,Quaternion andMatrix has been added toraymath as an extension to current implementation. Despite being only available for C++ because C does not support it, these operatorssimplify C++ code when doing math operations.

Beside those new big features,raylib 5.5 comes with MANY other improvements:

  • Normals support on batching system
  • Clipboard images reading support
  • CRC32/MD5/SHA1 hash computation
  • Gamepad vibration support
  • Improved font loading (no GPU required) with BDF fonts support
  • Time-based camera movement
  • Improved GLTF animations loading

...andmuch much more, includingmany functions reviews and new functions added!

Make sure to check raylibCHANGELOG for a detailed list of changes!

To end with, I want tothank all the contributors (+640!) that along the years havegreatly improved raylib and pushed it further and better day after day. Thanks to all of them, raylib is the amazing library it is today.

Last but not least, I want to thankraylib sponsors and all the raylib community for their support and continuous engagement with the library, creating and sharing amazing raylib projects on a daily basis.Thanks for making raylib a great platform to enjoy games/tools/graphic programming!

After 11 years of development,raylib 5.5 is the best raylib ever.

Enjoy programming with raylib! :)

New Contributors

Read more

Contributors

  • @zuckschwerdt
  • @brccabral
  • @orangeduck
  • @emdzej
  • @ipzaur
  • @tromero
  • @davidthings
  • @jaens
  • @foxblock
  • @CosmicBagel
  • @zet23t
  • @spelufo
  • @marrony
  • @paulmelis
  • @dertseha
  • @jfoscarini
  • @HarryDC
  • @The-Night-Watch
  • @hardliner66
  • @AriaMoKr
  • @zyperpl
  • @ProIcons
  • @myQwil
  • @wisonye
  • @franztt
  • @aiafrasinei
  • @deathbeam
  • @Filyus
  • @CrackedPixel
  • @ShalokShalom
  • @karl-zylinski
  • @stanthesoupking
  • @carverdamien
  • @denovodavid
  • @Zapunidi
  • @Bowserinator
  • @maverikou
  • @FrankyBalu
  • @psxdev
  • @Mercotui
  • @GideonSerf
  • @VitoTringolo
  • @Minmoose
  • @KonradGrande
  • @Joshalosh
  • @L-Briand
  • @AuzFox
  • @DarkAssassin23
  • @dylanlangston
  • @devdad
  • @DongkunLee
  • @mlorenc227
  • @JayLCypher
  • @REDl3east
  • @arrecis
  • @Blockguy24
  • @Toctave
  • @ninadsachania
  • @Starpelly
  • @gabriel-marques
  • @satchelfrost
  • @waveydave
  • @sgalindo
  • @jkaup
  • @IoIxD
  • @maxmutant
  • @candrewlee14
  • @orosmatthew
  • @juliohq
  • @lzralbu
  • @rmn20
  • @SoloByte
  • @seiren-games
  • @Kimo-s
  • @IllusionMan1212
  • @mllimo
  • @Paperdomo101
  • @cedeon
  • @fruzitent
  • @MrMugame
  • @MaximKn1
  • @InventorXtreme
  • @Jutastre
  • @cemalgnlts
  • @BliznyukNM
  • @yuval-herman
  • @R-YaTian
  • @VisenDev
  • @eldskald
  • @masnm
  • @ColleagueRiley
  • @LievenPetersen
  • @alexmozaidze
  • @GaryMcWhorter
  • @aubs-dev
  • @rnpnr
  • @ListeriaM
  • @kai-kj
  • @cortexmancer
  • @okvik
  • @Alex-Velez
  • @Logicless-Coder
  • @Tchan0
  • @ZzzhHe
  • @Minnowo
  • @FishingHacks
  • @benjitrosch
  • @OetkenPurveyorOfCode
  • @lima-limon-inc
  • @MrScautHD
  • @idircarlos
  • @evertonse
  • @KotzaBoss
  • @FluxFlu
  • @ManuMario0
  • @bmbkr
  • @Mute124
  • @Odex64
  • @Bugsia
  • @iarkn
  • @benjibst
  • @TokyoSU
  • @Ridge3Dproductions
  • @He-Is-HaZaRdOuS
  • @oblerion
  • @proberge-dev
  • @Dev-Tade
  • @NishiOwO
  • @vaezim
  • @Sprixitite
  • @casavaca
  • @Belllg
  • @OussamaTeyib
  • @kimierik
  • @UmgefallenesGlas
  • @jgabaut
  • @cinghycreations
  • @riadbettole
  • @lipx1508
  • @mpv-enjoyer
  • @lnc3l0t
  • @susgirl446
  • @rapha-s
  • @jspast
  • @cypressru
  • @kai-z99
  • @hanaxars
  • @joyousblunder
  • @MikiZX1
  • @archewashi
  • @decromo
  • @avx0
  • @CDM15y
zuckschwerdt, brccabral, and 151 other contributors
Assets10
Loading
yuriy-chumak, sarmon, bensuperpc, DarknessFX, orosmatthew, LeonStansfield, ViniciusA1, GuvaCode, aless3, Logging4J, and 168 more reacted with thumbs up emojijardimdanificado, jdeokkim, IPlayKindred, GithubPrankster, ViniciusA1, aless3, Logging4J, qxrein, IgorTheLight, overdev, and 34 more reacted with laugh emojijardimdanificado, jdeokkim, GCodergr, IPlayKindred, GithubPrankster, xzripper, 27justin, babiabeo, NickSavage, benstigsen, and 105 more reacted with hooray emojijardimdanificado, jdeokkim, IPlayKindred, GithubPrankster, johnmichaeljimenez, yannlemos, ViniciusA1, aless3, Logging4J, OussamaTeyib, and 89 more reacted with heart emojiCreepySenpai, simone-lungarella, bensuperpc, ViniciusA1, OussamaTeyib, IgorTheLight, overdev, FlamingRiot, devdad, aubs-dev, and 39 more reacted with rocket emojijardimdanificado, ViniciusA1, shy-degenerate, IgorTheLight, aubs-dev, ravveni, cowboy8625, TheBigEye, ang3ltorres, kjhota123, and 13 more reacted with eyes emoji
291 people reacted

raylib v5.0

18 Nov 12:05

Choose a tag to compare

raylib50_banner_10th_anniversary_github

It's been7 months since latest raylib release and10 years since raylib 1.0 was officially released... what an adventure! In the last 10 years raylib has improved a lot, new functions have been added, many new features and improvements implemented, up to500 contributors have helped to shape the library as it is today.raylib 5.0 is the final result of all this incredible amount of work and dedication. Here it is the summary with the key features and additions of this NEW major version of raylib.

Some numbers for this release:

  • +200 closed issues (for a TOTAL of+1540!)
  • +550 commits since previous RELEASE (for a TOTAL of+6950!)
  • +35 functions ADDED to raylib API (for a TOTAL of552!)
  • +60 functions REVIEWED/REDESIGNED
  • +80 new contributors (for a TOTAL of+500!)

Highlights forraylib 5.0:

  • rcore module platform-split: Probably the biggest raylib redesign in the last 10 years. raylib started as a library targeting 3 desktop platforms:Windows,Linux andmacOS (thanks toGLFW underlying library) but with the years support for several new platforms has been added (Android,Web,Rapsberry Pi,RPI native...); lot of the platform code was shared so the logic was all together onrcore.c module, separated by compilation flags. This approach was very handy but also made it very difficult to support new platforms and specially painful for contributors not familiar with the module, navigating +8000 lines of code in a single file. A big redesign was really needed but the amount of work required was humungus and quite scary for a solo-developer like me, moreover considering that everything was working and the chances to break things were really high. Fortunately, some contributors were ready for the task (@ubkp,@michaelfiber,@Bigfoot71) and thanks to their initiative and super-hard work, thercoreplatform split has been possible! This new raylib architecture greatly improves the platforms maintenance but also greatly simplifies the addition of new platforms. Aplatforms/rcore_template.c file is provided with the required structure and functions to be filled for the addition of new platforms, actually it has been simplified to mostly filling some pre-defined functions:InitPlatform(),ClosePlatform,PollInputEvents... Undoubtely,this redesign opens the doors to a new era for raylib, letting the users to plug new platforms as desired.

  • NEW Platform backend supported: SDL: Thanks to the newrcore platform-split, the addition of new platforms/backends to raylib has been greatly simplified. As a proof of concept,SDL2 platform backend has been added to raylib as an aternative forGLFW library for desktop builds:platforms/rcore_desktop_sdl. Lot of work has been put to provide exactly the same features as the other platforms and carefully test the new implementation. NowSDL2 fans can use this new backend, just providing the required include libraries on compilation and linkage (not included in raylib, likeGLFW).SDL backend support alsoeases the process of supporting a wider range of platforms that already supportSDL.

  • NEW Platform backend supported: Nintendo Switch (closed source): The addition of theSDL backend was quite a challenge but to really verify the robustness and ease of the new platform plugin system, adding support for a console was a more demanding adventure. Surprisingly, only two days of work were required to add support forNintendo Switch to raylib! Implementation result showed an outstanding level of simplicity, with aself-contained module (rcore_swith.cpp) supporting graphics and inputs. Unfortunately this module can not be open-sourced due to licensing restrictions.

  • NEW Splines drawing and evaluation API: A complete set of functions has been added todraw andevaluate different types of splines:Linear,Basis,Catmull-Rom,Quadratic Bezier andCubic Bezier. Splines are extremely useful for game development (describe paths, control NPC movement...) but they can also be very useful on tools development (node-conections, elements-movement, 3d modelling, animations...). This was the missing feature on the raylibrshapes module to make it complete! Note thatrshapes module can also be used independently of raylib just providing theonly 6 functions required for vertex definition and drawing.

  • NEW Pseudo-random numbers generator: rprand: After several years of users asking for this missing piece, a brand new pseudo-random generator module has been added to raylib.rprand implements theXoshiro128** algorithm combined withSplitMix64, specially suited forfast software pseudo-random numbers generation. The module also implies some useful functions to generate non-repetitive random numbers sequences, functionality exposed by raylib. usage of this module can be controlled by a compilation flag, in case the default libcrand() function was preferred.

  • NEW Automation Events System API: This new system was first added inraylib 4.0 as an experimental feature but it was a bit clumsy and there was no API exposed to users. For the newraylib 5.0 the system has been redesigned andproper API added for the users. With this new events automation system, users canrecord input events for later replay, very useful feature for testing automation, tutorials generation, assisted game playing, in-game cinematics, speedruns saving or even AI assited game playing!

  • NEWraygui 4.0: Theofficial raylib immediate-mode gui library designed for tools development has been updated to a new version, aligned with raylib 5.0. This new version is a complete redesign of raygui to unify all controls structure and usage, now all controls have the same function signature!.raygui has been battle-tested with the development of +12 published tools in the last few years. The tools can be seen and used for free in theraylib technologies tools page. Worth mentioning that several of thosetools have been open sourced for anyone to use, compile, contribute or learn how the code works.

  • NEW raylib web examples functionality: Beside the addition of several new examples, the web examples functionality has been improved. Examples have been organized bycomplexity level, marked with one star for simple examples and up to 4 stars for more complex ones. A new option has been added to web to allow tofilter examples by function-name usage, to ease the learning process when looking for an usage example of some function. Finally,open-graph metadata information has been added to all examples individual webpages, improving a the visuals and information when sharing those webpages on social networks, sharing the example screenshot and details.

As always, those are only some highlights of the newraylib 5.0 but there is many more improvements! Support for 16-bit HDR images/textures, SVG loading and scaling support, new OpenGL ES 3.0 graphic backend, new image gradient generators, sound alias loading, improved 3d models loading, multiple optimizations, new bindings, CodeQL integration and much more!

Make sure to check raylib CHANGELOG for a detailed list of changes!

Undoubtely, this is thebiggest raylib update in 10 years. Many new features and improvements with a special focus on maintainabiliy and long-term sustainability.Undoubtely, this is the raylib of the future.

Enjoy programming! :)

New Contributors

Read more

Contributors

  • @maksut
  • @RicoP
  • @rexim
  • @alfredbaudisch
  • @Shoozza
  • @Webfra
  • @jbarthelmes
  • @wilsonsilva
  • @gabrielssanches
  • @archydragon
  • @Koromix
  • @actondev
  • @benjamin-thomas
  • @vushu
  • @superxkooda
  • @AlbertoGP
  • @gingerBill
  • @Dial0
  • @rayit
  • @manuel5975p
  • @M374LX
  • @kassane
  • @mode777
  • @jcorks
  • @eternalStudent
  • @neyrox
  • @WraithGlade
  • @SuperUserNameMan
  • @bohonghuang
  • @danemadsen
  • @keithstellyes
  • @thechampagne
  • @branc116
  • @jasonliang-dev
  • @lesleyrs
  • @2Bear
  • @szsam
  • @ewpratten
  • @Codom
  • @eltociear
  • @BabakSamimi
  • @hamyyy
  • @Murlocohol
  • @nullstare
  • @BeardedBread
  • @blueloveTH
  • @JettMonstersGoBoom
  • @RadsammyT
  • @chemaguerra
  • @Stopfield
  • @jestarray
  • @AndreaBoroni
  • @mmilenkov
  • @michaelfiber
  • @dantecatalfamo
  • @nickyMcDonald
  • @crynux
  • @TheLastBilly
  • @purple4pur
  • @icy-comet
  • @mohad12211
  • @glowiak
  • @freakmangd
  • @KislyjKisel
  • @Gisteron
  • @RokasPuzonas
  • @calebarg
  • @luis605
  • @danilwhale
  • @awfulcooking
  • @devmanso
  • @paganswrath
  • @JaanDev
  • @bluesillybeard
  • @jarroddavis68
  • @27justin
  • @isaacgravenortechnologies
  • @Gamer-Kold
  • @Luramoth
  • @b4yuan
  • @Bigfoot71
  • @chocolate42
  • @khalid586
  • @DaveH355
  • @VitusVeit
  • @jakubvf
  • @kolunmi
  • @ndytts
  • @gk646
  • @Soutaisei
  • @Techuuu
maksut, RicoP, and 89 other contributors
Loading
19atlas, elegracer, SuperUserNameMan, district10, orcmid, timdevorg, jjcapellan, kallehed, aSemy, LittleB0xes, and 136 more reacted with thumbs up emojiakimky, HappyGoFishing, Ridge3Dproductions, HusseinAzeez, NicoDevStuff, ajmaljaleel458, BlueStaggo, UjjwalAnand364, Blaqwood, yigitdogann, and 8 more reacted with laugh emojibbSnavy, IPlayKindred, bmorphism, e1maw, cowboy8625, arrufat, AnkurMal, Kerplunkx, justgo97, edibotopic, and 110 more reacted with hooray emojijorgepiloto, Starpelly, vinnyhorgan, bbSnavy, IPlayKindred, vladimirgamalyan, cemuka, 2Bear, ryupold, bytesiz3d, and 99 more reacted with heart emojibmorphism, Spacerulerwill, hristo-kanchev, MatheusKS95, Soare-Robert-Daniel, wwderw, 19atlas, elegracer, quixoticaxis, sDos280, and 33 more reacted with rocket emojiakimky, Bigfoot71, HusseinAzeez, NicoDevStuff, ajmaljaleel458, chrismferguson, Zinoujoker, AzuxirenLeadGuy, DRAGNIL68, xzripper, and 3 more reacted with eyes emoji
301 people reacted

raylib v4.6-dev

08 Oct 16:25
1327b57
This commit was created on GitHub.com and signed with GitHub’sverified signature. The key has expired.
GPG key ID:4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

raylib v4.6-devPre-release
Pre-release

This is not a raylib release

This pre-release is created only for the tag before a BIG library redesign merge.

rcore module has been split per-platform, this is one of the big changes comming to the futureraylib 5.0 release.

Just creating this point in time in case everything needs to be reverted (hopefully not).

So, time to merge changes for the new release...

Loading
cemuka, aqilc, 19atlas, EfhnG41, n67094, terroo, JuliusVenier, aubs-dev, MSylvia, Samhutkinsu, and 7 more reacted with thumbs up emoji19atlas, AadelAferyad, CodingMadness, onurturhan, YoS0yNacho, overdev, aqilc, diwacreation3, aubs-dev, AntonioBerna, and 6 more reacted with heart emojiTheLavaBlock, TalonFloof, blueloveTH, conradax, quixoticaxis, Vam-Jam, MatheusKS95, ArtInLines, xland, reo101, and 23 more reacted with eyes emoji
56 people reacted

raylib v4.5

18 Mar 17:18
fec9613
This commit was created on GitHub.com and signed with GitHub’sverified signature. The key has expired.
GPG key ID:4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

raylib_release_promo_450

It's been7 months since latest raylib release. As usual,many parts of the library have been reviewed and improved along those months. Many issues have been closed, staying under 10 open issues at the moment of this writting and also many PRs from contributors have been received, reviewed and merged into raylib library. Some new functions have been added and some others have been removed to improve library coherence and avoid moving too high level, giving the users the tools to implement advance functionality themselfs over raylib. Again, this is a big release with a considerable amount of changes and improvements. Here it is a small summary highlighting this newrayib 4.5.

Some numbers for this release:

  • +100 closed issues (for a TOTAL of+1340!)
  • +350 commits since previous RELEASE (for a TOTAL of+6350!)
  • +25 functions ADDED to raylib API (for a TOTAL of516!)
  • +40 functions REVIEWED/REDESIGNED
  • +40 new contributors (for a TOTAL of405!)

Highlights forraylib 4.5:

  • 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 againstANGLE. Thissmall addition open the door to building raylib for allANGLE 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 forrcamera 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; nowrcamera.h single-file header-only library can be used externally, independently of raylib. A newUpdateCameraPro() function has been added to address input-dependency ofUpdateCamera(), now advance users havefull 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 newM3D file format, including animations and the long expected support forGLTF animations! The new M3D file format issimple, 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 to3 model file-formats with animations:IQM,GLTF andM3D.

  • NEW Support QOA audio format (import/export): Just a couple of months ago the newQOA file format was published, a very simple, portable and open source quite-ok-audio file format. raylib already supports it, added toraudio module and including audio loading from file, loading from memory, streaming from file, streaming from memory andexporting 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 raylibrtextures module, now it has been moved into a separate self-contained library,improving portability. Note that this module is only intended toload 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.

  • Reviewedrlgl 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 agreat simplification for other modules likershapes,rtextures andrmodels that do not need to worry about bufffer overflows and can just define as many vertex as desired!

  • Reviewedrshapes module to minimize the rlgl dependency: Nowrshapes 2d shapes drawing functionsonly 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 convertsrshapes module in aself-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 tomake sure data has been correctly loaded, instead of checking internal structure values by themselfs.

As usual, those are only some highlights but there is much more! New image generators, new color transformation functionality, improved blending support for color/alpha, etc... Make sure to check raylibCHANGELOG for a detailed list of changes! Please, note that all breaking changes have been flagged with aWARNING in the CHANGELOG, specially useful for binding creators!

raylib keeps improving one more version with a special focus on maintainability and sustainability. Always working towards making the library moresimple and easy-to-use.

Let's keepenjoying games/tools/graphics programming! :)

New Contributors

Read more

Contributors

  • @RobLoach
  • @deniska
  • @KOLANICH
  • @simendsjo
  • @bXi
  • @masoudd
  • @charles-l
  • @wtnbgo
  • @SzieberthAdam
  • @SpexGuy
  • @acejacek
  • @haved
  • @shelvick
  • @AlxHnr
  • @realtradam
  • @daipom
  • @star-tek-mb
  • @Crydsch
  • @PencilAmazing
  • @trumoose
  • @lxmcf
  • @sinoftheta
  • @hatkidchan
  • @turborium
  • @stickm4n
  • @Skaytacium
  • @InKryption
  • @JupiterRider
  • @ashn-dot-dev
  • @Pere001
  • @the-argus
  • @Brian-ED
  • @Anut-py
  • @pure01fx
  • @skylar779
  • @murilluhenrique
  • @jtainer
  • @fubark
  • @BugraAS
  • @Wytekol
  • @Its-Kenta
  • @stanoddly
  • @AQuantumPotato
  • @IsaacTCB
  • @RGDTAB
  • @ImazighenGhost
RobLoach, deniska, and 44 other contributors
Loading
OnurKader, SomeUnusualGames, JaDogg, akimky, vladimirgamalyan, quixoticaxis, orosmatthew, IgorTheLight, varomix, iSLC, and 22 more reacted with thumbs up emojibohonghuang, aubs-dev, gtrxAC, brackeen, whouishere, JaDogg, kai-kj, akimky, slendidev, blakelead, and 28 more reacted with hooray emojihatkidchan, aubs-dev, Toni500github, svercl, GithubPrankster, gtrxAC, raysan5, DozingDuckling, bensuperpc, Brian-ED, and 58 more reacted with heart emoji
104 people reacted

raylib v4.2.0

13 Aug 20:44

Choose a tag to compare

New raylib release! Nine months after latest raylib, here it is a new version. It was supposed to be just a small update but, actually, it's a huge update with lots of changes and improvements. It has been possible thanks to the many contributors that have helped with issues and improvements, it's theupdate with more contributors to date and that's amazing!

Some numbers to start with:

  • +200 closed issues (for a TOTAL of1230!)
  • +550 commits since previous RELEASE (for a TOTAL of+6000!)
  • +20 functions ADDED to raylib API (for a TOTAL of502!)
  • +60 functions REVIEWED/REDESIGNED
  • +70 new contributors (for a TOTAL of+360!)

Highlights forraylib 4.2:

  • raylib extra libraries cleanup: raylib has been on diet and all theextra libraries included on previous releases have been removed from raylib. Now raylib only includes the original7 raylib modules:rcore,rlgl,rshapes,rtextures,rtext,rmodels andraudio. But no worries,extra libraries have not been deleted, they have been moved to their own repos for better maintainability and more focus on its functionality. The libraries moved out from raylib repo are:raygui,physac,rmem,reasings andraudio (standalone mode). On that same line, a newamazing GitHub group:raylib-extras has been created by@JeffM2501 to contain raylib extra libraries as well as other raylib add-ons provided by the community. Jeff has done an amazing work on that line, providing multiple libraries and examples for raylib, likecustom first-person and third person camera systems,Dear ImGui raylib integration,multiple specific examples and even a completeRPG Game Example! Great work Jeff! :D

  • raylib examples review: The +120 raylib examples have been reviewed to add clearer information about when they were first created (raylib version used) and when they were updated for the last time. But the greatest improvement for users has been theaddition of an estimated difficulty level for every example,web has been updated accordingly to reflect those difficulty levels. Now examples are classified with1 to 4 stars depending on difficulty to help users with their learning process. Personally, I think this "small" addition could be a game-changer to better guide new users on the library adoption! Additionally, this new raylib release includes 7 new examples; the most interesting one:text_codepoints_loading that illustrates how to load and draw custom codepoints from a font file, very useful for Asian languages.

  • rres 1.0: Newrresresources packaging file-format, including arres-raylib library implementation andrrespacker tool.rres file format has beenunder development for +8 years and it was originally created to be part of raylib. It was highly inspired byXNA XNB resources file format but design has changed a lot along the years. This first release of the format specs is engine-agnostic and has been designed to be portable to any engine, including lots of professional features like data processing, compression and encryption.

  • raygui 3.2: Theofficial raylib immediate-mode gui library designed for tools development has been updated to a new version aligned with raylib 4.2. Multiple controls have been reviewed for library consistency, now all controls follow a similar function signature. It has been battle-tested with the development of +8 published tools in the last months. The tools can be seen and used for free in theraylib technologies tools page. Worth mentioning that several of thosetools have been open sourced for anyone to use, compile, contribute or learn how the code works.

  • raylib_parser: Multiple contributorsusing the tool to automatize bindings creation have contributed with improvements of thistool to parseraylib.h (and other raylib-style headers) to tokenize its enums, structs and functions. Processed data can be exported to custom file formats (i.e XML, JSON, LUA) for bindings generation or even docs generation if required.

  • New file system API: Current API has been redesigned to be more comprehensive and better aligned with raylib naming conventions, two new functions are providedLoadDirectoryFiles()/LoadDirectoryFilesEx() to load aFilePathList for provided path, supporting extension filtering and recursive directory scan.LoadDroppedFiles() has been renamed to better reflect its internal functionality. Now, all raylib functions that start withLoad*() allocate memory internally and a equivalentUnload*() function is defined to take care of that memory internally when not required any more!

  • New audio stream processors API (experimental): Now real-time audio stream data processors can be added using callbacks to played Music. It allows users to create custom effects for audio like delays of low-pass-filtering (example provided). The new API uses a callback system and it's still _ highly experimental_, it differs from the usual level of complexity that provides raylib and it is intended for advance users. It could change in the future but, actually,raudio module is in the spotlight for future updates;miniaudio implements a new higher-level API that can be useful in the future for raylib.

As always, there are more improvements than the key features listed, make sure to check raylibCHANGELOG for the detailed list of changes; for this release aWARNING flag has been added to all the changes that could affect bindings or productivity code.raylib keeps improving one more version and a special focus on maintainability has been put on the library for the future. Specific/advance functionality will be provided throughraylib-extras repos and raylib main repo devlelopment will be focused on what made raylib popular: being a simple and easy-to-use library toenjoy videogames programming.

Enjoy gamedev/tools/graphics programming! :)

New Contributors

Read more

Contributors

  • @shivajiva101
  • @naveensrinivasan
  • @ryupold
  • @kristianlm
  • @pitpit
  • @anders-n08
  • @JeffM2501
  • @jcgamestoy
  • @tana
  • @guidoism
  • @joaotavora
  • @chrisws
  • @jasonswearingen
  • @MikeDX
  • @ronnieholm
  • @patm1987
  • @sol-vin
  • @audinue
  • @sysrpl
  • @lukekras
  • @gulrak
  • @futureapricot
  • @Schweinepriester
  • @HarriP
  • @makuto
  • @DaJobat
  • @noodlecollie
  • @Hejsil
  • @ptarabbia
  • @dawranliou
  • @Timofffee
  • @MatthewOwens
  • @Akashic-Theory
  • @salotz
  • @petelliott
  • @WilledgeR
  • @wereii
  • @royqh1979
  • @archie2x
  • @laminowany
  • @eutro
  • @ytrms
  • @Capital-EX
  • @FireFlyForLife
  • @Toby222
  • @IrishBruse
  • @wolfenrain
  • @AnilBK
  • @glorantq
  • @veins1
  • @ramiromagno
  • @hero-clashes
  • @twuky
  • @Hishenko
  • @kirigirihitomi
  • @phil-shenk
  • @jdeokkim
  • @evantj
  • @DavidLyhedDanielsson
  • @megagrump
  • @leomonta
  • @TheTophatDemon
  • @planetis-m
  • @KonPet
  • @siddharthroy12
  • @ArchieAtkinson
  • @WIITD
  • @pkg-dot-zip
  • @gtrxAC
  • @hartmannathan
  • @Tekkitslime
  • @thundervox
  • @ERmilburn02
  • @BlueStaggo
  • @zigster64
  • @tixvage
  • @iacore
  • @quantumedbox
  • @TheManTheMythTheGameDev
  • @andsiu
  • @tusharsingh09
  • @CastimierDev
  • @anggape
  • @hanaxar
  • @saccharineboi
  • @lazaray
  • @SomeUnusualGames
  • @sDos280
  • @Bitwise101
shivajiva101, naveensrinivasan, and 87 other contributors
Loading
LebJe, IshaqJunejo, r4gus, kinoko87, Madeorsk, xiaoneai, RobLoach, Avokadoen, perolof75, TheLavaBlock, and 18 more reacted with thumbs up emojiLebJe, kinoko87, girng, and IgorTheLight reacted with laugh emojiOnurKader, GuvaCode, LebJe, IshaqJunejo, kinoko87, j0ng4b, JaDogg, Ayush4441, eigenbom, El1teWatermelonGames, and 5 more reacted with hooray emojisvercl, jardimdanificado, cemuka, nova-nowiz, vladimirgamalyan, brainwo, ptruser, Hammer2900, benstigsen, a740g, and 36 more reacted with heart emojiLebJe, kinoko87, tatimunizz, nathabonfim59, pedr0silva, girng, and IgorTheLight reacted with rocket emojigirng and IgorTheLight reacted with eyes emoji
66 people reacted

raylib v4.0.0

04 Nov 19:24
0851960
This commit was created on GitHub.com and signed with GitHub’sverified signature. The key has expired.
GPG key ID:4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

It's been about 6 months since last raylib release and it's been8 years since I started with this project, what an adventure! It's time for a new release:raylib 4.0,the biggest release ever and an inflexion point for the library. Many hours have been put in this release to make it special,many library details have been polished: syntax, naming conventions, code comments, functions descriptions, log outputs... Almost all the issues have been closed (only 3 remain open at the moment of this writing) and some amazing new features have been added. I expect thisraylib 4.0 to be a long term version (LTS), stable and complete enough for any new graphic/game/tool application development.

Let's start with some numbers:

  • +130 closed issues (for a TOTAL of+1030!)
  • +550 commits since previous RELEASE
  • +20 functions ADDED to raylib API
  • +60 functions ADDED to rlgl API
  • +40 functions RENAMED/REVIEWED/REDESIGNED
  • +60 new contributors (for a TOTAL of+275!)

Highlights forraylib 4.0:

  • Naming consistency and coherency:raylib API has been completely reviewed to be consistent on naming conventions for data structures and functions, comments and descriptions have been reviewed, also the syntax of many symbols for consistency; some functions and structs have been renamed (i.e.struct CharInfo tostruct GlyphInfo). Output log messages have been also improved to show more info to the users. Several articles have been writen in this process:raylib_syntax analysis andraylib API usage analysis. In general, a big polishment of the library to make it more consistent and coherent.

  • Event Automation System: This newexperimental feature has been added for future usage, it allows torecord input events and re-play them automatically. This feature could be very useful to automatize examples testing but also for tutorials with assited game playing, in-game cinematics, speedruns, AI playing and more! Note this feature is still experimental.

  • Custom game-loop control: As requested by some advance users,the game-loop control can be exposed compiling raylib with the config flag:SUPPORT_CUSTOM_FRAME_CONTROL. It's intended for advance users that want to control the events polling and also the timming mechanisms of their games.

  • rlgl 4.0: This module has been completelydecoupled from platform layer and raylib, nowrlgl single-file header-only library only depends on the multiple OpenGL backends supported, even the dependency onraymath has been removed. Additionally,support for OpenGL 4.3 has been added, supporting compute shaders and Shader Storage Buffer Objects (SSBO). Nowrlgl can be used as a complete standalone portable library to wrap several OpenGL version and providinga simple and easy-to-use pseudo-OpenGL immediate-mode API.

  • raymath 1.5: This module has been reviewed and some new conventions have been adopted to make itmore portable and self-contained:

    • Functions are self-contained, no function use other raymath function inside, required code is directly re-implemented
    • Functions input parameters are always received by value
    • Functions use always a "result" variable for return
    • Angles are always in radians (DEG2RAD/RAD2DEG macros provided for convenience)
  • raygui 3.0: Theofficial raylib immediate-mode gui library (included inraylib/src/extras) has been updated to a new version, embedding the icons collection and adding mulstiple improvements. It has been simplified and constrained for a better focus on its task: provide a simple and easy-to-use immediate-mode-gui library for small tools development.

  • raylib_parser: Addednew tool to parseraylib.h and tokenize its enums, structs and functions, extracting all required info (name, params, descriptions...) into custom output formats (TXT, XML, JSON...) for further processing. This tool is specially useful toautomatize bindings generation. Hopefully, this tool will make life easier to binding creators to update their bindings for raylib 4.0 or adding new ones!

  • Zig and Odin official support for raylib: Those two new amazing programming languages are officially supporting raylib,Zig lists raylib as anofficial example for C interoperatibility and Odinofficially supports raylib as a vendor library. Both languages also have several bingings to raylib. Additionally, Zig build system supported has been added to compile raylib library and examples.

Those are some of the key features for this new release but actually there is way more!Support forVOX (MagikaVoxel) 3d model format has been added,newraylib_game_template repo shared,newEncodeDataBase64() andDecodeDataBase64() functions added,improved HiDPI support, newDrawTextPro() with support for text rotations, completelyreviewedglTF models loading, addedSeekMusicStream() for music seeking, many new examples and +20 examples reviewed...hundreds of improvements and bug fixes! Make sure to checkCHANGELOG for a detailed list of changes!

Undoubtely,this is the best raylib ever. Enjoy gamedev/tools/graphics programming! :)

Loading
DutchJavaDev, PrimaIVoid, lauchimoon, ehsan-omid, vladimirgamalyan, ang3ltorres, Tinchetsu, Jack-Ji, wtjcn, KineticTactic, and 61 more reacted with thumbs up emojiDutchJavaDev, ang3ltorres, KineticTactic, GuvaCode, mrsergorian, tixvage, pkulev, Abdelilah-Majid, alichraghi, 8-BIT-DEV, and 14 more reacted with laugh emojiundersquire, erri120, alexmercerind, Grando69, Incineroar, tehtnaz, bvisness, evpix, GithubPrankster, DutchJavaDev, and 50 more reacted with hooray emojialexmercerind, undersquire, Grando69, Incineroar, tehtnaz, autopawn, evpix, GithubPrankster, DutchJavaDev, igorifaresi, and 62 more reacted with heart emojialexmercerind, undersquire, Incineroar, tehtnaz, bvisness, GithubPrankster, DutchJavaDev, PrimaIVoid, arthuro555, bontequero, and 32 more reacted with rocket emojiDutchJavaDev, GuvaCode, mrsergorian, Abdelilah-Majid, alichraghi, lazynessmind, Adhithya03, maihd, Kabcorp, Kouzeru, and 6 more reacted with eyes emoji
131 people reacted

raylib v3.7.0

26 Apr 16:08

Choose a tag to compare

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 theGoogle 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 forraylib 3.7:

  • REDESIGNED:rlgl module for greater abstraction level. This suppose animportant 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. Abrand new API has been added, more comprehensive and better integrated with raylib, thenew stereo rendering can be combined withRenderTexture andShader API allowing the user tomanage fbo and distortion shader directly. Also, the new rendering mechanism supportsinstancing 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. Anice example it's theraylib integration with a virtual file systemPhysFS.

  • 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 toHristo Stamenov

  • ADDED: Music streaming support from memory. raylib has been adding theLoad*FromMemory() option to all its supported file formats butmusic streaming was not supported yet... until now. Thanks to this great contribution byAgnis "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 alsoimproves 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 anew milestone for raylib library. Make sure to checkCHANGELOG for detailed list of changes! Hope you enjoy this new raylib installment!

Happygamedev/tools/graphics programming! :)

Loading
benjysugi, Cool-Cole, KuronoaScarlet, Niisc, denny0754, bukanvalen, whamer100, evanhutomo, devsamuelv, Triangle345, and 4 more reacted with laugh emojistreamer45, Ruminant, jumailj, evanhutomo, takkaw, alvarochvz, franztt, devsamuelv, grenappels, Sammie156, and 4 more reacted with hooray emojiSammie156, faustinozanetto, and Kabcorp reacted with heart emoji
24 people reacted

raylib v3.5.0

25 Dec 01:07
e25e380
This commit was created on GitHub.com and signed with GitHub’sverified signature. The key has expired.
GPG key ID:4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

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 been9 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 anEpic 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:

  • +650 commits since previous RELEASE
  • +30 functions ADDED (for a TOTAL of475!)
  • +90 functions REVIEWED/REDESIGNED
  • +30 contributors (for a TOTAL of170!)
  • +8 new examples (for a TOTAL of+120!)

Here the list with some highlights forraylib 3.5.

  • NEWPlatform supported:Raspberry Pi 4 native mode (no X11 windows) throughDRM 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 forPS4 andPSVita.

  • NEWconfiguration options exposed: For custom raylib builds,config.h now exposesmore 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 generatesmall executables or embedded devices.

  • NEWautomatic 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 ahigh-performant alternative (msf_gif.h) that operates directly on memory... and actually works very well! Try it out!

  • NEWRenderBatch system:rlgl module has been redesigned to support customrender 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 withrlgl directly. For example, multipleRenderBatch can be created for 2D sprites and 3D geometry independently.

  • NEWFramebuffer system:rlgl module now exposes an API for customFramebuffer attachments (including cubemaps!). raylibRenderTexture 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 theG-Buffers.GenTexture*() functions have been redesigned to use this new API.

  • Improvedsoftware rendering: raylibImage*() API is intended for software rendering, for those cases whenno GPU or no Window is available. Those functions operate directly withmulti-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 likemicrocontrollers with custom displays could benefit of this raylib functionality!

  • Fileloading from memory: Multiple functions have been redesigned to load data from memory buffersinstead of directly accessing the files, now all raylib file loading/saving goes through a couple of functions that load data into memory. This feature allowscustom virtual-file-systems and it gives more control to the user to access data already loaded in memory (i.e. images, fonts, sounds...).

  • NEWWindow states management system: raylibcore module has been redesigned to support Windowstate check and setup more easily and alsobefore/after Window initialization,SetConfigFlags() has been reviewed andSetWindowState() has been added to control Window minification, maximization, hidding, focusing, topmost and more.

  • NEWGitHub Actions CI/CD system: Previous CI implementation has been reviewed and improved a lot to supportmultiple build configurations (platforms, compilers, static/shared build) and also anautomatic deploy system has been implemented to automatically attach the diferent generated artifacts to every new release. As the system seems to work very good, previous CI platforms (AppVeyor/TravisCI) have been removed.

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 is agreat improvement for raylib and marks the way forward for the library. Make sure to checkCHANGELOG for details! Hope you enjoy it!

Happy holidays! :)

Loading

raylib v3.0.0

01 Apr 09:08
7ef114d
This commit was created on GitHub.com and signed with GitHub’sverified signature. The key has expired.
GPG key ID:4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

After10 months of intense development, new raylib version is ready. Despite primary intended as a minor release, theCHANGELIST has grown so big and the library has changed so much internally that it finally became a major release. Libraryinternal ABI has received a big redesign and review, targeting portability, integration with other platforms and making it a perfect option for other progamminglanguage bindings.

  • Allglobal variables from the multiple raylib modules have been moved to aglobal 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 orRLGL.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 ahot-reloading mechanism if desired.

  • Allmemory allocations on raylib and its dependencies now useRL_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.

  • AllI/O file accesses from raylib are being moved tomemory 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 withVirtual File Systems or custom I/O file implementations.

  • Allraylib 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 tostay under 64 bytes for fast copy and retrieve.

  • Allraylib 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 newMusic structure (converted from previous pointer format) and the module has been adapted to thehighly improvedminiaudio v0.10.

  • text module reviewed toimprove fonts generation and text management functions,Font structure has been redesigned to better accomodate characters data, decoupling individual characters asImage 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.

  • NewGitHub 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! About30 new functions, multiple functions reviewed, bindings to+40 programming languages and great samples/demos/tutorialscreated by the community, including raylib integration withSpine,Unity,Tiled,Nuklear,enet andmore!

It has been10 months of improvements to create the best raylib ever.

Welcome toraylib 3.0.

Loading

raylib v2.6.0

03 Feb 17:22

Choose a tag to compare

This release is just intended to keep a tag of raylib 2.6 state before moving to the upcoming raylib 3.0 release.

On raylib 3.0 all modules globals have been moved to a global context state, using the name of the module (in capitals) as the object instance. It implied a very big refactoring of all the code, renaming ALL the global variables used in every module... but new code is more readable and global variables around the code are easily detected.

raylib 3.0 develop branch was used on GGJ2020 to develop a game and compile it for Desktop and HTML5 platforms, it worked very good. raylib 3.0 has also been tested on RaspberryPi and compiled with no errors for all CI available platforms. At this point raylib 3.0 should be stable.

From now on master branch will include this new design, a 2.6 branch will be kept for reference.

Loading
Previous13
Previous

[8]ページ先頭

©2009-2025 Movatter.jp