Read canvas image by HTTP: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 13: Line 13:
-->
-->
}}
}}
== Problem ==
a modern biz jet will need to be able to display certain MFDs - fgpanel is not too useful for that (unless you are primarily dealing with steam gauges) - the most useful search terms for the forum/wiki will be '''Phi''' and '''FGCanvas''' - the latter of which is a special startup mode of FlightGear itself that can render Canvas based MFDs in a separate instance.
If you don't need fancy MFDs, you could probably use fgfs standalone and/or fgpanel. Phi has the lowest barrier to entry probably for people familiar with HTML and JavaScript, i.e. you don't even need to know much about fgfs.
The Canvas stuff will really only be needed if you want to render things like the 747 PFD/ND or CDU in a distributed fashion, i.e. using multiple independent displays.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=287810#p287810
  |title  =  <nowiki> Re: Instruments on a second monitor </nowiki>
  |author =  <nowiki> Hooray </nowiki>
  |date  =  Jun 6th, 2016
  |added  =  Jun 6th, 2016
  |script_version = 0.40
  }}</ref>
you should be aware of glass cockpit related efforts, especially Canvas - most airliners and jets will sooner or later benefit from being ported to Canvas, e.g. to use Gijs' NavDisplay framework, or at least Philosopher's MapStructure framework for mapping purposes.
Thus, if this is also about the actual display itself, people should be aware of related canvas efforts, especially FGCanvas: [[FGCanvas]]
The my mid-term plan involves supporting a standalone mode for all Canvas-based glass instruments, including the ND, but also other instruments like the PFD, EICAS, CDU or EFB. This may sound like a lot of work, but it's  mainlyy a matter of introducing a a few helper classes and ensuring that people actually adopt and use those.
In the long-term, we really want to support distributed FlightGear setups like those at FSWeekend/LinuxTag, where multiple computers may be used to run a single simulator session - including properly synchronized glass instruments like the PFD/ND etc. This would also help improve the multiplayer experience, especially dual-pilot setups etc.
Regarding a pure panel with switches, kobs and buttons, we'd prefer something like that to be aircraft-agnostic, i.e. just consist of property-mapped controls that can be individually assigned, so that this could be reused for other MFDs, not just the ND - but also the PFD or EFB.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=211984#p211984
  |title  =  <nowiki> Re: computer2cockpit </nowiki>
  |author =  <nowiki> Hooray </nowiki>
  |date  =  Jun 7th, 2014
  |added  =  Jun 7th, 2014
  |script_version = 0.40
  }}</ref>
There's the long-term plan to eventually port FGPanel back into FG and come up with some sort of "FGCanvas" mode, where Canvas-based displays could be run in a separate "standalone" mode and interface to the main/master FG instance.
I don't think that the Canvas system currently builds against just OpenGL ES - but it should be possible to identify problematic use-cases and make the Canvas support OpenGL ES by setting some OSG traits accordingly - at some point, i.e. 12+ months from now
In general, it pays off to unify things - otherwise, there's lots of duplication and re-invention involved.
Technically, we could definitely run an OpenGL ES-based Canvas on a mobile device, we just need people interested in pursuing this and playing with it - as well as report any issues/showstoppers
Such an integrated solution would also make it possible to show any canvas texture (instrument, dialog/window, MFD etc) on external devices:
[[File:Navigation display centered MAP mode.png|250px]]
[[FGCanvas]]<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=199081#p199081
  |title  =  <nowiki>  & OpenGL ES (Rasberry PI, Android etc) </nowiki>
  |author =  <nowiki> Hooray </nowiki>
  |date  =  Jan 28th, 2014
  |added  =  Jan 28th, 2014
  |script_version = 0.40
  }}</ref>


== Objective ==
== Objective ==
Line 126: Line 76:
   |date  =  Mar 18th, 2014  
   |date  =  Mar 18th, 2014  
   |added  =  Mar 18th, 2014  
   |added  =  Mar 18th, 2014  
  |script_version = 0.40
  }}</ref>.
== Problem ==
a modern biz jet will need to be able to display certain MFDs - fgpanel is not too useful for that (unless you are primarily dealing with steam gauges) - the most useful search terms for the forum/wiki will be '''Phi''' and '''FGCanvas''' - the latter of which is a special startup mode of FlightGear itself that can render Canvas based MFDs in a separate instance.
If you don't need fancy MFDs, you could probably use fgfs standalone and/or fgpanel. Phi has the lowest barrier to entry probably for people familiar with HTML and JavaScript, i.e. you don't even need to know much about fgfs.
The Canvas stuff will really only be needed if you want to render things like the 747 PFD/ND or CDU in a distributed fashion, i.e. using multiple independent displays.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=287810#p287810
  |title  =  <nowiki> Re: Instruments on a second monitor </nowiki>
  |author =  <nowiki> Hooray </nowiki>
  |date  =  Jun 6th, 2016
  |added  =  Jun 6th, 2016
  |script_version = 0.40
  }}</ref>
you should be aware of glass cockpit related efforts, especially Canvas - most airliners and jets will sooner or later benefit from being ported to Canvas, e.g. to use Gijs' NavDisplay framework, or at least Philosopher's MapStructure framework for mapping purposes.
Thus, if this is also about the actual display itself, people should be aware of related canvas efforts, especially FGCanvas: [[FGCanvas]]
The my mid-term plan involves supporting a standalone mode for all Canvas-based glass instruments, including the ND, but also other instruments like the PFD, EICAS, CDU or EFB. This may sound like a lot of work, but it's  mainlyy a matter of introducing a a few helper classes and ensuring that people actually adopt and use those.
In the long-term, we really want to support distributed FlightGear setups like those at FSWeekend/LinuxTag, where multiple computers may be used to run a single simulator session - including properly synchronized glass instruments like the PFD/ND etc. This would also help improve the multiplayer experience, especially dual-pilot setups etc.
Regarding a pure panel with switches, kobs and buttons, we'd prefer something like that to be aircraft-agnostic, i.e. just consist of property-mapped controls that can be individually assigned, so that this could be reused for other MFDs, not just the ND - but also the PFD or EFB.<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=211984#p211984
  |title  =  <nowiki> Re: computer2cockpit </nowiki>
  |author =  <nowiki> Hooray </nowiki>
  |date  =  Jun 7th, 2014
  |added  =  Jun 7th, 2014
   |script_version = 0.40  
   |script_version = 0.40  
   }}</ref>
   }}</ref>
.
 
There's the long-term plan to eventually port FGPanel back into FG and come up with some sort of "FGCanvas" mode, where Canvas-based displays could be run in a separate "standalone" mode and interface to the main/master FG instance.
 
I don't think that the Canvas system currently builds against just OpenGL ES - but it should be possible to identify problematic use-cases and make the Canvas support OpenGL ES by setting some OSG traits accordingly - at some point, i.e. 12+ months from now
In general, it pays off to unify things - otherwise, there's lots of duplication and re-invention involved.
 
Technically, we could definitely run an OpenGL ES-based Canvas on a mobile device, we just need people interested in pursuing this and playing with it - as well as report any issues/showstoppers
Such an integrated solution would also make it possible to show any canvas texture (instrument, dialog/window, MFD etc) on external devices:
 
[[File:Navigation display centered MAP mode.png|250px]]
 
[[FGCanvas]]<ref>{{cite web
  |url    =  https://forum.flightgear.org/viewtopic.php?p=199081#p199081
  |title  =  <nowiki>  & OpenGL ES (Rasberry PI, Android etc) </nowiki>
  |author =  <nowiki> Hooray </nowiki>
  |date  =  Jan 28th, 2014
  |added  =  Jan 28th, 2014
  |script_version = 0.40
  }}</ref>
 


== Implementation ==
== Implementation ==

Navigation menu