-
Notifications
You must be signed in to change notification settings - Fork 1
Application & Graphics Discussion #98
Comments
If we use a system where the |
This issue will also help resolve #92. |
This definitely seems to be the way to go. How much effort will these changes be? |
Definitely something for 2022, but I do not think it will take too long. |
I think it should be approached someting like this:
We should think about whose responsibility it is to add |
Where do the engines fit in this? |
Surely the engine is adding the entities? |
What do you mean with the engine? There is only |
So the design2D engine and base2D engine and core engine all become scenes? |
Atm each engine is basically a scene and renderer combined. |
Window activity should be stored on a stack, rather than having one pointer that points to the active window and NULL when none is active. So the most recently activated window should be on top, and the last one on the bottom. |
I had an idea for how the renderer can work, what do you think? The
So when we use it inside an entity we can use it something like this:
This way we dont have to pass the In addition to this, a difference between a 2D and a 3D The application will have |
In addition to the previous comment, I want to be more rigid with our use of For example, |
For textures (#88) we can have something like:
The resource ID will then be stored in the scene, so when you call If we want to generate two textures from the same png:
The resource ID is something that we will have to manually add to the resource handler, unless we allow Lumen to add textures via the GUI. |
Along with this we have to think of a system to handle events. |
The thing we need to keep in mind is that ImGui states only change once the renderer reaches that specific widget in the loop. Atm that is a problem since the graphics renders and then the GUI renders. But in our redesign we should not separate is this much. The graphics rendering should be called at the end of the ImGui graphics window rendering so that all of the states can be updated. This will also prevent windows that are not seen from rendering, which will be great. |
Currently the Graphics engine works by having a different engine and instantiation for each OpenGL scene, essentially combining a renderer and scene into one entity. We need to discuss if this is the best way to do it. I think how The Cherno does it is by having a renderer and passing it a scene that it wants to render to.
In addition to this, the
GUIHandler
andGraphicsHandler
are separate entities that are rendered separately. I do not think this is the best approach, these two should probably be combined in some way.The text was updated successfully, but these errors were encountered: