mirror of
https://github.com/raysan5/raylib.git
synced 2026-03-19 15:18:11 +00:00
5.6 KiB
5.6 KiB
raylib roadmap
Here is a wishlist with features and ideas to improve the library. Note that features listed here are usually long term improvements or just describe a route to follow for the library. There are also some additional places to look for raylib improvements and ideas:
- GitHub Issues has several open issues for possible improvements or bugs to fix.
- GitHub PRs open with improvements to be reviewed.
- raylib source code has multiple TODO comments around code with pending things to review or improve.
- raylib wishlists discussions are open to everyone to ask for improvements, feel free to check and comment:
Current version of raylib is complete and functional but there is always room for improvements.
raylib 7.0
rcore_desktop_win32: Improve new Windows platform backend - inputs, highdpircore_desktop_emscripten: Improve new Web platform backend - inputs, highdpircore_desktop_cocoa: Create additional platform backend: macOSrcore_desktop_x11: Create additional platform backend: Linux/X11rcore_desktop_wayland: Create additional platform backend: Linux/Waylandrcore: Investigate alternative embedded platforms and realtime OSsrlsw: Software renderer optimizations: mipmaps, platform-specific SIMDrtextures: Consider moving N-patch system to separate examplertextures: Review blending modes system, provide more options or better samplesraudio: Support microphone input, basic API to read microphonerltexgpu: Improve compressed textures support, loading and saving, improve KTX 2.0rlobj: Create OBJ loader, supporting material file separately (low priority)
raylib 6.0
rlsw: New Software Renderer backend, pseudo-OpenGL 1.1 implementationrcore_emscripten: New emscripten-only backend, avoiding GLFW dependencyrlgl: Review GLSL shaders naming conventions for consistency, redesigned shader APIrmodels: Improve 3d objects loading, specially animations (obj, gltf)examples: Review all examples, add more and better code explanations
raylib 5.0
- Split core module into separate platforms?
- Redesign gestures system, improve touch inputs management
- Redesign camera module (more flexible) (#1143, https://github.com/raysan5/raylib/discussions/2507)
- Better documentation and improved examples, reviewed webpage with examples complexity level
- Focus on HTML5 (raylib 5k gamejam) and embedded platforms (RPI and similar SOCs)
- Additional support libraries: raygui, rres
raylib 4.0
- Improved consistency and coherency in raylib API
- Continuous Deployment using GitHub Actions
- rlgl improvements for standalone usage (avoid raylib coupling)
- Basic CPU/GPU stats system (memory, draws, time...) (#1295) - DISCARDED
- Software rendering backend (avoiding OpenGL) (#1370) - DISCARDED
- Network module (UDP):
rnet(#753) - DISCARDED - Use nbnet.
raylib 3.0
- Custom memory allocators support
- Global variables moved to global context
- Optimize data structures for pass-by-value
- Trace log messages redesign (#1065)
- Continuous Integration using GitHub Actions
raylib 2.5
- Support Animated models
- Support glTF models file format
- Unicode support on text drawing
raylib 2.0
- Removed external dependencies (GLFW3 and OpenAL)
- Support TCC compiler (32bit and 64bit)
raylib 1.8
- Improved Materials system with PBR support
- Procedural image generation functions (spot, gradient, noise...)
- Procedural mesh generation functions (cube, sphere...)
- Custom Android APK build pipeline (default Makefile)
raylib 1.7
- Support configuration flags
- Improved build system for Android
- Gamepad support on HTML5
raylib 1.6
- Lua scripting support (raylib Lua wrapper)
- Redesigned audio module
- Support FLAC file format
raylib 1.5
- Support Oculus Rift CV1 and VR stereo rendering (simulator)
- Redesign Shaders/Textures system -> New Materials system
- Support lighting: Omni, Directional and Spotlights
- Redesign physics module (physac)
- Chiptunes audio modules support
raylib 1.4
- TTF fonts support (using stb_truetype)
- Raycast system for 3D picking (including collisions detection)
- Floyd-Steinberg dithering on 16bit image format conversion
- Basic image manipulation functions (crop, resize, draw...)
- Storage load/save data functionality
- Add Physics module (physac)
- Remove GLEW dependency -> Replaced by GLAD
- Redesign Raspberry PI inputs system
- Redesign gestures module to be multiplatform
- Module raymath as header-only and functions inline
- Add Easings module (easings.h)