You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
4.7 KiB

11 months ago
11 months ago
11 months ago
  1. # raylib roadmap
  2. 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:
  3. - [GitHub Issues](https://github.com/raysan5/raylib/issues) has several open issues for possible improvements or bugs to fix.
  4. - [raylib source code](https://github.com/raysan5/raylib/tree/master/src) has multiple *TODO* comments around code with pending things to review or improve.
  5. - raylib wishlists discussions are open to everyone to ask for improvements, feel free to check and comment:
  6. - [raylib wishlist 2021](https://github.com/raysan5/raylib/discussions/1502)
  7. - [raylib wishlist 2022](https://github.com/raysan5/raylib/discussions/2272)
  8. - [raylib 5.0 wishlist](https://github.com/raysan5/raylib/discussions/2952)
  9. _Current version of raylib is complete and functional but there is always room for improvements._
  10. **raylib 5.x**
  11. - [ ] `rcore`: Support additional platforms: iOS, Xbox Series S|X
  12. - [ ] `rcore_web`: Avoid GLFW dependency, functionality can be directly implemented using emscripten SDK
  13. - [ ] `rlgl`: Review GLSL shaders naming conventions for consistency
  14. - [ ] `textures`: Improve compressed textures support, loading and saving
  15. - [ ] `rmodels`: Improve 3d objects loading, specially animations (obj, gltf)
  16. - [ ] `raudio`: Implement miniaudio high-level provided features
  17. - [ ] `examples`: Review all examples, add more and better code explanations
  18. - [ ] Software renderer backend? Maybe using `Image` provided API
  19. **raylib 4.x**
  20. - [x] Split core module into separate platforms?
  21. - [x] Redesign gestures system, improve touch inputs management
  22. - [x] Redesign camera module (more flexible) ([#1143](https://github.com/raysan5/raylib/issues/1143), https://github.com/raysan5/raylib/discussions/2507)
  23. - [x] Better documentation and improved examples, reviewed webpage with examples complexity level
  24. - [x] Focus on HTML5 ([raylib 5k gamejam](https://itch.io/jam/raylib-5k-gamejam)) and embedded platforms (RPI and similar SOCs)
  25. - [x] Additional support libraries: [raygui](https://github.com/raysan5/raygui), [rres](https://github.com/raysan5/rres)
  26. **raylib 4.0**
  27. - [x] Improved consistency and coherency in raylib API
  28. - [x] Continuous Deployment using GitHub Actions
  29. - [x] rlgl improvements for standalone usage (avoid raylib coupling)
  30. - Basic CPU/GPU stats system (memory, draws, time...) ([#1295](https://github.com/raysan5/raylib/issues/1295)) - _DISCARDED_
  31. - Software rendering backend (avoiding OpenGL) ([#1370](https://github.com/raysan5/raylib/issues/1370)) - _DISCARDED_
  32. - Network module (UDP): `rnet` ([#753](https://github.com/raysan5/raylib/issues/753)) - _DISCARDED_ - Use [nbnet](https://github.com/nathhB/nbnet).
  33. **raylib 3.0**
  34. - [x] Custom memory allocators support
  35. - [x] Global variables moved to global context
  36. - [x] Optimize data structures for pass-by-value
  37. - [x] Trace log messages redesign ([#1065](https://github.com/raysan5/raylib/issues/1065))
  38. - [x] Continuous Integration using GitHub Actions
  39. **raylib 2.5**
  40. - [x] Support Animated models
  41. - [x] Support glTF models file format
  42. - [x] Unicode support on text drawing
  43. **raylib 2.0**
  44. - [x] Removed external dependencies (GLFW3 and OpenAL)
  45. - [x] Support TCC compiler (32bit and 64bit)
  46. **raylib 1.8**
  47. - [x] Improved Materials system with PBR support
  48. - [x] Procedural image generation functions (spot, gradient, noise...)
  49. - [x] Procedural mesh generation functions (cube, sphere...)
  50. - [x] Custom Android APK build pipeline (default Makefile)
  51. **raylib 1.7**
  52. - [x] Support configuration flags
  53. - [x] Improved build system for Android
  54. - [x] Gamepad support on HTML5
  55. **raylib 1.6**
  56. - [x] Lua scripting support (raylib Lua wrapper)
  57. - [x] Redesigned audio module
  58. - [x] Support FLAC file format
  59. **raylib 1.5**
  60. - [x] Support Oculus Rift CV1 and VR stereo rendering (simulator)
  61. - [x] Redesign Shaders/Textures system -> New Materials system
  62. - [x] Support lighting: Omni, Directional and Spotlights
  63. - [x] Redesign physics module (physac)
  64. - [x] Chiptunes audio modules support
  65. **raylib 1.4**
  66. - [x] TTF fonts support (using stb_truetype)
  67. - [x] Raycast system for 3D picking (including collisions detection)
  68. - [x] Floyd-Steinberg dithering on 16bit image format conversion
  69. - [x] Basic image manipulation functions (crop, resize, draw...)
  70. - [x] Storage load/save data functionality
  71. - [x] Add Physics module (physac)
  72. - [x] Remove GLEW dependency -> Replaced by GLAD
  73. - [x] Redesign Raspberry PI inputs system
  74. - [x] Redesign gestures module to be multiplatform
  75. - [x] Module raymath as header-only and functions inline
  76. - [x] Add Easings module (easings.h)