Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

raylib 2.5 roadmap #744

Closed
17 tasks done
raysan5 opened this issue Feb 5, 2019 · 17 comments
Closed
17 tasks done

raylib 2.5 roadmap #744

raysan5 opened this issue Feb 5, 2019 · 17 comments
Labels
enhancement This is an improvement of some feature
Milestone

Comments

@raysan5
Copy link
Owner

raysan5 commented Feb 5, 2019

Some days ago I was asked on raylib Discord about the roadmap for the next raylib version. I decided to write this recap issue just for reference.

Next release will be raylib 2.5 and here it is a list with the new features on this release (in comparison to latest raylib 2.0). Note that some features have already been implemented:

  • [core] Support custom memory allocation macros e67ebab
  • [core] Improved UWP support: inputs better integrated with raylib and msgs system implemented
  • [core] Gamepad mechanism: redesign, now common to all platforms and gamepads fc6186a
  • [core] HiDPI scaling support (issues on macOS [examples] shaders_julia_set doesn't fill screen on Macbook Retina #837) bb2841a
  • [rlgl] Complete module redesign to use one single internal buffer
  • [rlgl] Added scissor test functionality: BeginScisorMode()/EndScissorMode()
  • [rlgl] Support rlPushMatrix()/rlPopMatrix(), same as OpenGL 1.1
  • [rlgl] Multiple OpenGL ES improvements
  • [rlgl] Improved FBO API to support multiple color/depth formats db56d43
  • [rlgl] Review VR simulator system, expose parameters and externalize distortion shader 5bfa675
  • [text] Added multiple text management functions 01338b0
  • [text] Full Unicode text drawing support 9ace10f
  • [textures] Support cubemap textures generation fce48e8
  • [models] Support skeletal animations 92733d6
  • [models] Support multiple meshes per model a643dc4
  • [models] Support glTF model loading (Load glTF #842)
  • [raudio] Multiple improvements to audio module
  • [rlgl] Redesign GenTexture*() functions using generic implementations
  • [rnet] Implement basic network module (experimental version)

A part of those points, we have multiple new functions, multiple bugs corrected, multiple new bindings and multiple new examples.

Something missing? Please, drop a comment with your thoughts! :)

@raysan5 raysan5 added help needed - please! I need help with this issue question good first issue Good first issue to help with enhancement This is an improvement of some feature labels Feb 5, 2019
@Demizdor
Copy link
Contributor

Demizdor commented Feb 11, 2019

Looks good!

I know it's hardly a priority but one new feature i would like to see in 2.5 is clipboard support...glfw already has this so Windows, Linux and MacOSX are good to go, just expose the glfw functions...but i don't know how to implement it for other OS'es like Android!

@raysan5
Copy link
Owner Author

raysan5 commented Feb 11, 2019

@Demizdor Quickly added in commit e996fe2. Not tested yet...

@overdev
Copy link
Contributor

overdev commented Feb 16, 2019

Awesome.

Won't raynet module #753 be included in 2.5?

@raysan5
Copy link
Owner Author

raysan5 commented Feb 18, 2019

@overdev Not sure if it will get in...

@raysan5 raysan5 added this to the raylib 2.5 milestone Feb 18, 2019
@raysan5 raysan5 pinned this issue Feb 19, 2019
@hibengler
Copy link

I have successfully integrated raylib with

IOS - That's still needed, right?
Windows under SDL2.0,
Android via NDK
linux using GLFW
It was tricky, as SDL, GLFW, and Raylib all like to be the boss. So to merge these I added a new "PASSIVE" platform that makes raylib passive instead of actively controlling the whole screen.

This allows raylib, and native Open GL ES 2.0 code to work together or independently in the same program.
And the PASSIVE adaptation also supports implementing raylib's VR code to again, both apply to raylib, and native GLES2 code.

Right now, this code is tailored to my open source app SilentRadiance, but I intend to pull these changes and this option in with your main work.

@raysan5
Copy link
Owner Author

raysan5 commented Apr 1, 2019

Hi @hibengler!

raylib iOS support has been requested several time, that would be a great contribution to the project.
Android via NDK is already supported and GLFW is also used internally by raylib. About SDL2 implementation I understand it's used for Windowing/Context/input management, similar to GLFW?

@hibengler
Copy link

Yes, SDL 2.0 is very similar to GLFW. I also use GLFW in my app for linux, but adapted the windows variation to SDL 2.0 to take advantage of a more direct binding to Open GL ES 2.0 on Nvidia hardware, just for the speed increase compared to angle.

I will probably concentrate on iOS then.

Are there still request to improve font support? I have 2 solutions for that : libfreetype to open gl es 2.0 is the most comprehensive, and HibFonts is a fast ascii vector font. These parts aren't tied to raylib, but they could be.

@raysan5
Copy link
Owner Author

raysan5 commented Apr 23, 2019

I'm afraid rnet network module won't get into this version, sorry. :(

Also noticed several other improvements that would be great to include, specially the HiDPI support and iOS support.

@hibengler Any progress on the iOS support? About the font support improvement, for the moment are not required.

@hibengler
Copy link

Its on the list. There are two ways to do it.
I could make a SDL #define .

But for Silent Radiance, I made raylib run in a PASSIVE mode, so that my already set up engine could call raylib.

Which would you prefer?

@raysan5
Copy link
Owner Author

raysan5 commented Apr 30, 2019

@hibengler I'd like to avoid adding new dependencies to raylib. Is it possible to support iOS with no additional dependencies? Maybe just a .m entry point, similar to Android implementation?

@raysan5
Copy link
Owner Author

raysan5 commented May 1, 2019

ok, so... it seems all the issues planned for 2.5 (and some more) have been closed...

Any comments? something left out?

@raysan5 raysan5 removed good first issue Good first issue to help with help needed - please! I need help with this issue labels May 1, 2019
@a3f
Copy link
Contributor

a3f commented May 10, 2019

@jubalh
Copy link
Contributor

jubalh commented May 31, 2019

raylib 2.5.0 got released some minutes ago. Congrats!
It's already in openSUSE repos by the way!

@raysan5
Copy link
Owner Author

raysan5 commented May 31, 2019

@jubalh Thank you! :D

I'm working on the raylib 2.5 installers for Windows, hopefully available by the end of day today.

Just for reference, here it is the complete list of changes.

@raysan5
Copy link
Owner Author

raysan5 commented May 31, 2019

raylib 2.5 release.

Thanks to you all for making it possible.

@raysan5 raysan5 closed this as completed May 31, 2019
@jubalh
Copy link
Contributor

jubalh commented May 31, 2019

Just for reference, here it is the complete list of changes.

Yep, saw that :)
BTW did you change the interface of any functions? If yes, it might be cool to have an overview for people who use raylib in their projects.

And ABI breakage shouldnt be done on point library release generally. So existing functions shouldnt have their interface changed and no functions removed (ShowLogo()) Just to keep in mind :)

@raysan5
Copy link
Owner Author

raysan5 commented May 31, 2019

@jubalh Functions flagged as [REVIEWED] or [REMOVED] could have changed... but I could have missed some function...

About versioning conventions, I usually break API and ABI every new release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This is an improvement of some feature
Projects
None yet
Development

No branches or pull requests

6 participants