FSX Scenery loading rules

#1
Ok - so what are the rules/conditions/parameters for when a high-res default scenery (higher LODs) "kicks" in? I've tried "upping" LOD_RADIUS from 4.5 to something higher, only to get an intermittent crash (might be my hardware).

However, let me qualify this first: I am working on an orbital/spaceflight engine for FSX, using SimConnect. My "aircraft" fly at orbital altitudes, around 1.5 to 3 MILLION feet (above 400 km). The orbit is fixed and it goes over the same area over and over again.

At that altitude, the scenery which is visible (and it sometimes includes a whole continent) sometimes loads high res LOD (not sure which LOD but it is surprisingly sharp), and sometimes, it stays at low LODs and extremely blurry. Esentially, it seems to be a hit and miss on LOD loading... even if I'm directly below the area. The spacecraft travels, obviously, extremely fast for FSX's standards (naturally, orbital speeds) so I was guessing that perhaps the graphics engine doesn't have the time to react to the speed and load appropriate LOD... but then, why does it sometimes work? Does anyone have an understanding on how this is governed, and if there is a way to force high LOD display?

Misho
 

HolgerSandmann

Resource contributor
#2
Hi Misho,

IMO the best document for understanding the CLOD (= continuous LOD) model of the FS terrain engine remains Joachim Buhre's 500+ pages opus magnum from 8 years ago; see http://www.fsdeveloper.com/forum/threads/landclass-and-terrain-documentation-out.3151/ . It's in German but with the help of an auto-translator and its many images and charts one should be able to extract the gist of it. While written for FS2004 the FSX code is very similar and thus most parts of the document remain applicable. There used to be an html version available but I'm not sure that's still the case; the download link for the pdf version still works: http://www.germany-vfr.de/Jobia/lcdokupdf/lcdokupdf.zip

Cheers, Holger
 

MOUSY

Resource contributor
#3
One thing that may help you to know is that (I believe) FSX loads BGL files in alphabetical order. So if you do want higher-res scenery to show up over lower-res scenery, ensure that the file name is first in the list alphabetically.
 
#4
It would be interesting to see further clarification on this topic posted in the future by Adam Szofran (in addition to updated perspectives shared by Jobia and/or Holger, Arno, Richard Ludowise, and others) ...which explains how the LOD / Quad Matrix Grid system works with regard to ALTITUDE on the Z-axis of the MSFS "spheroid / curved Earth" world model.

http://www.microsoft.com/products/games/fsinsider/developers/pages/globalterrain.aspx


One might wonder how the LOD and terrain texture MIP display system works in light of the expanded 3D world size in FSX: :idea:

"The maximum altitude in the game has been increased by 1,000 times over Flight Simulator 2004, to 100,000,000 ft. Therefore, FSX maximum altitude is approximately 2.39 times the diameter of the Earth at the equator."

http://en.wikipedia.org/wiki/Microsoft_Flight_Simulator_X



One might also wonder whether the LOD / Quad Matrix Grid system works with regard to ALTITUDE on the Z-axis of the MSFS "spheroid / curved Earth" world model, such that what we usually think of as 2D QMID Grid "quads" ...may actually be 3D "cuboids" which: :scratchch

* become larger with altitude relative to the center of the Earth, with the "Geoid" of the Earth's surface being internally computed as "intercepts" by the MSFS compilers for purposes of terrain scenery placement

...and/or which:

* are in a multi-layer matrix configuration of quad "cuboids" stacked on top of each other between the center of the Earth and the outer perimeter extent of the maximum altitude of the MSFS 3D world model


One might additionally wonder how the 2D / 3D terrain scenery content texture layer numbering / drawing system works at altitudes far above the Earth, and IMHO this begs a few more questions:

* does all "terrain" have to intercept the computed surface of the Earth's Geoid in order to work at all, much less to work properly / predictably at very high altitudes ?

* does all scenery intended to be "ground / floor" surfaces at very high altitudes need to be created as 3D objects using "attached hardened platform attributes" ...because one cannot use the terrain surface and texturing subsystem of the FS rendering system ?

* does placement of "static" 2D and 3D SimObject scenery content at very high altitudes require much greater precision in the coordinates used with many more decimal places after the decimal point (ex: 64-bit floating point) ?

* does placement / control of dynamic or "moving" 2D and 3D SimObjects via SimConnect at very high altitudes require much greater precision in the coordinates used with many more decimal places after the decimal point (ex: 64-bit floating point) ?


Indeed, even in the MSFS world, space is "The Final Frontier" ! :)

GaryGB
 
Last edited:
#5
Thanks, everyone, great points to ponder. Interestingly, I got notified only for the first reply... (Arno?)

GaryGB, that's a good point re: precision at high altitudes. I think that at 400km, where the most space traffic resides, the altitude is relatively small compared to the earth radius so the precision can still be adequate, but once I get into geostationary orbits, several times earth radius, I might run into precision problems. This might give me problems when I want to stage spacecraft components or dock to high-orbit structures... as in, the distance increments between different objects, due to the low angular precision, might be in 10's or 100s of meters...ouch!
 
Top