Stride engine startup overhaul #2493
Replies: 2 comments 3 replies
-
Beta Was this translation helpful? Give feedback.
-
For the Graphics API choice, I agree it's a bit cumbersome to have all those However, bringing everything as a dynamic choice also has some downsides:
Anyway, I am open to discussion, but having worked on it, I wanted to highlights those points. |
Beta Was this translation helpful? Give feedback.
-
Is there a chance at Stride allowing a major change for how configuration is done? Specifically things like the graphics or windowing where there are a of of pre-processor commands to determine what the engine should use.
I personally despise if defs in code and would love to start switching things over to a more dynamic approach for example:
Texture.OpenGL.cs
to something like
OpenGlTexture.cs
And then at run time I could make change to the GameContext or a new settings object that will allow the user to simply change the rendering backend with an enum or something similar to make it allow for users to add their own backends in the future. I was doing a ton of work trying to make the windowing more modular for users to take control through code and this was something that came to my mind as a possible change/improvement.
The above is a bit of a drastic example since I doubt graphics backends should change much in short periods of time but the ability to do so can still be useful for following the code path when debugging source in a less archaic way.
I fully understand that is would be a massive breaking change but I think the benefits will be huge for modularity, future plugins and code first approaches. I am also willing to take on this workload myself as a large task if it would be approved from a future PR.
Pros:
If this gets approved I will have the following steps laid out to get this started:
[] Gather specific examples like the above Texture change that would need to be mapped out and updated
[] plan out what a settings class will look like or what changes could be made to the
GameContext
[] Start?
Beta Was this translation helpful? Give feedback.
All reactions