Thursday, November 19, 2009

Cake and Pie

On this week's FSBreak, Holger Sandmann described MSFS's scenery system as a "pie" made of layers. This made me think: well, in that case X-Plane must be a cake. It turns out X-Plane has been a cake for a while.

If this discussion seems tasty but confusing, let me clarify. The issue is: which parts of a scenery system are combined when the simulator runs, and which parts must be combined ("baked") in advance.

With MSFS, you can separately install a new mesh, new land class data, new coastlines, and new orthophotos. In X-Plane, all four of those elements must be pre-combined into a single "base mesh". In X-Plane, you have to bake those elements.

This means that you can't make "just" an add-on mesh for X-Plane. You have to create an add-on that addresses elevation and land class and orthophotos and water. Third party authors are quite often not very happy about this - I don't know how many times I've seen "can I replace just the elevation and not the water" posted in forums.

But the Orbx team brings up the exact reason why I thought (five years ago when designing DSF) that requiring all of the elements would be okay: often if you replace one part of the scenery and not another, the results are inconsistent. If you move a coastline but don't adjust the mesh, you may have water climbing up a mountain. If you move a mountain but don't adjust the landuse, you may have a farm at a 45 degree angle.

Cake and Pie

Not everything in X-Plane is pre-baked. As of X-Plane 940, you must pre-bake:
  • Land class
  • Wide-scale orthophotos
  • Terrain Mesh
  • Coastlines
You can separately replace:
  • All art assets (E.g. change or add types of buildings, replace the look of a given land class for an area).
  • All 3-d (forests, buildings, airports, roads*).
  • Small area orthophotos
Orthophotos are on the list twice. This is because X-Plane has two orthophoto technologies. Draped polygons (.pol files) can be overlaid anywhere, but they degrade performance if used over too large of an area. They are really meant for airport surface areas and other "detail" work. Orthophotos terrain (.ter files) can be used over huge areas with no performance problem, but must be baked.

* Roads are sort of a special case in X-Plane 9: you can replace them with an overlay, but the replacement roads must be "shaped" to the underlying terrain mesh, which means they won't work well if a custom mesh is installed. This limitation in the road code dates back to X-Plane 8, when most of us had only one CPU - pre-conforming the road mesh to the terrain shape saved load time.

6 comments:

naoliv said...

Ben, about the process described at http://xplanescenery.blogspot.com/2007/05/you-cant-unbake-cake.html, how long it takes to generate all the DSF data (grass under the airport, roads, buildings, etc) for all the world?

Benjamin Supnik said...

Do you mean: how long does it take to create the 18,000 DSFs for the world, once all of the source data is ready?

If so...it took 3 days on 3 computers last time. I am hoping for less than 3 days on one (8 core) computer this time but we will see.

Gene said...

OMG! There's new DSFs coming? Would it be possible for the community to suggest certain airports where higher poly counts are needed for reasonable use. For example, TFFJ--but not just the airport. The downwind approach, through the mountains with a 120 degree turn to base as well.

Benjamin Supnik said...

LR is not going to be recutting the global scenery during the v9 run.

olexia said...

Ben, is there some additional documentation for including geotiff widescale orthophotos in my dsf cake? Think I understand the meshtool latest beta readme re: inclusion of line in meshscript.txt, but what do I need to do to prepare the ingredient. Won't show up in xplane when I just reference the filename in the meshscript. Do I need .ter files as well?

Benjamin Supnik said...

Yes - you need valid .ter files and the image needs to be converted into an x-plane-readable format (png or DDS) nad referenced by the ter file.