Board index FlightGear Development Aircraft

757

Questions and discussion about creating aircraft. Flight dynamics, 3d models, cockpits, systems, animation, textures.

Re: 757

Postby Octal450 » Mon Feb 08, 2021 5:47 pm

zakalawe wrote in Mon Feb 08, 2021 4:00 pm:At least my copy of the 737 technical manual (the Chris Brady one) shows about four or five variants of the ADI in the 737 Classics, and that they were customer selectable options.

Dear friend, this is the 757/767, no any 737. :) While some aspects of instrumentation were similar, also some are not.

See the post of legoboyvdlp.

Kind Regards,
Josh
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5565
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: 757

Postby zakalawe » Tue Feb 09, 2021 12:07 pm

Octal450 wrote in Mon Feb 08, 2021 5:47 pm:While some aspects of instrumentation were similar, also some are not.


I think my point is: in terms of the code internals, these are just minor variations, so I would hate someone to do all of the effort of making a Canvas ADI for the 757/767 and *not* make it able to handle the 737-Classic variants as well. It's going to be 90% the same stuff, just with some toggles to change if we use a tape or pointer, round or 'rounded' circle, etc, etc. From doing the ISFD for the 737-NG, I'm pretty happy I could make such an ADI, but I kind of figured someone must have already done it.
zakalawe
 
Posts: 1259
Joined: Sat Jul 19, 2008 5:48 pm
Location: Edinburgh, Scotland
Callsign: G-ZKLW
Version: next
OS: Mac

Re: 757

Postby Octal450 » Tue Feb 09, 2021 4:43 pm

Yes, that is a fine idea.

Kind Regards,
Josh
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5565
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: 757

Postby Hooray » Sun Mar 14, 2021 12:50 pm

Octal450 wrote in Mon Feb 08, 2021 3:05 pm:No, the 757 (and 767) both had either a round ADI with a fast/slow indicator or a non-round ADI with a speed tape. That's all. In FG there is no canvas one.


We've been having these discussions repeatedly, even in the pre-Canvas days.
Basically, a 3D ADI ball is ideally not done in Nasal/Canvas space using the existing drawing primitives.

Thorsten has repeatedly pointed out the shortcomings of this approach based on his own experience coding the shuttle's ADI ball:
https://wiki.flightgear.org/Shuttle_ADI_ball
Image

Others have been wanting to implement a 3D animated sphere-based instrument using properties for space craft (space ship one, vostok).

Given the amount of work involved in using Nasal/Canvas for this (and given the performance implications of doing so), it would be less work to extend the Canvas system to add a dedicated element for loading/transforming arbitrary 3D models using an osg::PositionAttitudeTransformMatrix that is bound to a handful of properties using either tied properties or James' propertyObject<> templates (C++ patch available):

https://wiki.flightgear.org/Howto:Exten ... _3D_models
Image

Alternatively, a while ago I was approached by another user who needed better plotting support inside FlightGear, i.e. beyond what Canvas.Path provides.

There's an OpenGL/GLSL-aware cross-platform variant of gnuplot available called "MathGL".
And we prototyped a simple Canvas element back in 2016, i.e. as another canvas drawing primitive (mode), just for plotting.

It's actually surprisingly straightforward, i.e. just the usual boilerplate to create/register a new Canvas element (not unlike the tail cam/view camera), but with a handful of properties to instead render a bunch of graphs to a texture (actually an osg::Image).

MathGL cannot only display hard-coded functions, but also take functions as strings and/or use gnuplot-like scripts.
So, displaying a sine() function is the same amount of work as displaying a full 3D mesh (no C++ changes at all):

https://wiki.flightgear.org/Howto:Exten ... ort_MathGL
Image

Image

MathGL is also sufficiently flexible to also render fairly complex plots, including spheres - without requiring to go through Canvas.Path at all.
Which means zero Nasal/property overhead at all. This is all going through native C++/C code and the calculation can even be threaded out, too.

http://mathgl.sourceforge.net/doc_en/ea ... rth-sample
Image

Additional screen shots here: http://mathgl.sourceforge.net/doc_en/Pi ... l#Pictures

So for more sophisticated plotting needs, this might become a neat option to reduce/avoid unnecessary Nasal and Property tree overhead.
Implementing a 3D ADI ball in Canvas space given our current drawing primitives is almost certainly not what we want to do - if in doubt, check back with Thorsten and the ADI ball on the shuttle :wink:

Again, look at the amount of code in Thorsten's code versus the 200 lines of C++ code to load/transform and render an arbitrary 3D model from disk.
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,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: 757

Postby Octal450 » Sun Mar 14, 2021 3:21 pm

Just pointing out that that issue exists because its trying to display a curved globe on a flat screen. BUT! Normal airliner displays don't have such a thing, they're flat, and thus can be done VERY VERY VERY VERY VERY VERY VERY EASILY in Nasal/Canvas with pretty much 0 impact even on an ancient PC. Its literally just a translation and rotation.

Kind Regards,
Josh
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5565
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: 757

Postby Hooray » Sun Mar 14, 2021 3:25 pm

right, as long as you don't need a real 3D ADI ball, as per the shuttle/spaceship one - look at Thorsten's code to see for yourself :lol:
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,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: 757

Postby Johan G » Mon Mar 22, 2021 1:23 pm

Hooray wrote in Sun Mar 14, 2021 3:25 pm:[...] as long as you don't need a real 3D ADI ball, as per the shuttle/spaceship one [...]

Which is really not meant to be a plain 3D projection though. :wink:
Image
Untitled by Walter Scriptunas II, on Flickr (Endeavour PFD)
Low-level flying — It's all fun and games till someone looses an engine. (Paraphrased from a YouTube video)
Improving the Dassault Mirage F1 (Wiki, Forum, GitLab. Work in slow progress)
Some YouTube videos
Johan G
Moderator
 
Posts: 6625
Joined: Fri Aug 06, 2010 6:33 pm
Location: Sweden
Callsign: SE-JG
IRC name: Johan_G
Version: 2020.3.4
OS: Windows 10, 64 bit

Previous

Return to Aircraft

Who is online

Users browsing this forum: No registered users and 7 guests