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 3.0 roadmap #1085

Closed
3 tasks done
raysan5 opened this issue Jan 28, 2020 · 12 comments
Closed
3 tasks done

raylib 3.0 roadmap #1085

raysan5 opened this issue Jan 28, 2020 · 12 comments

Comments

@raysan5
Copy link
Owner

raysan5 commented Jan 28, 2020

Actually raylib 3.0 is just an extension to raylib 2.6 but with some big expected changes to the ABI that require lots of redesigns. Check #911 for reference.

Three big changes for this new release:

  • Move all global variables to a global context defined by nested structs. For the moment, context will be defined by module to be self-contained and portable.
  • Complete review and rewrite of logging system. Review logging system #1065
  • Support custom memory allocators for raylib and all dependencies. Support custom memory allocators  #1074

Also considering:

I'll update this issue with further info as required.

@hbiblia
Copy link

hbiblia commented Jan 30, 2020

1 - It would be good to separate GLFW3 to easily implement other windows, such as SDL2, SOKOL_APP etc ...
2 - Separate the use of GLAD to be able to implement others.

@raysan5
Copy link
Owner Author

raysan5 commented Jan 30, 2020

@hbiblia About your points:

  1. No plans for that for the moment, you can check rayfork project for that approximation.
  2. Actually I'd like to remove GLAD and just load the required extensions manually, raylib required OpenGL functionality is very limited, on OpenGL ES 2.0 I'm already doing that...

@chriscamacho
Copy link
Contributor

have a look @ https://bitbucket.org/alfonse/glloadgen/wiki/Home
you can generate the core profile you want, then just cull all the stuff you don't need....

@brankoku
Copy link
Contributor

brankoku commented Feb 2, 2020

If big changes are coming to the ABI, this would be the perfect opportunity to switch from pass by value to pass by reference. Syntax wouldn't change much, and it's more efficient to pass pointers around instead of filling the stack up with big structures.

@chriscamacho
Copy link
Contributor

I agree with @brankoku especially for models, meshes etc...

@raysan5
Copy link
Owner Author

raysan5 commented Feb 3, 2020

@brankoku sorry, no plans for that. I already did a big refactor to reduce all structures size, usually under 64 bytes and unify all structures to be used as pass-by-value (Music was a pointer reference before), I think it's easier for students and overload shouldn't be dramatic.

@raysan5
Copy link
Owner Author

raysan5 commented Feb 3, 2020

Implemented global context state in commit 40b73a8.

@raysan5
Copy link
Owner Author

raysan5 commented Feb 3, 2020

release publish checklist: #1084

@chriscamacho
Copy link
Contributor

Just a thought, is it worth making the "context" structures non-static so more advanced users can make use of them ?

@pixelblender
Copy link

any plan for iOS support?

@raysan5
Copy link
Owner Author

raysan5 commented Feb 5, 2020

@pixelblender no plans for the moment but you can check rayfork, it supports iOS.

@raysan5
Copy link
Owner Author

raysan5 commented Mar 27, 2020

raylib 3.0 is complete.

@raysan5 raysan5 closed this as completed Mar 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants