Jump to content

Why does FlightGear scenery load so good?


il88pp

Recommended Posts

Maybe a question for Thorsten. Or maybe someone else knows too.

 

When I used FlightGear, I was amazed a the scenery. Lights on roads at night. Shadows. And buildings to the horizon, not just in a circle around the aircraft. No 'popping scenery'.

 

What's the secret? Why does everything load so effortlessly?

 

Is it because of low resolution texture files? Or does FlightGear perhaps make use of multi core?!

 

(And related to multi core, when did FlightGear see the light of day. When was version 1 created I mean. (as fs was too late to get onboard the multi core train.))

 

thanks,

il.:D

[sIGPIC][/sIGPIC]
Link to comment
Share on other sites

I don't know the full answer to the scenery question, but they use a different mechanism than FS does. FS was locked in to the way that Bruce Artwick (subLogic) did it back around 1980 for the Apple II and TRS-80, until 2000. Oh, they made some changes, but it still used a tiled approach. FS2000 changed the scenery model a lot, using elevation data for the first time, but airports themselves are still flat.

 

Flight Gear was first released in 1997. The first version I tried (something prior to 1.0) had sloping runways, unlike the tile mechanism in FS, but was still crude. It's much more usable now, and a LOT easier to configure.

 

Larry N.

As Skylab would say:

Remember: Aviation is NOT an exact Science!

Link to comment
Share on other sites

(Sorry for any delay responding - I was quite occupied by the release of part II of our movie project on Sunday...)

 

 

What's the secret? Why does everything load so effortlessly?

 

I'm actually surprised at your question - I wouldn't have described FG in such terms myself, and in fact some two years ago I wrote a long comment on the developer's list how the lack of LOD for the terrain mesh is one of our biggest problems (of course, now loading terrain from SSD into the 8GB of memory of a high-performance GPU, it ceased to be an issue again...)

 

But the fact remains that it is conceptually not a 'good' scheme - it just loads the terrain mesh when requested (i.e. at a distance 20% larger than current visibility). Though I believe the loading queue for the 3d renderer is of the few things that can utilize multiple cpus - I'm not sure that's the default setting though. So it seems to me others are just doing worse (?)

 

You can easily (dependent on your systems specs) make the terrain loading process visible - certainly something like the X-15 climbs fast enough such that when requesting 600 km arc-top visibility, you see the circle of terrain mesh expanding around you. Also, particularly 'heavy' terrain (lots of vegetation requested, or the OSM2CIty real building coverage overlay) often makes this happen at lower visibilities.

 

But for ~150 km visibility, the bare terrain mesh is reasonably simple, so it loads fast (especially from an SSD). Terrain textures are utilized for whole regions, so usually they need to be loaded once at startup, remain resident in GPU memory and are by and large just used when a new chunk of mesh is loaded, it's rare they need to be loaded.

 

The texture resolution can be fairly coarse, because the actually visible texture at high rendering quality is a composite of six different textures and procedural noise, some of which generate details as small as a few cm - in terms of GPU memory and loading times, that's rather efficient.

 

Overlay objects (lights on the roads, buildings, vegetation,...) are loaded at 'their' LOD range (which the user can configure) - they're not actually visible out to infinity, but often they're introduced in up to 10 LOD groups, so the whole chunk never pops at once, there's just gradually 'more' stuff appearing when you get closer. That's why nothing seems to pop.

 

With shadows I'm not sure which ones you mean - cloud shadows only go out to 30 km or so (usually in reality they're not visible much farther either), vegetation shadows go out as far as the vegetation LOD range because they're just extra quads added to a tree.

 

 

And related to multi core, when did FlightGear see the light of day.

 

There's two schools of thoughts among the developers. Some believe in HLA and distributing the computation work, others (like myself) point out that rendering is usually 95% of the work anyway, so whether you thread out the remaining 5% doesn't really matter so much and any gain you may have might well be eaten by the overhead you need to keep threads in sync.

 

So I believe currently some obvious things can be threaded out of the main loop (and it's also possible to do that in scripting space), but FG is a far cry from having efficient multicore utilization.

 

(I understand X-plane fills the other cores by running actual flight dynamics for Ai-traffic - which gives you an impression of a fully-utilized computer, but probably doesn't overly change the experience for the user so much...)

 

So while I'm on the one hand happy about your observations, I can't really honestly say I share the sentiment - in my view there's much that could be improved in how FG handles the terrain.

 

Edit: I'm not quite sure why the forum software added links to 'terrain mesh' - I hope that is as it should be...

Link to comment
Share on other sites

Wow, thanks for all that info both!

A lot to take in, It will take me some time to digest it all.

 

I think I mostly flew the default Cessna back then. So I didn't fly at high altitude much.

I did do a few flights in the 737. But had some issues with clouds.

It was just a brief trial. Not on an SSD. I had an ancient 80Gb IDE disk. In a usb enclosure.

 

Here's a thread I made back when I tried flightgear. I managed to make some screenshots back then.

https://www.flightsim.com/vbfs/showthread.php?297532-My-first-flightGear-shots

 

I'll read your posts a bit closer later today. Two small kids visiting, so I have my hands full at the moment.

 

Thank you both.

il.

[sIGPIC][/sIGPIC]
Link to comment
Share on other sites

Edit: I'm not quite sure why the forum software added links to 'terrain mesh' - I hope that is as it should be...

It's "normal" for this forum. Several years ago it started adding links for a number of things. Perhaps Nels or Rick would elaborate at some point.

 

Larry N.

As Skylab would say:

Remember: Aviation is NOT an exact Science!

Link to comment
Share on other sites

  • Founder
It's "normal" for this forum. Several years ago it started adding links for a number of things. Perhaps Nels or Rick would elaborate at some point.

 

If you click on the links you'll see why. It's essentially a low key form of advertising. We've identified common terms for which there are products available and created links for them.

 

We use the links for others things too. For example, if you mention the name of certain people you'll see a link created to an article we published about them.

Link to comment
Share on other sites

I think there's a few things that made it like a breath of fresh air:

highrise buildings througout whole visibility range. Not just close to aircraft. I think I even say cranes in the distance at a loading dock in a harbour.

Also, city ground textures where no 3d buildings showed looked more like buildings then in fsx. In fsx, with low amount of 3d autogen the city looks like brown mud. In flightgear it took a very long time to realise that not all was 3d!!

Many more different shades of colour in scenery. And becoming "vague colours" in distance as in real life. In fsx colours in distance are same as close by.

Shadows I meant were of scenery. But shadows of clouds was also a great progress over fsx.

I also loved the lighting. Sun colours I mean. Many shades of yellor and orange.

And sun shining through clouds looked good too.

Clouds were good anyway. Not off/on like fsx. But all variations ranging from whispy ground fog to thick impenetrable clouds.

I pendads the night looked good too. Lights lining roads, wow! I think stars and moon looked good too.

 

All that was without stutters of any kind. And with very little setting up on my side. I basically installed it, loaded the first plane (cessna 172), got the joystick going, and there it all was.

Never looked for a mesh radius setting. Just flew.

 

The reason I stopped playing it back then was because of issues with the nvidia card in linux. And because of finding it difficult to manage two systems at once. (linux /win7). Also, that old 80g ide drive in it's enclosure got extremely hot. And was 90% full after the install. I decided I would try again on windows later.

 

Btw, scenery showing beyond range like you said, sound great. Not sure, as I never tried that menu. But I will look for that once I get around to installing again.

 

Thanks again Thorsten.

[sIGPIC][/sIGPIC]
Link to comment
Share on other sites

highrise buildings througout whole visibility range.

 

Actually, if your system manages, there's the OSM2City project. You usually have to install it separately (we haven't solved how to distribute the data autoamagically) - but for many regions in the world, you get detailed cities automatically assembled building by building from OpenStreetMap data.

 

If you enjoy flying over cities, you'll love that one (me, I'm more the outback virtual pilot exploring the wilderness, so I haven;t done this much...)

Link to comment
Share on other sites

Looks sweet! ( with the tiny pic I see on this phone. Will look a bit closer from pc later.)

 

i looked it up online briefly and found OSM is Open Street Map. (for placement)

Also found there that this is available for Windows as well.

 

Having some issues with fsx at the moment. On end in right there yet, but once that's fixed next thing on the list will be larger ssd and flightgear. (and depending on performance this OSM thing as well perhaps.)

 

(will be using FG on Win7 then.)

 

Happy Flights!:)

[sIGPIC][/sIGPIC]
Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...