I started thinking about next raylib release, this time I planned to focus on library polishing and some quality-of-life changes, it will include some naming consistency changes (yeap, some API breaking) and also some new examples.
Here a list with intended improvements:
core: Support dynamic memory loading at InitWindow() (for global state) -> config.h #1240core: Support RPI4 platform through DRM #1096 core: Redesign window config flags system #1367rlgl: Support mesh instancing #1127 rlgl: Redesign GenTexture*() functions using generic implementations #721 -> Not final yet but okraymath: Review functions naming consistency #1197 textures: Unify ImageDraw*() functions with Draw*() counterpart equivalents https://github.com/raysan5/raylib/commit/b132da0ac2b0777cc965238fc3b011b1fa9b1fe5text: Avoid Image data storage on Font atlas generation -> config.haudio: Support WAV fileformat for Music streamingutils: Support VFS on LoadFileData() #1327 build: Support Continuous Deployment on GitHub Actions #1164misc: Add and improve raylib on Wikipediamisc: Support UWP again #1182 HELP WELCOME!misc: Move raylib/games to separate repo (implies web changes)Some interesting new examples I'd like to add: HELP WELCOME!
core_3d_camera_touch -> Support 3d model visualization with touch/gesture inputscore_vr_configurator -> Configure VR parameters in realtime (with raygui)textures_cubemap -> Load and display a cubemap (new API available)textures_blending_modes -> Illustrate multiple blending modes (reference)models_skybox -> Review, not working on OpenGL ES 2.0, related to Cubemapshaders_hot_reloading -> Track shader on disk with GetFileModTime() to reload itJust note that I'll keep updating this list as required!
There could be a lot to do here, might it be a good idea to divide it up amongst interested developers, this might stop people working on PR's doing the same thing...
I volunteer for this btw!
One thing I note can VFS and rres be integrated, so rres is a possible provider of a VFS
(I'm assuming by VFS you mean Virtual File System and not something else!)
@chriscamacho I edited the issue to mark the points where HELP is WELCOME! Most of the others points I think I can deal with that or they could require some API redesign.
About VFS and rres, yes that's the plan, allow seamless loading of files/data from a rres file.
I can help with the text part since I recently had to deal with that module.
Font Ligature support would be nice to have, also is there a way to get the window size after you resized it. I know raylib is using glfw underneath for the window but it doesn't seem like a lot of the window functions are exposed.
@ZelCloud Font ligature is out-of-scope. You can get window size with GetScreenWidth() and GetScreenHeight(). Yes, not al GLFW functionality is exposed... just feel free to use GLFW directly in your code, only need to include the header.
FYI just added a new section Development History to the raylib Wikipedia draft based on the releases tab and your 6 years of fun article
@Not-Nik ok, by the way, you also have that information on HISTORY.md
Hello. Just dropping a note to say that I'll be working on the textures_blending_modes example. Thanks.
audio: Support WAV fileformat for Music streaming
Possible to extend this for WAV use in general in raylib?
@rfaile313 what do you mean? WAV is already supported for Wave/Sound...
@rfaile313 what do you mean? WAV is already supported for Wave/Sound...
Doesn't it usually have issues? I thought only OGG files don't have issues?
@rfaile313 personally I hardly ever had any issue with WAV loading... 馃
EDIT: Just implemented WAV streaming, also updated used library for convenience.
Maybe I'm wrong, sorry :)
I plan to work on the textures_cubemap examples next.
Is the new API being referred to this one?
TextureCubemap LoadTextureCubemap(Image image, int layoutType)
@accidentalrebel hey! yes, but that function was not tested and it can have issues or be uncomplete. Actually, an example would be required just for that reason.
No problem. I'll give it a go and report if there are any bugs.
Just note that raylib Wikipedia entry has been improved and draft has been submitted for review and publishing. Review process could take up to seven weeks, in the meantime article can be further improved.
I'd love to see more scientific graphics available in the examples section alla GitHub.com/ProfJski/Raylib-Examples
Notes on #1327: Several Load*FromMemory() functions have been added to allow loading some types of data from a PHYSFS returned buffer. But some data types involve loading multiple files, i.e. model involves mesh/material/image files, usually referenced between them... loading all of them from memory is not trivial, a proper VFS must be setup and a proper API to access/configure it must be provided. I'm leaving it for next raylib iteration.
model_skybox (Cubemap generation and drawing) already works on OpenGL ES 2.0 (commit https://github.com/raysan5/raylib/commit/b5d50ee51afe7d30bbbcdd619534e9d4f432f4d3).
Just a note, moved raylib integration with other libraries to Wiki. It should be commented on the release!
A very nice addition would be to use the sokol gfx for the rlgl module in order to add support for metal and directx and also add support for dear imgui :) @raysan5
@gavriil07 No plans to redesign rlgl to support sokol_gfx, actually, if it was redesigned it would be to support Vulkan directly.
About Dear ImGui support, we already have c99-raylib-cimgui-template.
Hi, I don't know if you gave up on raynet but I suggest you check out enet, I believe it has everything you need. Godot uses it and League of Legends did (I don't know if they do now), so it's already been battle tested.
@masterneme thanks, I'm aware of enet, looks good... but I try to only use single-file single-header libraries with raylib. But maybe I consider it in the future.
@gavriil07 No plans to redesign
rlglto supportsokol_gfx, actually, if it was redesigned it would be to support Vulkan directly.About Dear ImGui support, we already have c99-raylib-cimgui-template.
ok, but what will happen after apple drops opengl?
@gavriil07 well, raylib won't be supported on Apple platforms until someone writes a Metal backend.
I try to only use single-file single-header libraries with raylib. But maybe I consider it in the future.
There is already a fork of single-header enet. We are using it couple of years already. However, no rush, there are few other libs, with fallback to emscripten's TCP WebSockets/WebRTC. enet is UDP only. Choose wisely.
https://github.com/zpl-c/enet
Most helpful comment
@masterneme thanks, I'm aware of
enet, looks good... but I try to only use single-file single-header libraries with raylib. But maybe I consider it in the future.