Split the GameView code to support different rendering classes
Currently there is only one GameView renderer with two different code paths for OpenGL and SDL rendering. This class is responsible for rendering the complete game, the minimap and watchwindows. The current system is difficult to extend for more advanced renderers.
Rewrite the code the following way:
Make GameView a base class and move code to two different classes GameViewOpenGlBasic and GameViewSDL. GameView is the base class of them.
Create a Class GameViewManager which allow registering different GameView classes. In the game a renderer can be chosen from different available (and compatible with graphic mode).
The Base class should provide functions the get
- name of the renderer
- if it is compatible with current graphic mode
- A common interface called to render the game
Blueprint information
- Status:
- Started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Started
- Milestone target:
- None
- Started by
- Shevonar
- Completed by
Whiteboard
Work Items
Dependency tree
* Blueprints in grey have been implemented.