Scenegraph optimizations

From FlightGear wiki
Revision as of 11:01, 3 September 2020 by Hooray (talk | contribs) (→‎Status)
Jump to navigation Jump to search
This article is a stub. You can help the wiki by expanding it.

This page is intended to gather comments related to optimizing our scene graph, which is a long-standing idea to address the issue of FlightGear being CPU bound for many end users.

Status

RFC / 09/2020


Flattening Transforms

To flatten the LOD quadtrees and transforms of the tiles. Each tile will get some top-level LOD groups for all objects (shared and static). I'm hoping in combination with the LOD-scale function in OSG, this will mean we can automatically drop random tress / building and STG objects to keep frame-rate up. (as an optional mode of course!)[1]

The trick is to minimize the number of LOD nodes introduced into the scene graph while avoiding popping effects.[2]

As already discussed this is good to do. But some of them are critical to stay like the are or at least similar. The first one that positions objects with respect to the earth centered coordinate system for precision reasons.

Also these coordinate systems coudl for drawing reasons aligned in any direction. But as long as we do simulations using the same tree and geometry alignments that we do for draw this still interferes with the bounding volumes we have for ground intersections. And this axis aligned bounding box implementation gains a lot by having the boxes horizontally aligned. Todays transforms are done so that huger things are aligned with the horizont which serves this purpose.[3]

References

References