Canvas popout windows: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(https://sourceforge.net/p/flightgear/mailman/message/29609330/)
 
Line 5: Line 5:


== Problem ==
== Problem ==
It's possible to do, but it's definitely not trivial. There are two showstoppers:<ref>https://sourceforge.net/p/flightgear/mailman/message/36709634/</ref>


* Canvas uses nested cameras, not viewer-level slave cameras. You can only assign another GraphicsContext (another window) to slave cameras as nested cameras inherit their GraphicsContext from the main viewer camera. I think Tim Moore mentioned somewhere that he had a patch to move Canvas to slave cameras, but I'm not too sure.
* CameraGroup hasn't been thought out from the beginning to support dynamic creation of windows. At startup the property tree in /sim/rendering/camera-group is read and the specified windows/cameras are created. I guess supporting this would require some architectural changes to CameraGroup.


== References ==
== References ==
{{Appendix}}
{{Appendix}}

Revision as of 11:16, 13 June 2020

This article is a stub. You can help the wiki by expanding it.

Background

Currently, the GUI can only be placed inside one view/window (see Docs/README.multiscreen) but it would be nice to be able to move windows between views.[1]

Problem

It's possible to do, but it's definitely not trivial. There are two showstoppers:[2]

  • Canvas uses nested cameras, not viewer-level slave cameras. You can only assign another GraphicsContext (another window) to slave cameras as nested cameras inherit their GraphicsContext from the main viewer camera. I think Tim Moore mentioned somewhere that he had a patch to move Canvas to slave cameras, but I'm not too sure.
  • CameraGroup hasn't been thought out from the beginning to support dynamic creation of windows. At startup the property tree in /sim/rendering/camera-group is read and the specified windows/cameras are created. I guess supporting this would require some architectural changes to CameraGroup.

References

References