Post FlightGear 2020.2 LTS changes: Difference between revisions

m (→‎Canvas: https://sourceforge.net/p/flightgear/mailman/message/37126793/)
Line 91: Line 91:
{{See also|Unifying the 2D rendering backend via canvas}}
{{See also|Unifying the 2D rendering backend via canvas}}
* OSG 3.6 has the text display issue <ref>https://sourceforge.net/p/flightgear/mailman/message/37126793/</ref>, currently osgText doesn't work under the ALS pipeline.  <ref>https://sourceforge.net/p/flightgear/mailman/message/37042335/</ref> one issue that seems to occur in a few places is missing text elements on cockpit devices ...  There are [https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/1362c1cf-e0e7-3774-da92-63b2720aab7f%40gmail.com/#msg36702528 issues with osgText not working in OSG &gt; 3.4.2]. We need to find a migration solution for osgText that works with Compositor and newer OSG versions <ref>https://sourceforge.net/p/flightgear/mailman/message/37047567/</ref> ... another option was creating a Canvas for each text animation, but creating a FBO for every small piece of text doesn't sound very performance-friendly. <ref>https://sourceforge.net/p/flightgear/mailman/message/37042457/</ref> We need to find some way to approximate with the old OSG text did<ref>https://sourceforge.net/p/flightgear/mailman/message/37042476/</ref>
* OSG 3.6 has the text display issue <ref>https://sourceforge.net/p/flightgear/mailman/message/37126793/</ref>, currently osgText doesn't work under the ALS pipeline.  <ref>https://sourceforge.net/p/flightgear/mailman/message/37042335/</ref> one issue that seems to occur in a few places is missing text elements on cockpit devices ...  There are [https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/1362c1cf-e0e7-3774-da92-63b2720aab7f%40gmail.com/#msg36702528 issues with osgText not working in OSG &gt; 3.4.2]. We need to find a migration solution for osgText that works with Compositor and newer OSG versions <ref>https://sourceforge.net/p/flightgear/mailman/message/37047567/</ref> ... another option was creating a Canvas for each text animation, but creating a FBO for every small piece of text doesn't sound very performance-friendly. <ref>https://sourceforge.net/p/flightgear/mailman/message/37042457/</ref> We need to find some way to approximate with the old OSG text did<ref>https://sourceforge.net/p/flightgear/mailman/message/37042476/</ref>
* [[Canvas_News#2D_Panels|Remove the 2D panel code in favour of Canvas]] (this requires completing some work to load 2D panel elements as Canvas, from XML) <ref>https://sourceforge.net/p/flightgear/mailman/message/36973988/</ref> (as of 06/2020,  Gaétan Allaert  is still working on the replacement of the 2D panel by canvas <ref>https://sourceforge.net/p/flightgear/mailman/message/37042351/</ref>) {{Progressbar|60}}<ref>https://sourceforge.net/u/gallaert/flightgear/ci/789f5bdbce10637222ffa25206938947fec4bc64/</ref>
* [[Canvas_News#2D_Panels|Remove the 2D panel code in favour of Canvas]] (this requires completing some work to load 2D panel elements as Canvas, from XML) <ref>https://sourceforge.net/p/flightgear/mailman/message/36973988/</ref> (as of 06/2020,  Gaétan Allaert  is still working on the replacement of the 2D panel by canvas <ref>https://sourceforge.net/p/flightgear/mailman/message/37042351/</ref>) {{Progressbar|80}}<ref>https://sourceforge.net/u/gallaert/flightgear/ci/789f5bdbce10637222ffa25206938947fec4bc64/</ref>
* Remove the C++ HUD in favour of Canvas-based version: this requires some kind of migration script or framework, so we have at least the default UFO HUD available <ref>https://sourceforge.net/p/flightgear/mailman/message/36973988/</ref>
* Remove the C++ HUD in favour of Canvas-based version: this requires some kind of migration script or framework, so we have at least the default UFO HUD available <ref>https://sourceforge.net/p/flightgear/mailman/message/36973988/</ref>
* Review Tim's original suggestion<ref>https://sourceforge.net/p/flightgear/mailman/message/36659646/</ref>: Another [Canvas] optimization is to use a pre-render camera that isn't in the scene graph to do the Canvas rendering. '''Otherwise the Canvas textures are rendered at least twice, in the near and far cameras'''. <ref>https://sourceforge.net/p/flightgear/mailman/message/36352621/</ref><ref>https://sourceforge.net/p/flightgear/mailman/message/37042457/</ref> Tim Moore’s canvas-rendering-on-a-pre-camera fix, again should give us a nice perf win for Canvas-intensive acft<ref>https://sourceforge.net/p/flightgear/mailman/message/36355833/</ref>, since within each camera pass (far camera, near camera), all the passes of a technique are run.<ref>https://sourceforge.net/p/flightgear/mailman/message/29563353/</ref> Also, Mathias stated once: that it would be good to be able to specify a completely different scenegraph in some subcameras, i.e. for having panel like instruments on an additional screen/display for example.<ref>https://sourceforge.net/p/flightgear/mailman/message/19718354/</ref>
* Review Tim's original suggestion<ref>https://sourceforge.net/p/flightgear/mailman/message/36659646/</ref>: Another [Canvas] optimization is to use a pre-render camera that isn't in the scene graph to do the Canvas rendering. '''Otherwise the Canvas textures are rendered at least twice, in the near and far cameras'''. <ref>https://sourceforge.net/p/flightgear/mailman/message/36352621/</ref><ref>https://sourceforge.net/p/flightgear/mailman/message/37042457/</ref> Tim Moore’s canvas-rendering-on-a-pre-camera fix, again should give us a nice perf win for Canvas-intensive acft<ref>https://sourceforge.net/p/flightgear/mailman/message/36355833/</ref>, since within each camera pass (far camera, near camera), all the passes of a technique are run.<ref>https://sourceforge.net/p/flightgear/mailman/message/29563353/</ref> Also, Mathias stated once: that it would be good to be able to specify a completely different scenegraph in some subcameras, i.e. for having panel like instruments on an additional screen/display for example.<ref>https://sourceforge.net/p/flightgear/mailman/message/19718354/</ref>