Thank you @CapitaineCaverne very nice!
I think it's a cool trick indeed.
Darkhog: that's a legit question!
Short answer would be: very far from full fledged modern 3D engines
(I guess they can go fine in the order of tens of thousands of triangles "in sight"),
but I think good enough for moderately-low-poly games, depending on the "genre" (>> how many polys you need to have always visible).
The actual number of polys is determined by different things:
mainly the number of objects, render distance and framerate,
some objects are more intensive than others, moving objects are more intensive than static ones.
Generally speaking, 1 mesh (quad face or triangle) or 1 primitive (in P3D 2.1 > box, sphere, cylinder) = 1 object.
At 60 fps on a decent machine, a safe number is about 250 triangles.
If you can use "primitives", that gets a lot better (1 cube= 12 triangles >>> you can have the equivalent of about 3000 triangles).
Capping the game at 30 fps can at least double those figures.
Consider P3D is using a very old shader model (dates back to 2006) and not using vertex shaders (not supported in Fusion).
Also, due to the fact we can't multipass or directly send a (long enough) list of vertices/primitives to it,
each object is processed singularly, and P3D has to additionally compute its "2D" bounding box to minimize impact, this easily results in pixels processed multiple times,
whereas having more freedom, 3D engines can give a single pass to each pixel in the screen and iterate the list of render candidates for that position, thus drawing a single pixel only once.
That's why I'm thinking Fusion3 could make a huge difference, we already know most of things above will be solved
(+ improved runtime performance, which is currently another quite relevant bottleneck)
I think the solution I've come up with for triangles is actually shorter (depending on some factors) than the ubiquitous Moller-Trumbore algorithm,
and I've made all kind of optimizations I could think of, so I'm pretty curious to see this stuff running with all of the modern tricks available
Fog: you can choose how much the fog "come close" starting from farther render distance,
i.e. if you have a render distance of 2000, and fogging depth to 300, it means fog will start at 1700 and things will go completely transparent at 2000