Board index FlightGear Development Canvas

Why is canvas included on default planes?

Canvas is FlightGear's new fully scriptable 2D drawing system that will allow you to easily create new instruments, HUDs and even GUI dialogs and custom GUI widgets, without having to write C++ code and without having to rebuild FlightGear.

Why is canvas included on default planes?

Postby clrCoda » Sun Feb 15, 2015 11:14 pm

Why is canvas included on default planes? I believe the C172p options available are correct, a canvas demo and a version everyone can run. Not bad. The canvas version has a big old bug right in the middle of the yokes, seems to be a white nothing in a gray background/surounding.

The 777 on the other hand doesn't seem to give me an option, and i'm stuck with a nav display boo boo I can't seem to do anything about.

And now it seems other developers are using this 777 ND in other planes now, like 733classic. Thank goodness E-pilot has seen fit to not bother with canvas and I can get a 733 with a reasonable ND.

But does it not make sense to only include aircraft in default that make FG look like a good thing to try rather than appear buggy right off the first load for an uninitiated user?

If Canvas is known to be buggy, known to not work for everybody, then planes that are default included with FG should do like the C172P and provide the Canvas version as a demo and another version that is Canvas-less for want of a word.

Thanks -- Ray
Ray St. Marie
Posts: 1228
Joined: Wed Apr 07, 2010 11:04 am

Re: Why is canvas included on default planes?

Postby Hooray » Mon Feb 16, 2015 1:54 am

Canvas-based features aren't added to aircraft by default. Some standard aircraft may have Canvas-based features - however, that's up to aircraft developers obviously.
Otherwise, even if "Canvas" based subsystems show up in the performance monitor, that doesn't say anything about the degree of aircraft related Canvas features.
Canvas is generally just another subsystem, it is up to fgdata developers to actually use the subsystem or not.

The c172p canvas demo you are referring to, is meanwhile almost 3 years old - it was merely intended as a demo and integration example on using/adopting Canvas.
Generally, there are very few aircraft using separate -set.xml files to integrate optional features - even though this could certainly be considered a "best practice" under ideal circumstances.
The bluebird could be considered a "role model" here.

According to your description of the c72p/canvas-demo, it seems that the demo isn't working properly - either in general, or just for you.

Referring to your comments about the 777 and other airliners: modern airliners will typically have many MFDs, including a PFD, ND, EFB etc - i.e. "glass instruments" - this is something that's been missing in FlightGear for years. While hard-coded gauges using od_gauge would provide better performance, they don't scale and they were never maintained as well as any Canvas related efforts, including in particular Gijs' ND.

Getting rid of the ND and using the old ND isn't rocket science however - it is extensively documented on the wiki, and Hyde even once maintained another version in parallel.

If you disagree with the way the Canvas ND works and is being developed, you should try to provide a little more specific feedback, i.e. in terms what needs improving or what is missing.
Referring to the 777 ND being used on the 737, I think that's due to Soitanen's work IIRC - however, the early adopters of the ND were explicitly told that the 747 style would be the primary style back then.
Meanwhile, artix has also developed an Airbus style - so it would be specific to also customize the 777 style accordingly to come up with a 737 ND style.

There's really no need to use Canvas - however, if you are simply unable to use Canvas-based features, you'd be well advised to actually speak up now, because there's quite a few other places where Canvas is increasingly being used - so unless your concerns are specifically about the ND and not about compatibility/performance, I'd suggest that you try to be a little more constructive by telling us exactly what your problems are. If in doubt, I'd suggest to use the issue tracker to make bug reports and feature requests there.

Canvas is generally not known to be "buggy" at all - unlike the majority of subsystems in FlightGear, Canvas is actually well-maintained and is using modern C++/OSG code.
However, Canvas requires certain GPU-level features to be supported, this is explicitly mentioned on the wiki.

Unfortunately, you are not being really helpful here - i.e. you are not even telling us anything about your system/hardware, so that we cannot even tell you if your hardware is supported or not.
However, you should keep in mind that there simply are certain features in FlightGear that will require certain hardware support, including stuff like Rembrandt, ALS/shaders and also Canvas (FBOs for RTT).

You can use the help/about dialog to provide the requested information.

If you truly care about compatibility, you'd be well advised to actually provide much more background information, including system specs and screen shots.
Canvas itself is just an API/subsystem - and it is used elsewhere, e.g. in the map-canvas dialog, but also for tooltips and the airport selection dialog.
If those features also don't for you, it's not specific to any aircraft in particular or Canvas in general, but almost certainly due to your GPU, which would consequently also be unlikely to support other FBO/GLSL based features (e.g. Rembrandt).

Overall, Canvas use on aircraft is far from being mandatory - but it would be truly interested if you could confirm that the old hard-coded ND works for you, while the Canvas based ND (or other Canvas-based features), don't - because internally the same back-end code is being used (FGODGauge) for rendering to a texture, which means that something doesn't quite work as expected for you - presumably due to your GPU/graphics card or drivers.

If the latter should be the case, it might only take a handful of postings to exchange sufficient information to actually fix up the canvas implementation in simgear to also support your hardware.
However, that is assuming that end-users are actually getting involved, beyond just critizing a feature in general without understanding it correctly.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Posts: 11977
Joined: Tue Mar 25, 2008 8:40 am

Return to Canvas

Who is online

Users browsing this forum: No registered users and 1 guest