FlightGear Newsletter March 2012: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
Line 53: Line 53:


(development discussion and download is found in the [http://flightgear.org/forums/viewtopic.php?f=6&t=15754 Forum ]).
(development discussion and download is found in the [http://flightgear.org/forums/viewtopic.php?f=6&t=15754 Forum ]).
=== Flightgear gets shadows and lights ===
The Rembrandt project, that began as a proof-of-concept mock-up and was hosted in a separate repository tree, is being merged into the main repository. A new switch (--enable-rembrandt or --prop:/sim/rendering/rembrandt=true for fgrun) is available to start FlightGear with the new renderer. Without the switch, the scene should be displayed as usual. With the switch on you can get that :
[[File:Rembrandt-vinson-iar80.jpg|640px]][[File:Rembrandt-ksfo-iar80.jpg|640px]]
or that :
[[File:Rembrandt-ksfo-night-iar80.jpg‎|640px]][[File:Rembrandt-ksfo-night-hurricane.jpg|640px]]
The renderer as several know bugs (shadow disappears at angle, x/X shows color artifacts, ...) and few models and shaders are ready for the new renderer. A [[Project Rembrandt|wiki page]] collects the technical details of the project and should help designers to convert their models. Don't hesitate to contribute to that page to bring clarification if needed.


=== Mailing list digest ===
=== Mailing list digest ===

Revision as of 11:37, 1 April 2012

Magagazine.png
Welcome to the FlightGear Newsletter!
Please help us write the next edition!
Enjoy reading the latest edition!


We would like to emphasize that the monthly newsletter can not live without the contributions of FlightGear users and developers. Everyone with a wiki account (free to register) can edit the newsletter and every contribution is welcome. So if you know about any FlightGear related news or projects such as for example updated scenery or aircraft, please do feel invited to add such news to the newsletter.

Development news

FlightGear and HLA (High Level Architecture)

When reading the FlightGear forums or the FlightGear developers mailing list, you'll probably have noticed the term "HLA" being brought up more and more often recently.

In fact, FlightGear core developers and other contributors seem to bring it up whenever somebody asks about better FlightGear modularization, better concurrency support (i.e. using all your idle CPU power), but also better overall frame rates or a more consistent multiplayer experience and weather environment.

It seems as if "HLA" is the swiss army knife to deal with many long-time FlightGear challenges.

So, what is HLA after all?

In short: HLA, "High Level Architecture", is an industry standard (IEEE 1516) to standardize interactions between component-based simulation architectures in a distributed setup.

Now, that's a mouthful, right?

Let's try to describe the thing in simpler terms: Most programs (like FlightGear) have a single large code base where all subsystems get their processing time assigned by so called "main loop" which sequentially iterates over all systems and calls their "update" routine, to give each system time to do its work (update weather, update GUI, update AI, update FDM, update sound etc).

Unfortunately, this also means that every subsystem running as part of the main loop has a direct effect on the simulation frame rate, i.e. the total run time cost of each complete update iteration is determined by the time spent in each individual routine. Because of this, the total update time adds up; all the work of the FDM, sound, AI, GUI... these add up to framerate losses.

Basically, all the work FlightGear has to do are separate subroutines systems -and having more of them and more information to run directly affects framerates in-sim.

Whenever you add a new system, you need to add it to the program's main loop and add new source files to the code base of the program. This involves rebuilding FlightGear from source.

In HLA, the general idea is to split up a large simulation into a subset of smaller simulations which are interlinked exchanging information (objects and events) to create a consistent simulation environment using a well-defined interface. This division makes it possible to run these simulations in different thread or even in different processes, even running on other computers.

Only the information that is really required will be exchanged, so the exchange of this information is the only run time footprint, each simulation is responsible to compute and update its own state.

Communications between each simulation node take place using a computer network and an API (similar to CORBA). All participating simulations are managed by a central component called the "Run-Time Infrastructure" (RTI). The RTI monitors the overall simulation and manages the distribution of data between all individual nodes, which are called "federates". The simulation in its entirety is called a "federation" in HLA.

We have started a new article and copied earlier announcements and postings to it; please see FlightGear HLA support (High Level Architecture) for more information.


Flightgear goes to Space, Part II

Coded in less than 8 hours, the Earthview orbital terrain rendering engine is an addon to Flightgear which allows to use orbital phototextures (such as the NASA Pale Blue Marble) on top of the default Flightgear terrain. Combined with the skydome scattering shader, this improves the realism of the visuals of orbital flight in Flightgear substantially.

Earthview07.jpgEarthview06.jpgEarthview05.jpg

With some additional patches, finally Vostok-1 is free from the 150 km altitude restriction and can enter high orbits of several hundred km above the planet.

Earthview09.jpgEarthview10.jpgEarthview11.jpg

Hopefully this will trigger some activity on the modeller side to add a few more spacecraft to the Flightgear experience!

(development discussion and download is found in the Forum ).

Flightgear gets shadows and lights

The Rembrandt project, that began as a proof-of-concept mock-up and was hosted in a separate repository tree, is being merged into the main repository. A new switch (--enable-rembrandt or --prop:/sim/rendering/rembrandt=true for fgrun) is available to start FlightGear with the new renderer. Without the switch, the scene should be displayed as usual. With the switch on you can get that :

Rembrandt-vinson-iar80.jpgRembrandt-ksfo-iar80.jpg

or that :

Rembrandt-ksfo-night-iar80.jpgRembrandt-ksfo-night-hurricane.jpg

The renderer as several know bugs (shadow disappears at angle, x/X shows color artifacts, ...) and few models and shaders are ready for the new renderer. A wiki page collects the technical details of the project and should help designers to convert their models. Don't hesitate to contribute to that page to bring clarification if needed.

Mailing list digest

(by far the easiest option to populate the newsletter with contents is copying/pasting stuff from the forum and the mailing list)

Forum digest

Git digest

Interview with a contributor (NAME)

In each edition we have an interview with a contributor. Suggestions for possible questions are available on interview questions, you are invited to come up with new questions and interview ideas obviously! Anyone is free to write an interview (with him-/herself or others) for next month's newsletter! If you'd like to help interview a contributor or get interviewed, please do consider adding yourself to the list of interview volunteers! To keep this going and less awkward, we are currently trying to come up with the convention that former interviewees become next month's interviewers.

  • How long have you been involved in FlightGear?
  • What are your major interests in FlightGear?
  • What project are you working on right now?
  • What do you plan on doing in the future?
  • Are you happy with the way the FlightGear project is going?
  • What do you enjoy most about developing for FlightGear?
  • Are there any "hidden features" you have worked on in FlightGear that new users may miss?
  • What advice can you give to new developers who want to get started on their first aircraft/new feature/Nasal script?

More questions are being collected here: Interview questions.

Stay tuned for next month's interview, featuring FlightGear contributor XXXXXXXX

Snapshot releases

Every now and then, easy-to-install development snapshots are created (usually, twice montlhy). These snapshos depict a recent state of the development version of FlightGear. By using them users can test out features that will be included in the upcoming release. Testers are encouraged to file bugs at the issue tracker.

The snapshot can be download via the links at the bottom of this page: http://www.flightgear.org/download/. Updates and feedback can be found at the forum.

Nasal for newbies

New software tools and projects

FlightGear addons and mods

In the hangar

All the way back in May 2011, we addopted a new status-rating system for aircraft. So far, only a few have actually been rated, as can be seen in the list 'hockenberry' set up at Google Docs. If you're an aircraft developer and your aircraft is/are not on the list, please consider rating their status. All you'll need to know/do is described at Formalizing Aircraft Status. If you'd just like to get started contributing to FlightGear, this would also seem like an excellent way to get started.

New aircraft

Updated aircraft

Airbus A320neo

The Airbus A320neo have suffer a deep redesign.

Liveries

Scenery corner

KMIA preview in Sketchup

KMIA

Andyramone has returned from a 1 year Flightgear hiatus to work on modelling the Miami International Airport (KMIA.) There is a basic model already built for the main terminal, which will be available via Terrasync mid-march.

The plan is then to work on improving the model by adding more accurate textures, night textures, movable jetways, and a more accurate airport layout, with the potential to move to a 8.50 airport layout. The surrounding hangars, buildings and Cargo hangar to the south will also be added as they are built.

All models will be GPL compliant and available via Terrasync.

TerraGear GUI updates

Over the past months, the TerraGear GUI, a graphical interface that allows you to generate FlightGear scenery, has been updated to version 0.9.0. This latest version brings support for X-Plane's (and future FlightGear's) 850 apt.dat format. This format allows airport designers to create curved taxiways, accurate lining and lighting, a custom airport boundary and much more.

Altough the 850 support is still a work in progress, it's majure enough to be tested by the average FlightGear contributor. See TerraGear GUI for more details and (download) instructions.

Aircraft of the month

The improved A320 (Airbus A320 Family and Airbus A320neo) are the Aircraft of March.

EmbedVideo was given an illegal value for the alignment parameter "Aircraft of the Month - Airbus A320 Family/NEO". Valid values are "left", "center", "right", or "inline".

Airport of the month

EPWA night.png EPWA service.png

Warsaw Chopin Airport (EPWA) is the busiest airport in Poland.
Chopin Airport is included in the Poland scenery, which is available at [1]. EPWA scenery contains:

  • custom airport layout (v.810)
  • signs
  • terminals, hagars, tower models
  • day/night photorealistic textures
  • details like custom lamps
  • airport service vehicles(ot-666 models)

Screenshot of the month

Piper Comanche 250 off the coast of San Diego.

Comanche1.jpg

Suggested flights

Searching Wizard Island

  • USA, Oregon, Klamath County

With one VORTAC behind our back we do an IFR/VFR search of Wizard Island, a mysterious place, a sacred place for native Americans. You might even find the Old Man of the Lake.

Don't pull up the map, that would spoil the surprise but I promise unique views. We will land on a short lawn runway. Terrain altitude will range from 4,000 to a max of 8,930 feet and down again. Total length of the trip will be about 50 NM. Select your aircraft with care. It must have one working navigational radio (VOR-DME), a strong engine, a strong undercarriage, must be capable of a good climb and a steep descend. I suggest to use Fair weather (Environment=>Global Weather). If needed remove some clouds (View=>Rendering Options=>Slider 3d Clouds to the left).

Mount Scott (8929 feet) just after depart from 2S7 (Two Sierra Seven). Wizard Island is just to the North-West of it.
  • Park your aircraft on 2S7 (Two Sierra Seven), Chiloguin-State.
  • Set NAV1 on 115.9 (Klamath Falls VORTAC) and on radial 323o (Magnetic). We are at an elevation of 4,217 feet. Set QNH. Set heading bug at 275o (Magn).
  • Take off an fly the course set with the heading bug.
  • Intercept the radial.
  • Monitor distance and you will find Wizard Island at 50 NM from Klamath Falls. The island has an elevation of 6,673 feet. I suggest a full 360o turn, take pictures.
  • Set radial 318o, keep the same frequency. Do a new radial intercept.
  • Try and find the airstrip (3S6, Three Sierra Six, Toketee-State) at 71 NM from Klamath Falls with an elevation of 3,361 feet, runway heading 275o (Magn). There are bumps around you should avoid.
  • If you are capable of finding the island, finding the airstrip and landing without a crash, in one go..., you are a wizard.

Click this link after you have landed so you know what amazing landscape you have seen.

Aircraft reviews

Wiki updates

New articles

<DynamicArticleList>

 type=new
 count=10

</DynamicArticleList>

New aircraft articles

<DynamicArticleList>

 type=new
 count=10
 categoryRoot=Aircraft

</DynamicArticleList>

Most popular newsletters

<DynamicArticleList>

 type=hot
 count=5
 categoryRoot=FlightGear Newsletter

</DynamicArticleList>

Community news

FlightGear on YouTube

ATC Session at Schiphol by Omega - 1 hour of ATCing into 4 minutes of video.

New tutorials and screencasts

FlightGear HowTo #23: Installing Aircraft (Revisited) & GIT plane downloading! by Osjcag - How to download aircraft for FlightGear 2.0/2.4/2.6

Forum news

Multiplayer

Virtual airlines

FlightGear events

Useful links

And finally ...

Contributing

One of the regular thoughts expressed on the FlightGear forums is "I'd like to contribute but I don't know how to program, and I don't have the time". Unfortunately, there is a common mis-conception that contributing requires programming and lots of free time. In fact, there are a huge range of ways to contribute to the project without needing to write code or spending days working on something.

For ideas on starting to contribute to FlightGear, you may want to check out: Volunteer.

Call for volunteers

  • The OpenRadar project is looking for a new maintainer.
  • The FGFSPM (FlightGear Package Manager) is looking for a new maintainer.

Did you know

Torsten recently in Git-a new internal command: property-interpolate [2].

This exposes the SGInterpolator subsystem to bindings in xml animation files. The SGInterpolator allows the interpolation of property values over time and has so far been used via Nasal in aircraft.door.

For an example, start the Hansajet from git (fgfs --aircraft=Hansajet) and zoom to the gyrosyn heading indicator left of the HSI. Locate the black/white knob with "VOR" and "ADF" written on it. Click it (it swaps the assignment of the needle-driving sources) and notice that it does rotate smoothly to its new position (it's a 2-position toggle knob).

Now, look at the overhead panel, either by paning the view up and right or by pressing shift-v on the keyboard. Locate the six rotary buttons GEN.1, GEN.2, ALT.1, ALT.2 and the two between the AC and DC instruments. Move them by clicking their left/right edges. Notice they move smoothly instead of jumping to the new position.

Thats done completely without Nasal but from just a few lines in the animation files. Basically, you have to add two bindings to the <pick> animation: 1. property-assing the target value describing the state of the button

   (that's what you are used to do)

2. property-interpolate the position of the model to it's new state's value

   (that's the new binding to add)

3. Animate the model's rotation from the position property, not the state property

   (that's what you have to change)

4. done.

(see the animations for the object SyncKnob and SyncKnobPick.[LR] in Aircraft/Hansajet/Models/Sperry-C-6d.xml as an example).

The use of the property-interpolate may be:

Change the value of /some/target/property to the constant value of 100.0 over 3 seconds.

<binding>
   <command>property-interpolate</command>
   <property>/some/target/property</property>
   <value>100.0</value>
   <time>3</time>
</binding>

Change the value of /some/target/property to the value of /some/source/property over 0.5 seconds.

<binding>
   <command>property-interpolate</command>
   <property>/some/target/property</property>
   <property>/some/source/property</property>
   <time>0.5</time>
</binding>