Editor: OGRE integration
Integrate OGRE into the editor. We need to embed OGRE into a qt widget. We also need to handle the OGRE system with multiple rendering widgets (including primary rendering context issues). Also moving OGRE to a separate thread should be investigated. For now we don't need to render anything (except maybe a small test object, that can be generated procedurally).
In detail:
-
Rendering Context: We don't have single main window. Therefore the primary window given to OGRE might be destroyed at any time, while other rendering window may have to stay up. This may require a partial or complete restart of OGRE. This should be handled as smoothly as possible.
-
The main rendering loop can be a major performance killer and we do not want to affect that the rest of the editor if possible. It should be investigated if it is possible to move everything OGRE-related to a separate thread and only interact with it through Qt's signal and slot system (which takes care of synkronisation). An important point here is user input. Can we get it across the thread barrier efficient enough that for example moving around the camera stays smooth.
-
The editor needs to address the resources that are managed by OGRE in OpenMW. The logical conclusion would be to also use OGRE in the editor for this purpose. But if that proves to be burdensome other options could be investigated.
-
The implementation should respect the Model-View pattern. The same scene can be shown in multiple views. And we also will have a potentially infinite number of scenes. Edit: Actually, we each scene will be shown only in one view. There is little to gain from the Model-View pattern here. But the point about the potentially infinite number of scenes holds.
-
Within the OpenCS directory structure model/rendering and view/rendering would be good places for the code.
(RM-135 from redmine: created on 2011-08-06 by Lukasz Gromanowski, , closed on 2014-03-06 by nobody)